用户68736147
开发app需要一个完整的团队,其中至少要包括android开发、IOS开发、html5开发、服务端开发、美术和测试,这还仅仅是开发团队的配置,正常还应该有产品经理、主策、视觉工程师和交互工程师。
完整的团队配置是保证app质量和按期交付的关键,互联网产品通常对用户体验都比较看重,所以一般公司在进行app开发时都有一个至少5人的小团队。到目前为止我还没有遇到一个人完成所有任务的情况,但是存在只有一个程序员做android端开发或IOS端开发的情况,这种情况也大多出现在给企业内部做定制产品时。下面就说一下这种一个人完成某一部分开发的情况,如何在这种情况下持续提高。
手机端开发本身难度不大
不管是android端开发还是IOS端开发,整体难度都不大,因为就是一个客户端的开发过程。大部分的业务处理都在后端进行,前端的主要任务是做数据输入和数据展示。
手机端开发分为原生开发、非原生开发、混合开发三种情况,android开发采用java语言,IOS开发采用OC或者Swift语言,混合开发会结合html5技术。
做手机端开发的整体提升空间也还可以,使用的技术大部分都是前端的内容以及一些框架的熟悉和使用。程序员的编程能力基本上会跟着用户走,用户量越大、使用面越广、功能越多则对产品的要求也越高。所以要提升编程能力一方面是跟着需求走,另一方面是主动学习,定期关注android和ios的开发社区,跟全球的程序员一起交流,了解最新的开发技术。
服务端开发任务量较大
app开发的大量任务集中在后端,用户的所有请求都发送到服务端进行处理,处理结束后把数据在手机端呈现出来,所以服务端是开发的重点和难点,需要掌握的知识也比较多。
目前服务端采用java语言比较多,当然也可以使用python等语言。整体处理流程遵循以下步骤:
- 接收手机端请求并验证数据。
- 判断用户请求目的,调用相应的业务模块进行业务处理。
- 生产回应并返回数据。
这个过程中比较复杂的过程集中在第二步,也就是导航这个步骤,这个步骤的任务处理从控制器开始,接着由控制器来调用业务模块(有可能是第三方框架)进行具体的业务处理。整个系统的压力也集中在这个步骤上,所以针对这个部分的优化操作也比较复杂。
常见的处理方案是池化、共享业务组件,也有把任务发送到第三方机构(数据中心)来完成具体的处理过程,比如人脸识别、身份验证、语音通信等等。通过对这部分内容的优化处理会提高程序员的业务能力,也是一个比较常见的提升通道。
我做移动互联也有一段时间了,后续会在头条上撰写关于移动互联开发的文章,大家可以关注我,一起交流学习。
IT人刘俊明
我觉得自己设计的app的话,把遇到的所有问题都解决了的,自然能力就提高了,不是吗。
还可以通过github代码阅读与模仿和学习,阅读别人优秀的源码挺好的,看别人代码,优秀的模式,借鉴,重写这也是种方法!!!
同时必须多看,多写,多思考总结自己知识漏洞!。
这个外国人他在不到3周的时间里,他却成功地开发出了自己的第一款App——Photo Date的。除了编程,从idea、设计到成功上架App Store的一切工作都是Ben一人独立完成的的,嘿嘿。
个人学习总结嘿嘿:
1、你可以把你脑子里的点子都尽可能复刻出来的。
2、尝试写自己的轮子的。
3、尝试重写一些app的界面,实现和他一样的效果,做出不同的效果。
所以不管怎么说看十遍,不如写一遍。解决问题的过程记录下来,久而久之的,再遇到问题也就得心应手,好的开源项目fork下来,阅读调试是非常值得的的。
程序员应该有扎实的基础的。数据结构、离散数学、编译原理的的,这些是所有计算机科学的基础的,所以如果不掌握他们,很难写出高水平的程序的。据我的观察的,学计算机专业的人比学其他专业的人更能写出高质量的软件的。。。
我的内容我做主
华创云
提高编程能力的唯一途径就是多敲代码,多思考,注意是自己敲,copy别人的永远不会有长进,当然了这个首先需要你有良好的基础,扎实的基础才是解决所有编程问题的杀手锏,前期可以多多分析别人的代码,想一下为什么人家要这么写,还有多看一些开源的源码,你会有质的飞跃
王烁影
有没有搞错!又来?这是要把我逼疯的节奏吗?我确实不知道,没这方面的知识储备。如果硬要我回答,我就只能神吹了!当然这是不好的,容易误导读者。所以,只能到这里了!不次不要问我这些问题了好吗?😜😜😜😜