这是我第一次写博客,在此之前,经常在网上也会看到一些比较好的博客,当时只是觉得如果写博客能成为一个兴趣,一种习惯也是一件不错的事情,当然后来也就只是想想而已.......
言归正传,本文讲的是我之前做的个人项目(技术栈:html+css+php+mysql+ajax),也是第一个全过程开发(前期设计、前端开发、后端开发、测试、上线、维护)的项目,目的是给没有负责全过程开发的及像我这样的菜菜提供个思路,大神就请略过吧。废话不多、直接上效果图
1,项目背景
根据客户要求 在一个月的时间内 开发一个类似一个外勤管家的app和管理系统平台,app的功能比较大概是登录、定位、下订单、打考勤等等。后台管理要求有订单管理、报表、导入导出、角色管理blabla......当时我一听这需求 、我去 我一个人在一个月同时完成前后端的开发工作,怎么想都感觉不可能的事,最后没办法 谁叫你在朋友面前吹牛逼吹到天了呢 只能硬着头皮干了。
既然决定干了,但是从何着手呢? 如果进行原生开发从头开始造轮子 ,那搞半年也搞不定。最后只能借助现成的成熟框架和平台开发了,还好不负有心人,还真有这样的平台。。。。下面分别说说我使用过程中的一些感受及思路
2,corethink框架(由thinkphp的基础上开发的)
corethink是零云开发的,其官方介绍:零云是一套国内领先的互联网积木式开发云平台,追求简单、高效、卓越。可轻松实现支持多终端的互联网产品快速搭建、部署、上线。系统功能采用模块化、组件化、插件化等开放化低耦合设计,应用商城拥有丰富的功能模块、插件、主题,便于用户灵活扩展和二次开发。。。。
之所以选corethink作为管理后台的框架,是因为corethink是php语言,基于thinkphp 入门快,容易上手,最重要的是免费的,而且有比较全的官方文档,在你遇到坑的时候能及时爬出来。
这套框架自带系统和用户模块,还有就是框架本身是针对cms的所以还有cms模块,使用者可以模仿现有的模块及根据官方文档进行自定义开发,由于thinkphp是基于MVC架构 所以还有在corethink开发app的api接口,就这样后台管理系统和接口就解决了,至于数据库mysql这块,corethink也集成了,并给出了mysql设计规范,包括自带的系统和用户模块对应的数据库表,基本可以一眼就能看懂...ok ,后台+接口+mysql 就没有顾虑了,接下来就可以专心的开发app了
3,app端(apicloud)
对于没有一点原生基础的同学来说,利用混合开发(严格来说是html5)的方式输出客户想要的app是最好不过了,现在支持混合开发的流行的平台有appcan、Dcloud以及apiCloud等 至于他们的优缺点及区别 大家自行度娘,但个人认为,如果第一次混合开发 建议还是用apicloud,原因如下:
a、教程及文档全、并且有较多的大牛给出案例,容易上手、有利于敏捷开发
b、社区活跃、新手难免会遇到坑,在活跃的社区里能很快的找到解决办法
c、官方提供了非常丰富且免费的功能模块接口及其使用文档 比如、地图类、支付等等 这样你只管知道怎么使用就行
d、官方提供app创建、上传、包的版本更新(更重要的是支持热更新 这对ios版本更新简直是方便多了)、输出android和ios两个包、统计等一条路服务
......
值得一提的是,apicloud社区的大牛提供了整套UI(AUI)这又使得更多开发者使用,这个UI不仅体积小 而且易学易用,基本只要撸一遍文档就可以上手了
ok,技术选型已经选好了,接下来就是专心开发与爬坑了
4,开发
开发前确定好前后端通信的数据格式及方式,这里是 JSON+ajax ,在功能需求确定的情况下开发的流程如下:
a、app端的静态页开发,由于使用AUI 大大的加快了开发速度 整套下来三天左右就好 之所以先写静态页 是因为客户的需求是经常会变的这里类似一个demo 让客户看到效果
b、数据库设计:这一步比较关键,直接关系到后续的开发及维护效率,一个好的数据库设计可以减少前后的的工作量
c、管理后台:如果撸了几遍corethink和thinkphp使用手册的话 基本上粘贴复制就能搞定 个别功能可能要自个扩展
d、接口编写:这里建议有接口文档方便后续的维护 推荐个线上接口文档管理平台ShowDoc,如果时间不够或业务不复杂也可以不用文档,毕竟前后端都是自己开发的,没人扔砖头,但最好加上注释,方便维护
e、app开发:功能逻辑及接口确定好了,app端的开发就快了,这个阶段基本是边开发边联调,如果a步骤越详细 包括假数据(json) 这里花的时间就越少,反之亦然。这里时间主要用在 apicloud模块的使用及联调上
f、测试联调:管理后台测试、app端测试、接口测试、性能优化等
5,部署上线
服务器端用的是集成环境phpstudy或者Xampp 我用的是Xampp 需要保证后端服务运行的稳定性
手机app端:
ios----比较麻烦的ios上线,之前apicloud有提供免费企业号,可以直接运行在非越狱的ios设备上的,后来好像被ios官方发现了,非越狱设备只能运行上线的app,(测试账号及证书也能用但有数量限制),这简直是恶梦,只能自己买一个了,心疼啊,毕竟99刀,当然你买个别人的账号也可以,只不过appstore上显示的开发者名称不是你而已。
android端---因为用户都是同一个企业单位的,所以不需要在各个应用市场上线,给个下载链接或二维码就ok了。
6,其他
以上是本人开发此项目的过程及思路,在此做个小结,也希望能给各位提供些思路(大牛略过哈),如果您有什么疑问或建议欢迎提出来哈,本文将持续更新。。。。