前言
如何快速开发出一个 漂亮,稳定,可扩展, 可移植,可替换的现代的web 网站?
关键点是: 界面要漂亮(UI),系统要稳定(良好的测试), 可扩展和移植(组件之间依赖最少), 速度快(可以使用缓存)我的思路是 前后端的完全分离,不用后端语言写前端的view. 比如 erb 就不是一个最好的实践。
基本的技术栈是:
UI: bootstrap + AngularJS
Server: Railsapi
数据库层: mysql 或者其他
缓存: redis 或者 membercache
日志分析和监控: RabbitMQ + Logstash + Rails
在不同层之间要做到可以无缝替换,比如 UI 层访问后端,要封装成 service
server 层做缓存 不要污染 server 的代码,要用 切面编程模式
日志分析 也要做到透明,使用 RabbitMQ 做消息的中转站
数据层与应用层可以用ActiveRecord 实现无缝替换
这样做的好处有很多,关键是如果将前段与后端完全分离后,我们可以用PhoneGap将前段打包成一个App,可以实现"一套代码,到处运行"的愿望。