人人创业的今天,当心里有一个想法后,想立马把想法变成产品。大家都知道,第一阶段以技术为核心,没有技术怎么做出产品呢?可并不是每个人都懂技术。外包?不靠谱,都把自己的项目当作是革命性的想法,技术还是要掌握在自己手里,于是乎,到处挖技术大牛,要知道技术大牛那可是要花重金请的,可万一在实施过程中,某大牛跟你的想法相左呢,那你的项目就OOXX了。所以在第一阶段,找一个靠谱的人,才是上策;有一定经验,能独立做项目的人即可。
下面我介绍新项目如何实施(第一阶段):
以O2O项目为例子,这里我介绍“揾食”平台的整个项目搭建过程。
“揾食” 分为Android版本,IOS版本, H5版本,api服务,业务支撑系统。(其中Android版本和iOS版本又分为客户版和商家版)
在初期版本,考滤到快速开发,直接选用成熟开源的第三方框架。同时某些经常变动的功能使用H5开发,所以整个客户端架构是原生+H5混编模式。
一,Android版本:
1,开发语言选用大人熟悉的Java;
2,网络框架使用Volley(对RESTful支持比较好);
3,图片缓存框架使用Glide(比ImageLoader更轻量);
4,网络请求方面统一作缓存,超时,404等处理,保证用户体验。
5,建立自己的公用组件,如:列表项,分享组件等,保证同一类型组件到处可以使用,大大提高开发效率。
二,iOS版本:
1,使用Object-C + Swift 混合开发,某些第三方SDK只有object-c库。新功能统一使用Swift开发。
2,架构方面跟Android版本类似。
三,API服务接口
虽说是初期版本,在接口设计时,也要考滤到向后兼容问题。
1,首先将接口服务划分为:客户端API,商家端API,网页API(会出现跨域问题),这样设计的目的是,从业务上将各部分区分开来,各自业务独立互不影响,不会出现某服务不可用时,整个系统都不能使用的情况。
2,其次从逻辑上,将登录服务独立开发,采用无中心服务模式,登录 后返回空闲的API服务器地址。
3,由于采用分布式服务,所以用户的登录信息需要统一处理,这里使用Redis缓存来存储(同时也可以用来存储某些业务数据),在必须登录 后才能访问的API服务接口上,统一作登录 验证。
4,使用MQ来传送某些操作频繁的数据 ,如:登录日志,统计信息等
5,在数据统计等方面,使用定时任务。
6,技术上,使用SpringMVC+MyBatis,数据库前期使用Mysql。
以下是系统架构图:
以上架构支撑十万级用户已经毫无压力了,拿着项目去路演拿钱,准备扩张技术团队吧,迎接下阶段大量用户时的技术改进吧。
下一章详细介绍各业务间的交互。