客户端开发设计总结

简介: 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

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

目录
相关文章
|
存储 自然语言处理 NoSQL
Text2Cypher:大语言模型驱动的图查询生成
本文的主题是我们认为这个 LLM+ 领域最唾手可得、最容易摘取的果实,Text2Cypher:自然语言生成图查询。输入自然语言,生成相对应的图查询语句,甚至可以直接返回该语句执行结果。
686 0
|
人工智能 智能硬件
如何在一周内摸清一个行业:ChatGPT + 麦肯锡关键词分析法
如何在一周内摸清一个行业:ChatGPT + 麦肯锡关键词分析法
2318 0
如何在一周内摸清一个行业:ChatGPT + 麦肯锡关键词分析法
|
SQL 定位技术 Android开发
分享119个Android手机应用源代码总有一个是你想要的
分享119个Android手机应用源代码总有一个是你想要的
758 2
|
Web App开发 机器学习/深度学习 人工智能
使用魔搭开发自己的语音AI:从入门到精通
语音AI是最早从实验室走向应用的AI技术,其发展史就是不断创新、解锁应用的历史,从1995年 Dragon Dictate的桌面孤立词语音识别,到2011年苹果的手机语音助手SIRI,再到当下百花齐放的各种智能语音应用。
1264 41
使用魔搭开发自己的语音AI:从入门到精通
|
弹性计算 安全 Java
怎样将Web项目部署到阿里云服务器-5个步骤
怎样将Web项目部署到阿里云服务器-5个步骤
怎样将Web项目部署到阿里云服务器-5个步骤
|
XML 网络协议 Java
Android最新面经,面试题,附答案,赶紧收藏起来吧
Android最新面经,面试题,附答案,赶紧收藏起来吧
|
自然语言处理 语音技术
STM32工程---非特定语音识别模块使用---语音播报+语音识别
STM32工程---非特定语音识别模块使用---语音播报+语音识别
333 0
|
存储 算法 搜索推荐
数据结构 | 堆的向上调整和向下调整算法【奇妙的堆排序】
详细介绍有关数据结构【堆】的向上调整算法和向上调整算法,内附分布式分析算法图
458 0
数据结构 | 堆的向上调整和向下调整算法【奇妙的堆排序】
|
JavaScript 定位技术
纯JS实现贪吃蛇游戏 —— 可能是全网代码最优雅的实现
在网上看了许多的贪吃蛇这类游戏,效果基本还可以,功能也实现了,不过看代码大都是冗余或杂乱不堪的,难以维护。 所以花了点时间,对整个游戏重构了一下,也算是站在各位前辈的肩膀上做的优化,希望对大家有帮助。
1586 0
纯JS实现贪吃蛇游戏 —— 可能是全网代码最优雅的实现