客户端开发设计总结

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

1 基础设施

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

基础框架

2 交互

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

interaction

3 硬件设备

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

硬件设备

4 程序设计

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

design

5 后勤

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

logistics

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

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

目录
相关文章
|
7月前
|
存储 XML 数据库
深入地了解Android应用开发的流程和技术
深入地了解Android应用开发的流程和技术
53 0
|
8月前
|
机器学习/深度学习 搜索推荐 Android开发
【专栏】构建高效安卓用户界面的指南,分为设计原则和技巧两部分
【4月更文挑战第27天】本文介绍了构建高效安卓用户界面的指南,分为设计原则和技巧两部分。设计原则包括一致性、简洁性和可访问性,强调遵循安卓系统规范,保持界面简洁,考虑不同用户需求。技巧方面,建议合理布局、优化图标和图片、运用动画效果、提供个性化设置及优化性能。随着技术发展,未来安卓应用开发将融合更多智能化和个性化元素,开发者需持续学习新技术,提升用户体验。
113 4
|
Java 定位技术 图形学
Unity客户端开发优化要点
Unity客户端开发优化要点
|
新零售 人工智能 大数据
即时通讯丨即时聊天开发案例,即时通讯丨即时聊天系统开发功能逻辑/详细案例/逻辑项目/源码版
什么是零售?   零售在经济活动中是实现商品销售的最后环节,承担的主要功能就是满足消费者的需求,提供消费者需要的商品。产品在生产者手中或批发者手中,只是一种观念上的使用价值,只有进入消费领域才能更具备现实维度的使用价值,而零售就是将商品从流通领域进入消费领域的最后一个环节。
|
测试技术 开发工具 git
规范语音聊天app开发流程,实现高效开发轻而易举
规范语音聊天app开发流程,实现高效开发轻而易举
|
前端开发 索引
小程序开发中注意的细节
1.绑定变量的语法,各不相同。 //绑定style中的height变量 //绑定class中的变量 //事件绑定是不使用双花括号,事件中如果传递的值是变量却需要用双花括号 1) { ...
1244 0
|
Web App开发 关系型数据库 测试技术