More Related Content Similar to Non-MVC Web Framework (20) Non-MVC Web Framework7. 慣C
救火 Startup 惡搞
Mandice Software.
創新
8. 慣C
救火 JavaScript 惡搞
創新
52. MVC World
Server-side
Scripting
Model Controller
(Database) (Handler)
View
(Front-end)
User
53. MVC World
Server-side
Scripting
Model Controller
(Database) (Handler)
View
(Front-end)
User
76. 後端 API 就像
Browser 內建的 API
不再需要設計 API Protocol 和學會 Ajax
78. Browser-side JavaScript Code
var c = document.getElementById('content');
var chat = RedTea.API.Chat();
chat.conversation.push('Fred: Hello!<br>');
chat.getConversation(function(err, data) {
c.innerHTML = data;
});
c.innerHTML += chat.conversation.join('');
79. Server-side JavaScript Code
module.exports = { Chat: Chat };
function Chat() {
var self = this;
this.conversation = [];
this.getConversation = function(callback) {
callback(null, self.conversation);
};
...
}
82. Convert source code to AST Compile AST to real Object
Send AST to client
Server-side Browser-side
JavaScript JavaScript
Class Script
RPC
84. RedTea 開發四部曲
● 決定 URL Path
● 設計 Layout in HTML
● 設計前端功能 (In JavaScript)
● 設計後端功能 (In JavaScript)
85. RedTea 四大部份
● Route (統一化的 routing 設定)
● UI (如同 MVC 的 views)
● API (Server-side Script)
● Runner (Client-side Script)
86. Routing
Runner
index.js
Get /index
UI
index.jade
Browser