一个简单的项目架构

说学习sails好久了, 之所以想学它, 只是因为原来做rails时被它各种蹩脚玩意给折腾的。

有些人很喜欢rails, 开始我也很喜欢, 各种库, 各种支持, 加上优雅的语法。熟悉后就各种烦各种不想用, 这货真是啥玩意都往里加, 啥新东西都想支持, 不再像它刚开始时的那么纯粹, 简便。 啥时候rails的组件能像sails那样醒目, 库能像glup提倡的那样: 每个插件只完成一个功能就好了, 别做万能的Rambo好不!!!

额, 这仅限于4.x及以前版本, 好久没用过了是不是有了变化不知道, 希望能变轻点吧。

说回正题, 最近有个基于web的实验室管理系统项目, 想了想系统的复杂性, 还有管理系统的使用习惯, 准备使用以下架构

关于b/s的管理系统, 可以参考这篇文章看看

看完文章就该说说架构了, 以前总觉得架构高大上, 现在看也就这样, 适合项目就最好。

前端: bootstrap+angular+jquery+socket.io+gulp

后端: node+sails+mysql(mongodb), 因为没啥访问速度要求, 把默认依赖redis的组件改成mysql(真是没一个框架是满意的)

装上sails后看了看,这货也不是很满意, 库的依赖是grunt管理的, 这个先不管吧。 但是自己又封装了socket.io, 人家已经写这么好了, 你居然又画蛇添足。。悲催!! 依赖的ejs模板引擎还好, 去掉也方便。再具体的还没看,慢慢完善吧,总比rails好些, 项目结构清晰, 业务复杂后也不是把所有功能集中在model, 还支持websocket。

先想好页面布局, 大概是这样子的, 项目管理系统嘛, 单页面项目没有刷新最实用, angular+angular-ui-router配合简直了(当然还有像vue.js也不错)。 还有这篇文章可参考。

关于angular-ui-router可以单独写篇文章介绍

页面基本布局

后续再补