• Stars
    star
    368
  • Rank 115,958 (Top 3 %)
  • Language
    JavaScript
  • Created over 12 years ago
  • Updated about 10 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

node.js 全栈式MVC framework

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驶向一个新世界。

===============================

目录构成与模块说明

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

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

<p〉这个广裘的大陆上有着许多帝国,前端的七大王国,相对它们来说就是部落国而已。因此我的小框架绝对也引不起它们的注意……

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上了!

More Repositories

1

avalon

an elegant efficient express mvvm framework
JavaScript
5,798
star
2

anu

the React16-compat library with hooks
JavaScript
3,184
star
3

mobileHack

这里收集了许多移动端上遇到的各种坑
2,904
star
4

mass-Framework

一个模块化,面向大规模开发的javascript框架
JavaScript
654
star
5

avalon.oniui

基于avalon的组件库
JavaScript
415
star
6

jsbook

一些章节
JavaScript
275
star
7

fetch-polyfill

fetch polyfill which supports all mainstream browsers, even IE6, IE7, IE8.....
JavaScript
150
star
8

mmRouter

avalon的三柱臣之一( 路由,动画,AJAX)
JavaScript
119
star
9

algorithmbook

没有经过整理的知识才是徒然浪费时间,伤透脑筋!
HTML
110
star
10

jsx-parser

a lightweight jsx parser
JavaScript
97
star
11

agate

灵活易用的nodejs后端框架
JavaScript
74
star
12

mmDeferred

一个完全遵循Promise/A+规范的Deferred 库
JavaScript
46
star
13

object-defineproperty-ie8

fix ie8 Object.defineProperty
JavaScript
46
star
14

mmRequest

avalon王之三柱臣 之一
JavaScript
43
star
15

avalon.bootstrap

基于avalon的bootstrap
JavaScript
40
star
16

avalon.test

专门用于放置avalon的单元测试
JavaScript
32
star
17

create-anu-app

anujs的官方脚手架
JavaScript
28
star
18

myless

我的CSS研究,重点看issue
CSS
28
star
19

mmAnimate

avalon的三柱臣之一( 路由,动画,AJAX)
JavaScript
26
star
20

avalon-server-render-example

avalon2+koa2的后端渲染例子
JavaScript
26
star
21

hfs

height level file system
JavaScript
20
star
22

fastui

一个基于react native的UI库
Objective-C
20
star
23

anu-ie8-example

anu运行在IE8的例子
JavaScript
18
star
24

mmTemplate

我的前后端通用模板,既可以自动变成jQuery插件,也可以单独为一个前端模板,亦可以是独立的node.js模板
JavaScript
13
star
25

node-avalon

在后端渲染avalon
JavaScript
12
star
26

mmDux

avalon的redux
JavaScript
10
star
27

quickdemo

快应用的例子
JavaScript
10
star
28

ms-pager

avalon2的分页插件
JavaScript
9
star
29

mmDialog

一个基于jQuery的弹出层
JavaScript
9
star
30

def.js

一个ruby风格的类工厂
JavaScript
9
star
31

avalon.pilotui

基于avalon的Pilot UI库
JavaScript
8
star
32

winjs

微软的winjs 1.0,我将它肢解了,方便研究
JavaScript
8
star
33

cpp

算法学习
C++
7
star
34

IE6-7-namespace-html5

通过命名空间方式支持HTML5,CSS能正常呈现,JS里也能用选择器选择得到
6
star
35

tx-todolist

课件相关
JavaScript
6
star
36

cygni

一个react同构框架
6
star
37

oni.accordion

oniui2的风手琴组件
JavaScript
5
star
38

oni.button

avalon.oniui2 button and buttonset component
JavaScript
4
star
39

ms-modal

JavaScript
4
star
40

mass-ui

mass Framework 的UI库
JavaScript
4
star
41

avalon.docgen

avalon.oniui的注释文档生成器
JavaScript
4
star
42

bloghighlighter

highlight
3
star
43

detectPositionFixed

检测浏览器对position fixed的支持
JavaScript
3
star
44

EventTarget

一个支持优先级排序的自定义事件系统
JavaScript
3
star
45

JS.Class

一个mootools式的类工厂
JavaScript
3
star
46

mmMenu

一个多级菜单
JavaScript
3
star
47

gitbook

JavaScript
3
star
48

mass-mobile

运行于手机端的版本
JavaScript
2
star
49

object-create-ie8

Object.create polyfill
JavaScript
2
star
50

bootstrap_comment

bootstrap2.2.3 JS部分的注解
JavaScript
2
star
51

polyline

曲线图
2
star
52

radarChart

雷达图
JavaScript
1
star
53

babel-preset-avalon

avalon专门的babel编译包
JavaScript
1
star
54

ms-tabs

avalon2的切换卡
JavaScript
1
star
55

mass-effect-examples

mass framework 动画特效的例子
JavaScript
1
star
56

anu.todolist

anujs结合redux, immutable.js的例子
CSS
1
star
57

custom-select

自定义 select 元素的样式,兼容 IE10+,Webkit,Firefox
1
star
58

pm2

用来学习pm2
1
star
59

mass-loader

模块加载器 19基于iframe,兼容性与可靠性最强
JavaScript
1
star
60

fixZIndex

处理IE的z-index BUG
JavaScript
1
star
61

TypingNinja

一个打字游戏
JavaScript
1
star
62

bgiframe

IE6专用的iframe 垫片
JavaScript
1
star
63

cssPointerEvents

检测浏览器对pointerEvents 的支持
JavaScript
1
star
64

anu-cli

创建小程序
1
star
65

fixed_position

专门放置与position fixed的有关实验
JavaScript
1
star