全栈式框架的选择: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开发模式带来的各种问题,我们进行了许多尝试,但由于前/后端的物理鸿沟,尝试的方案都大同小异.痛定思痛,今天我们 ...
随机推荐
- [Firefly引擎][学习笔记一][已完结]带用户验证的聊天室
原地址:http://bbs.9miao.com/thread-44571-1-1.html 前言:早在群里看到大鸡蛋分享他们团队的Firefly引擎,但一直没有时间去仔细看看,恰好最近需要开发一个棋 ...
- hdu 4678 Mine 博弈论
这是一题简单的博弈论!! 所有的空白+边界的数字(个数为n)为一堆,容易推出其SG函数值为n%2+1: 其他所有的数字(个数为m)的SG值为m%2. 再就是用dfs将空白部分搜一下即可!(注意细节) ...
- php构造函数construct用法注意事项
<?php class A { //特别注意,这里的下划线为两个 function __construct() { echo "I am the constructor of A.&l ...
- hbase集群 常用维护命令
一. zk集群 1. 查看当前服务的角色 leader/follower echo stat|nc 127.0.0.1 2181 2. 启动ZK服务: sh bin/zkServer.sh star ...
- Maven中聚合与继承
何为继承? --继承为了消除重复,我们把很多相同的配置提取出来 --例如:grouptId,version等 就像写java程序一样,对于有共性切重复的东西,就提取出来. 如有三个pom.xml配 ...
- HDU1312——Red and Black(DFS)
Red and Black Problem DescriptionThere is a rectangular room, covered with square tiles. Each tile i ...
- Django自定义用户认证系统Customizing authentication
扩展已有的用户模型Extending the existing User model 有两种方法来扩展默认的User Model而不用重写自己的模型.如果你不需要改变存储在数据库中的字段,而只是需要改 ...
- Python:urllib和urllib2的区别
urllib和urllib2都是处理url请求的两个模块,但是相互之间存在不同,不能相互取代 urllib2可以接受一个Reuqest类的实例来设置URL请求的headers,urllib仅可以接受U ...
- hdu4639Hehe
http://acm.hdu.edu.cn/showproblem.php?pid=4639 统计连续he的数量恰为斐波序列 不同块进行相乘 #include <iostream> #i ...
- [原]Unity3D深入浅出 - 常见三维软件与Unity3D的单位比例
Unity3d系统默认单位是米 Maya:Unity3D 1M:100M 3DMax:Unity3D 100M:1M Cinema 4D:Unity3D 1M:100M Lightwavew:Uni ...