客户端开发设计总结

1 基础设施

程序最基本的处理就是数据IO以及为了并行计算所做的操作,它们通常会作为程序的底层框架,供上层使用。

2 交互

从PC到现在的移动设备还有VR,人机交互中的输入设备在不断自然化,可是展示界面的元素仍然还是这几种:静态文本、按钮、列表、输入框、选择菜单、进度提示、滚动条、标签页。每种UI框架都提供这些基本组件,可以说掌握它们就等于对这个框架入门了。高级的交互会跨越窗口、跨越程序,并能更智能化地响应输入。

3 硬件设备

PC上的硬件大都需要通过统一的接口来操作,开发者需要做好繁复的参数设置才能正确使用。移动系统则对很多硬件做了封装,为开发者提供定制的简单API。有时候开发者并不需要直接操控硬件,但需要获取硬件的信息,根据可用的资源数来执行不同的策略。

4 程序设计

现在的程序流行快速迭代,没过几天就发布一个新版本。新的app还要越快上线越好,尽早占据制高点。如此匆忙的节奏,让传统软件的架构设计退居二线,程序往往都是技术债务多到影响开发速度或新功能才执行大的重构优化。不过我们至少可以提前根据功能分出一些模块,让后面的重构稍微轻松些。

5 后勤

如果说需求开发是前线,那么产品经理无暇关心的东西都算后勤了。这部分工作需要技术经理主导来开展。对程序员来说这部分工作可能没那么刺激,但却是深入学习系统和各种工具原理的好机会。

6 其它

关于编程语言、开发工具、操作系统的总结在这:
http://blog.csdn.net/hursing/article/details/45603483

7 一些感想

客户端开发有界面,能图形化反馈编程结果,所以比服务器端开发更“刺激”一些。因为和操作系统紧密结合,知识具有针对性,所以即使是做UI也比做前端的难度大些。

现在做移动开发其实和当年做Windows程序没有差别,只是系统比较新且更新快,文档多数是英文的,又少有中文图书积累,所以门槛稍高。再过几年当供过于求,应该会回归编程平台这一基础属性,不再带有什么光环。

客户端开发的尽头就是熟悉了所有的API。然而API在演变,还得继续跟随。Windows的API多到没人能完全记住或用过,但三年前的iOS是可以的,现在也不行了,苹果在不断地添加。看Android,到现在已经演化了24个版本,很难去跟踪了。

无论哪种系统,不断有API被标记为Deprecated,也有部分在新操作系统上不可用,需要在代码里判断操作系统版本或SDK的版本。这些历史,对新手来说直接就是不知道。随着人员也跟着更新换代,更多人就忘了,于是文档成了这种混乱的救命稻草,会查文档真的非常重要。

如果让我编制一个学习路径,应该是这样的:

  1. 编程语言,代码规范,格式化工具
  2. IDE环境,快捷键
  3. UI框架,学会查SDK文档,掌握文档的整体结构
  4. 网络、磁盘等IO
  5. 更多系统SDK的模块
  6. 调试技巧
  7. 工程文件组织,命令行操作
  8. 流行的第三方库
  9. 打包,自动化
  10. 测试方法、工具、自动化
  11. 优化方法
  12. 学习系统原理
  13. 反编译,hack
  14. 发布渠道和流程
    • 官方:Google Play、Apple Store
    • 厂商:小米、华为、魅族、vivo、oppo……
    • 第三方商店: 豌豆荚、PP助手、安卓市场……
    • 渠道:友盟+……
  15. 写博客总结。像这样 http://blog.csdn.net/hursing

有空再写写调试和优化总结吧。

时间: 2025-01-29 16:48:41

客户端开发设计总结的相关文章

开发设计

二. 设计阶段 1. 客户端进行需求拆分,相关开发和服务器同学讨论确定数据接口,并周知QA 2. 开发根据需求进行程序设计,评估实现复杂度,风险点,估计开发周期 3. 根据与服务器开发沟通,确定各模块开发所需时间,汇总告知PM同学 4. 客户端开发和设计人员确定设计图的分辨率,沟通各功能页面出设计图的优先级(包括标注图,对于切图开发和设计沟通协商) 三. 开发阶段 1. 高质量完成程序开发,要求有必要的注释查看编码规范 2. 开发中遇到突发问题(比如技术难题,风险评估不足等),可能影响开发周期的

客户端交互设计:手机平台客户端UI设计

文章描述:客户端UI设计之手机平台之争. 1. 当前手机平台的争锋     为了占领移动互联网的制高点,当前的几大IT巨头都以手机平台为基础展开争夺.占领移动平台就是占领了用户的移动桌面,也就为自身的移动服务争取到了最佳位置.       微软公司推出windows phone 7, 曝光了windows 8:苹果公司也开了iOS 5的发布会:谷歌的Android 3.0的发布,Android 2.4 的若隐若现等等:大家都在努力提升平台体验.另外,惠普的Web OS.黑莓公司也都在研制和发布新

