全栈式框架的选择:MEAN or MEANS?
说明:个人博客地址为edwardesire.com,欢迎前来品尝。本博客作为备份和引流
这两个月一直在进行sails后端开发,其中遇到的问题不断。放在研究用户访问控制矸例程上的时间太多,最后也没用弄出什么东西来。遂推荐降一级使用Express框架,在进行数据库的开发后,我们也等于正式使用上了MEAN这一套全栈式框架。而MEANS就是多加了一个Sails框架。
两个是什么

MEAN分别是MongoDB、Express、AngularJS、Node.js。它是一套全栈式框架,MongoDB充当数据库,Express充当server后端框架,AngularJS充当client前端框架,而Node.js作为Web矸服务器平台。简单明了的分工。

而MEANS就是多加了一个Sails框架,而Sails也是可以直接使用Express的部分API的。
代替的原因
在github能找到的几个sails用户控制访问例程不是自带bug就是过于复杂,维护的人数也很少,对于火候不到的我而言,实在是难啃的骨头。而Epress关于这方面的例程不仅数量上管够,高质量的例程也是比较多的。再者,Sails本身的社区活跃程度也没用有xpress高,其API也是封装过一遍的robust thing(虽然健壮不过不太好个性化使用)。其高复用性的数据库交互我们项目也不是很需要。综上原因,更低等化的Express或许更适合我来开发和学习。Dtree新结构(着重后端)
├── app -- server-side
│ ├── controllers -- auth controller uses passport middleware
│ ├── models -- user model define user schema
│ └── routes.js -- server-side routes
│
│
├── public -- client-side for AngularJS
│
│
├── config -- Express Configuration
│ └── middlewares -- self middlewares include fun requiresSignin
│
│
└── node_modules
Passport
项目采用的Node的用户验证中间件,可以实现用户注册登录以及Oauth的功能,十分容易上手,API也十分简洁。但是我还是很在意其更深度的开发是否会受到限制。
全栈式框架的选择:MEAN or MEANS?的更多相关文章
- 全栈式JavaScript
如今,在创建一个Web应用的过程中,你需要做出许多架构方面的决策.当然,你会希望做的每一个决定都是正确的:你想要使用能够快速开发的技术,支持持续的迭代,最高的工作效率,迅速,健壮性强.你想要精益求精并 ...
- 基于NodeJS的全栈式开发
前言 为了解决传统Web开发模式带来的各种问题,我们进行了许多尝试,但由于前/后端的物理鸿沟,尝试的方案都大同小异.痛定思痛,今天我们重新思考了“前后端”的定义,引入前端同学都熟悉的 NodeJS,试 ...
- (转)也谈基于NodeJS的全栈式开发(基于NodeJS的前后端分离)
原文链接:http://ued.taobao.org/blog/2014/04/full-stack-development-with-nodejs/ 随着不同终端(pad/mobile/pc)的兴起 ...
- 也谈基于NodeJS的全栈式开发(基于NodeJS的前后端分离)
前言 为了解决传统Web开发模式带来的各种问题,我们进行了许多尝试,但由于前/后端的物理鸿沟,尝试的方案都大同小异.痛定思痛,今天我们重新思考了“前后端”的定义,引入前端同学都熟悉的NodeJS,试图 ...
- 大数据全栈式开发语言 – Python
前段时间,ThoughtWorks在深圳举办一次社区活动上,有一个演讲主题叫做“Fullstack JavaScript”,是关于用JavaScript进行前端.服务器端,甚至数据库(MongoDB) ...
- 为什么说Python 是大数据全栈式开发语言
欢迎大家访问我的个人网站<刘江的博客和教程>:www.liujiangblog.com 主要分享Python 及Django教程以及相关的博客 交流QQ群:453131687 原文链接 h ...
- vuejs、eggjs全栈式开发设备管理系统
vuejs.eggjs全栈式开发简单设备管理系统 业余时间用eggjs.vuejs开发了一个设备管理系统,通过mqtt协议上传设备数据至web端实时展现,包含设备参数分析.发送设备报警等模块.收获还是 ...
- vuejs、eggjs、mqtt全栈式开发设备管理系统
vuejs.eggjs.mqtt全栈式开发简单设备管理系统 业余时间用eggjs.vuejs开发了一个设备管理系统,通过mqtt协议上传设备数据至web端实时展现,包含设备参数分析.发送设备报警等模块 ...
- 基于NodeJS的全栈式开发(基于NodeJS的前后端分离)
也谈基于NodeJS的全栈式开发(基于NodeJS的前后端分离) 前言 为了解决传统Web开发模式带来的各种问题,我们进行了许多尝试,但由于前/后端的物理鸿沟,尝试的方案都大同小异.痛定思痛,今天我们 ...
随机推荐
- Linux---弹球游戏
ReadMe: 弹球游戏按键说明(注意大小写): Q End Up Game 游戏停止 P Play Again 再玩一次 f 速度x轴方向减速 s 速度x轴方向加速 F 速度y轴方向减速 S 速度 ...
- jquery layout学习
1.官网:http://layout.jquery-dev.com/index.cfm 2.博客园:http://www.cnblogs.com/chen-fan/articles/2044556.h ...
- [itint5]最大子矩阵和
http://www.itint5.com/oj/#39 最大子矩阵和,复杂度O(n^3).利用了最大子段和的方法. int maxRectSum(vector<vector<int> ...
- CodeIgniter类库之Benchmarking Class ,计算代码的执行时间
CodeIgniter中有个Benchmarking类库,它是被系统自动被加载的,不需要手工加载.Benchmarking类库能够计算出任意两个被标记点之间的代码执行时间.通过这个数值,可以评估程序员 ...
- 25.allegro中模块复用[原创]
一,Module reuse 1,打开原理图 ------------------- --------------------- ctrl+i过滤器 直选part ctrl+e 查看属性 查看: 是否 ...
- IOS,Object C学习过程中遇到的attributes
@property 定义一个属性 @synthesize 告诉编译器自动为属性自动生成 getter 和setter方法 在定义属性的时候会用到如下@attributes nonatomic,告诉编译 ...
- bzoj1061 1283
以前写的1061但一直没懂,后来懂了但忘写解题报告了 做了1283顺便补一下吧 1061 我是orz https://www.byvoid.com/blog/noi-2008-employee/#mo ...
- [原]Unity3D深入浅出 - 认识开发环境中的GameObject菜单栏
Create Empty:创建空对象 Create Other:创建其他对象 Particle System:创建粒子系统 Camera:创建相机 GUI Text:GUI文本 GUI Texture ...
- SCOI2009游戏
1025: [SCOI2009]游戏 Time Limit: 1 Sec Memory Limit: 162 MBSubmit: 1065 Solved: 673[Submit][Status] ...
- HDU Senior's Gun (水题)
题意: 给n把枪,m个怪兽,每把枪可消灭1怪兽,并获得能量=枪的攻击力-怪兽的防御力.求如何射杀能获得最多能量?(不必杀光) 思路: 用最大攻击力的枪杀防御力最小的怪兽明显可获得最大能量.如果每把枪都 ...