3、快速开发实践
优质
小牛编辑
162浏览
2023-12-01
4.1. 1、业务边界优化
创业公司有很多可变性,要做的系统也无数,如何保证业务系统的边界是非常难的,我们其实走了很多弯路,图-稍后补
4.2. 2、静态api理论
当需求和ue定下来之后,就开始编写静态api,这样app、h5、前端就可以使用静态api完成功能,而后端也可以以静态api为标准来实现,整体效率还是比较高的。
另外还有基于api生成http请求的思考(未完成)
4.3. 3、api约定
api的最佳实践
- http://developer.github.com/v3/ (严格的restful)
- 微博API (可读性强,相对比较传统)
我们采用的微博API类似的,约定结构也是类似的
res.api is an express middleware for render json api , it convention over api format like this :
{ data: { }, status: { code : x, msg : 'some message' } }
4.4. 4、约定结构
和java开发里的目录结构类似,该分层的分层,适当的按照express/koa增加中间件、路由等目录,便于开发
4.5. 5、使用npm模块化
- 使用npmjs的private私有模块(目前做法)
- 使用npm的本地模块开发方法(测试和部署都非常快)
- 搭建npm私服(todo)
hz-api-cloud-admin hz-api-cloud-order hz-api-cloud-stock hz-api-private hz-api-private-admin hz-dao-cloud hz-dao-private hz-dao-usercenter hz-doc-api hz-frontend hz-mq hz-sms hz-usercenter xbm-sdk hz-api-admin hz-api-crm hz-api-order hz-api-statistics hz-api-stock hz-config hz-dao hz-doc
4.6. 6、编写生成器
在web开发里,写了moajs生成器,类似于rails
moag order name:string password:string
其他开发,如iOS开发里模型校验非常烦,于是写了一个json2objc命令行工具,读取json,生成oc代码,可以节省不少时间
4.7. 7、Moajs框架和前后端分离
- 前端:moa-frontend
- public下面的采用nginx做反向代理
- 其他的采用express+jade精简代码(ajax与后端交互)
- 后端:moa-api
4.7.1. 1)moa生成器
即上面讲的生成器scaffold
4.7.2. 2)moa-frontend
技术栈
- express
- jade
- bootstrap、bootstrap-table
- jquery
- gulp
- nginx
4.7.3. 3)moa-api
技术栈
Features
- 自动加载路由
- 支持mongodb配置
- 集成mongoosedao,快速写crud等dao接口
- 自带用户管理
- 使用jsonwebtoken做用户鉴权
- 支持migrate测试
- 支持mocha测试
- 默认集成res.api,便于写接口
- 集成supervisor,代码变动,自动重载
- gulp自动监控文件变动,跑测试
- gulp routes生成路由说明
- 使用log4js记录日志
4.7.4. 4)总结
从开发效果上看,还是非常快的,非常稳定的
更多参见我写的《Moajs框架演进之路》
4.8. 其他
- 《从0开始写Node.js框架》