一种Android客户端架构设计分享

前言:技术发展日新月异,业界各种Android客户端架构设计,五花八门,但我们不能简单地说哪种架构更好,因为脱离业务谈架构是没有任何意义的,适合业务的才是好架构.而架构也不是一成不变的,随着业务的发展,也许当初设计的架构已不足以支撑目前的业务,那么就需要改变之前的架构.接下来将分享下我们Android客户端的架构设计,在App的某个业务发展阶段或许有一些参考意义. 分层化与模块化 分层化与模块化应该是任何软件开发的共识. 分层化 在Android应用开发中通常可以分为如下几层:  SDK层:主要

Artsy 工程师总结的一些 Cocoa 开发设计误区

本文讲的是Artsy 工程师总结的一些 Cocoa 开发设计误区, 在开发 Artsy 这款 iOS app 的时候,我们尝试了一些设计模式.现在我想要谈谈现在我们有的和已经被移除的设计模式.我不会面面俱到,毕竟已经历了那么长时间,有那么多人参与过.我想从更高的层面去审视,关注那些总体上更重要的东西. 很重要的一点需要先声明下,我不相信有完美的代码,或者说我喜欢重写代码.我们可以发现一个坏的模式而什么都不做.毕竟我们有 app 需要完成,而不可能纯粹为了技术,追求更完美的代码库. 用 NSNot

客户端交互设计适配之——屏幕大小

随着各个手机操作系统的应用平台的上线,几乎所有的互联网应用都在往手机上迁移.然而手机与PC 不一样,PC经过了多年的发展,在设计上形成了很多不成文的规则,如网页的宽度都在960px左右[当然,由于整体的电脑屏幕往大尺寸及高分辨发展,除了背景宽屏自适应外,不少网页也正朝着更宽的方向上发展].当前的手机种类繁多,手机屏幕的大小.比例各异,并且手机的屏幕本身就小,因此既要考虑应用在不同屏幕大小上的适配,又要保持其一致性,同时还要提高每个手机屏幕的使用效率,这就存在着很多的矛盾点. 在客户端的设计过程中

web开发设计人员不可不用的在线web工具和应用

大家可能还记得在过去的文章我们我们曾经介绍我们收集的前端开发人员必备的工具,脚本和资源,在今天的这篇文章中,我们将继续推荐给大家一组我们精挑细选的web开发设计必备的在线工具应用.相信会在web开发和设计的过程中给你带来方便和快捷! 前端开发相关 jsfiddle jsfiddle是老牌的在线调试和分享代码的网站,它可以帮助你在线调试javascript/css/html代码, 并且方便的发布到社区,论坛或者社交媒体上与朋友们分享或者提问.整合了很多的不同的类库供大家选择. 类似的工具还有jsb

前端设计工作经验分享:前端开发设计

文章描述:前端的横向发展. 今天的交流会上,提到了"横向发展"这个词,意指推荐大家学习与前端打交道的相关技术,如:php 其实"前端"这个词,是2005年才逐渐在国内兴起的.那之前,国内的网站,通常是TABLE+ASP搞定一切.做这份工作的人,通称"程序员". 开发设计-"> 那是个孤军奋战就能赢得天下的年代.一个网站丢过来,一个人就全拿了:"写需求==>出设计稿==>做模板==>写程序==>运营

游戏开发设计要注意哪些问题

  游戏开发设计必须注意哪些问题?游戏开发设计的黄金法则!未来是一个游戏的时代,所以现在很多人都开始从事游戏开发这方面的工作,可是在当下的时代新的游戏不断的被开发出来,可是有多少游戏能够真的吸引到玩家呢,究竟其中存在什么问题,下面我们一起来看一下前辈们总结出的相关经验吧. 1.避免游戏登录时的频繁的点击 在新游戏出来是许多的玩家都想进去看下游戏的可玩程度,之前大家登录是却需要点击好多的点击,大家的激情就被你那频繁的点击给抹掉一半了,等到进去是发下游戏不是很理想时,基本上激情给抹灭的差不多了.一般

web开发设计必备 在线web工具网站和应用

  开发设计必备 在线web工具网站和应用-web前端开发必备软件"> 大家可能还记得在过去的文章我们我们曾经介绍我们收集的前端开发人员必备的工具,脚本和资源,在今天的这篇文章中,我们将继续推荐给大家一组我们精挑细选的web开发设计必备的在线工具应用.相信会在web开发和设计的过程中给你带来方便和快捷! 前端开发相关 jsfiddle jsfiddle是老牌的在线调试和分享代码的网站,它可以帮助你在线调试javascript/css/html代码, 并且方便的发布到社区,论坛或者社交媒体上