iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 11
1
Modern Web

還在想要買哪一堂線上課程嗎?培養看文件的習慣吧!用 MDN 文件學後端:NodeJS & MongooseDB系列 第 11

11日: Server-side web frameworks ( 幾個正夯的框架? 活潑哦? )

承上篇 ( 有簡中版 ) 來源

寫在前面

我覺得有點累~ 這篇就任性活潑的寫寫看

一些 MDN 想要提出來討論 , 而且在標題後面給問號的框架

動起來 ! 討論 SS 框架們

它 ( MDN ) 說下面框架現在很紅 , 還有歐噴嗽死 , 有些還有信徒 , 然後使用的人很多 。
Note: 有些敘述是從那個框架網站貼來

Django ( Python )

是拍森的高階框架喔! 很快很簡潔 , 很有開發經驗的人做的! 很會照顧開發者 , 可以專心寫你想開發的 , 不需重造輪子 。 免費還有歐噴嗽死

遵循上篇提到的內建功能豐富 , 可以 out of the box (即開即用) (本日片語 out of the box) 。 又快又安全又有延展性 , 易讀易維護

它的官網說這些流行的網站都是用它做成的 : Disqus, IG, Mozilla, National Geographic, Pinterest ... (其他我沒看過)

Flask ( Python )

拍森的微框架

雖然是極簡主義的 Flask , 也可以即開即用 , 內有 server & debugger & 支援 Jinja2 &secure cookies & unit testing & RESTful request dispatching 。
還有很好的官方文件 & 活潑的社群

Flask 現在很搶手 , 尤其是需要在小型 server 上開發、執行的網站 ( 例如在 Raspberry, Dropne controllers 上執行 )

Express ( NodeJS/JS )

很快 、 不自大( 關於自大可以回頭看上一篇 ) 、 彈性十足 、 小而巧而妙 , 由 NodeJS 誕生 ( Node 可以不用在瀏覽器環境下運行JS ) 。 有強大的 web & mobile app 功能群 、 HTTP methods 、 middleware

現在也很紅 ( 不紅不搶手就不用列在這裡吧 ) , 因為整合 c-side JS 到 s-side , 還有 resource-efficient ( 底層的 node 輕量多功一次做很多事 , 不是逐一處理 )

跟 Flask 一樣都是極簡派 。 在 Express 裡 , 我們可能需要的 component 都沒有包在裡面 ( 我猜這裡是在說 npm install , 要什麼自己裝 ) , 例如 db access 就在另外獨立函示庫中 。 市面上有太多極好的 components , 有時候很難選擇要用哪個

很多 ss & 全端框架也根據或參考 Express , 諸如 Feathers, ItemsAPI, KeystoneJS, Kraken ( 我只有聽過這個 ), LEAN-STACK, LoopBack, MEAN, Sails.

一堆網站在用 Express : Uber, Accenture, IBM, ...

Ruby on Rails ( Ruby )

俗稱 Rails
有很多跟 Django 相似的設計 。 像 routing URL 機制 、 從 db accessing data 、 用 template 產 HTML 、 格式化 JSON 或 XML 。 強調 DRY ( "dont repeat yourself" — 如果可以只寫一遍就不要寫第二次 ) & MVC

代表網站有 : Github, Airbnb, Twitch ... 等等

Laravel ( PHP )

PHP 在簡體版被消失了...

令人深刻 、 優雅的語法 , Laravel 試圖解決那些常見問題的痛點 :

Lara 提供製作大型 app 很棒的工具

ASP.NET

欸斯批打內是微軟做來建構 web app , 它根據 HTML CSS JS 快速產生網站 。

最大的特色是有 CLR (Common Language Runtime) , 允許工程師們寫任何支援打內的語言 , 如 C#, VB 。 如同其他微軟產品 , 好用的工具 、 活躍的社群 、 優良的文件

代表: 微軟 、 Stack Overflow ...

Mojolicious ( Perl )

Spring Boot ( Java )

以上兩個我沒聽過 , 對 Perl 更陌生 , 有興趣的人可以去點他的官網 , 或者去看 MDN 官網本篇簡體版
( Flask在寫鐵人之前我也沒聽過 , 只是幸運它順位比較前面 )

總結

原文上半部沒什麼重點 , 下半部 : 如果心裡沒有底要選擇什麼框架也不用擔心 , 小孩子才做選擇 反正晚點就是要教 Django & Express ( 而且我也只會去看Express )

( MDN 說 )下個章節會稍稍換個思考方向 , 跟探討網頁安全性


上一篇
十日: Server-side web frameworks ( 如何為自己選個框架 )
下一篇
12日: Website security ( 網站安全性: XSS、SQL injection )
系列文
還在想要買哪一堂線上課程嗎?培養看文件的習慣吧!用 MDN 文件學後端:NodeJS & MongooseDB30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
阿展展展
iT邦好手 1 級 ‧ 2019-11-06 04:24:22

活潑起來
/images/emoticon/emoticon58.gif

我要留言

立即登入留言