客户端开发设计总结

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

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

目录
相关文章
|
5月前
|
开发框架 前端开发 Android开发
Flutter 与原生模块(Android 和 iOS)之间的通信机制,包括方法调用、事件传递等,分析了通信的必要性、主要方式、数据传递、性能优化及错误处理,并通过实际案例展示了其应用效果,展望了未来的发展趋势
本文深入探讨了 Flutter 与原生模块(Android 和 iOS)之间的通信机制,包括方法调用、事件传递等,分析了通信的必要性、主要方式、数据传递、性能优化及错误处理,并通过实际案例展示了其应用效果,展望了未来的发展趋势。这对于实现高效的跨平台移动应用开发具有重要指导意义。
625 4
|
Web App开发 前端开发 JavaScript
Dapp技术开发全解析丨附DAPP源码的逻辑实例解析
智能合约是Dapp的核心组成部分,它是一种基于区块链技术的自动化合约,可以执行预定义的操作和条件。智能合约的执行是去中心化的,可以在区块链上自动执行,无需中间方参与。智能合约的开发需要熟悉Solidity等编程语言,同时需要了解智能合约的安全性问题。
|
1月前
|
缓存 监控 开发者
HarmonyOS @Reusable 装饰器自学指南:高性能组件复用实战指南
在 HarmonyOS 开发中,组件性能优化至关重要。本文聚焦 @Reusable 装饰器的组件复用机制,从核心原理到实战场景深入解析。通过列表性能优化、复杂布局动态更新等案例,结合生命周期管理与状态策略,提供系统化学习路径。同时,针对常见问题提出解决方案,并给出架构设计建议。掌握 @Reusable 不仅能提升性能(实测 30%-50%),还能优化开发流程。适合开发者进阶参考!
59 0
|
8月前
|
移动开发 前端开发 weex
Android项目架构设计问题之模块化后调用式通信如何解决
Android项目架构设计问题之模块化后调用式通信如何解决
49 0
|
8月前
|
Android开发
Android项目架构设计问题之C与B通信如何解决
Android项目架构设计问题之C与B通信如何解决
44 0
|
Java 定位技术 图形学
Unity客户端开发优化要点
Unity客户端开发优化要点
|
存储 JSON API
带你掌握开发者必备的WebStorageAPI,客户端案例细讲
带你掌握开发者必备的WebStorageAPI,客户端案例细讲
|
测试技术 开发工具 数据库
《移动互联网技术》第十一章 Android应用工程案例: 掌握Android系统的需求分析和设计以及 Android项目的程序测试和版本管理方法
《移动互联网技术》第十一章 Android应用工程案例: 掌握Android系统的需求分析和设计以及 Android项目的程序测试和版本管理方法
179 0
|
移动开发 小程序 前端开发
前端概念之移动端/小程序
随着智能手机的普及,移动端已经成为了人们最重要的使用场景之一。在这个场景下,前端开发也面临着各种挑战,如不同设备的屏幕尺寸、不同平台的兼容性等。为了解决这些问题,多端/跨端/融合的移动端/小程序的概念应运而生。 多端/跨端/融合 在移动端开发中,我们常常需要考虑到不同平台的适配问题,如iOS、Android等。而多端/跨端/融合的思路就是将这些平台的问题合并在一起,以便更好地解决它们。具体来说,多端/跨端/融合的移动端/小程序是指能够在多个平台上运行的应用程序,如H5、小程序、快应用等。
238 0
|
SQL 缓存 监控
纯干货:客户端代码框架设计!
纯干货:客户端代码框架设计!
纯干货:客户端代码框架设计!
下一篇
oss创建bucket