Skip to content
node.js 全栈式MVC framework
JavaScript
Latest commit e115103 Dec 1, 2014 qincheng update
Failed to load latest commit information.
README.md 添加wiki的链接 Aug 9, 2012
avalon2.js update Dec 1, 2014
test$watch.html update avalon2 Nov 22, 2014
testscan.html update Nov 24, 2014

README.md

newland

如果说前端是维斯特洛大陆,那么后端是更为古老先进的瓦雷利亚大陆!

注:上面的地名出自《冰与火之歌》

前端的世界基本定形了,谁也消灭不了谁

在jquery崛起之后,有许多框架消亡了,如MochiKit。上代王者Prototype更新缓慢,但百足巨虫僵而未死, 受它的启迪,一拔人从OO角度进行改良,诞生了mootools,一拔人从函数式编程角度进度改良,诞生了underscore。 dojo拥有IBM等后台,最新版完全支持AMD。YUI是上上上代互联网巨头雅虎的产品,设计精良。EXT是YUI出走的孩子,UI库的典范,它的团队精力充沛, 还用node.js搭建了express.js这著名框架。

jqueryPrototypemootoolsEXT dojoYUIunderscore
风暴地北境西境河湾地 多恩(南境)谷地河间
风息堡临冬城凯岩城高庭 阳戟城鹰巢城奔流城
鹿玫瑰太阳
拜拉席恩史塔克兰尼斯特提利尔马泰尔艾林徒利

此外,

后端比较出彩的四大框架:tower,derby,express,railsway。

前端比较出彩的MVC框架:ember,angular,knockout,backbone。

从历史趋来看,前端往后端进发是必然的事,有个术语好像叫什么大前端。就是一帮苦逼的码农,基本是PHPer,他们负责整个页面的生成与脚本交互。

但前端的技术发展得这么快,一般PHPer很难跟进的,因此由专业的JSer接手是势在必行了,因为PHPer最重要的工作,页面接装模板, 从ruby世界的好事者已经搞了许多套,前端模板已为大家所接受,但我们没有必要用两套模板,node.js的出现让这成为可能。 而且页面的各种性能优化都与请求头,HTTP协议息息相关,JSer想搞高自己的水平,也要了解这一部分知识,如果搞最赚钱的页游,socket等知识也是必需的。

一个明显的例子,像Sencha这个公司,它前端拥有EXT,EXT在4.0中完成MVC机制与模块加载机制,后端拥有express框架,十年前,很难想象有人竟然靠JS赚钱开公司! 这是前端大翻身的机会,几个前端只要有创意,就可以踢开PM开发自己的产品了,不需求助于PHPer, javaer……

newland就是基于这样的情愫搞出来的,带领JSer驶向一个新世界。

目录构成与模块说明

实在非常抱歉,现在整个项目文件非常混乱,就像西班牙殖民者驾着其破船,乱打乱撞发现新大陆,兴奋之余,船只撞到海岸的礁石上,到处是碎片,也不知怎么办……

不过,首要任务是活下来,在瓦雷利亚的海滩上建立一个小渔村或农舍!

mass.js 框架的入口
├─app
│  ├─cache
│  ├─config
│  ├─controllers
│  ├─errors
│  ├─helpers
│  ├─logs
│  ├─models
│  ├─public
│  │   ├─scripts
│  │   ├─styles
│  │   └─images
│  ├─config.js 配置文件,现在就只用到它的端口:8888
│  └─views
├─system
│  ├─more
    │   └─here_document.js 模拟其他语言的here document语法
    ├─mime
    ├─deploy.js  热启动
    ├─mime.js  用于从请求头中取出正确的MIME
    ├─ejs.js   模板系统
    ├─view.js  用于拼装页面,一般情况页面都有两个部分组成(用于显示主要内容的局部模板与布局用的全局模板)
    ├─flow.js  用于处理node.js操作的回调嵌套问题,类似于发布者订阅者模式
    ├─hjs.js   高层次的IO API,就像前端的DOM操作一样,原生的那一套在jQuery那样的API下黯然失色
    ├─lang.js  就是前端mass的lang模块,不过它前后端通吃,里面大量工具函数
    ├─lang_fix.js lang.js的补丁模块
    ├─status.js  各种状态码,用于错误页面
    ├─server.js   newland框架的二当家,用于接受各种情况,派发数据


另外还有许多文件,这都是我上一次来这片大陆时,撞沉后的海盗船碎片,不用过于介怀!

试用

安装node.js,下载newland项目,命令台定位到newland目录下,然后node mass.js.在浏览器下http://localhost:8888/

wiki

光是一个readme是无法把什么都说明白,更多有用的资料我放到wiki上了!

Something went wrong with that request. Please try again.