承上篇 ( 有簡中版 ) 來源
每門語言都有各自的框架 , 且數量龐大不免讓人選擇困難 , 下個段落會列出一些現正流行中的框架
我們先列出一些會左右選擇的因素:
Django
是用來做新聞網站 , 所以它用來製作成部落格 、 一些要發布內容的網站有很好的使用性 。 Flask
是一個輕量級的框架 , 擅長在嵌入式裝置製造 web appopinionated vs unopinionated , opinionated 翻譯為自大的
) : 主導性高的框架 , 針對特定問題總會有推薦的最佳解法 ; 常見問題會有更好的生產力 , 因為它會引導你往對的解決方向 , 也因此彈性較低與內建分離的函式庫
( Django
就是前者 , Flask
是後者 ) 。 每個內建功能讓我們覺得框架在使用上更友善、易用 。 另一方面 , 如果較小型框架也內建所有我們需要的功能 ( 甚至是將來需要的 ) , 它會導致需要在一個受限的環境執行 , 而且需要學習一些小型簡單的 subset ( 後面這句簡體版我也是有看沒有懂哪~ )MVC
架構去分離 code , 分離行為在邏輯、功能性上都更利於維護 , 與沒有預先想好架構的開發者相比 。 同理 , 框架的設計在測試的難易度 、 code 重用有很大的影像Python
) , 在尚可的硬體上執行中型網站也夠快了 。 其他可以感受到速度快的語言 ( 如 C++ , JS
) , 可能因為學習曲線及維護成本更高而抵消速度快的優點req 的數量跟著龐大
, 網站開始無法好好處理它們 , 因此我們要考慮 caching ( 暫存 )
。 Chaching 是儲存全部或部分 res 一個優化功能 , 使得排在後面的 req 不必重新計算
, 更快速的回傳 。 Caching 可以在我們的 code 上執行 , 也可以在 server 上執行 ; 框架對 cached 有不同的支援程度scale horizontally ( 把載量分散到不同伺服器及 db 來抒解超載窘境 )
或是 scale geographically ( 因循地域性使用不同地區的主機 )
。 不同框架決定不同的延展難易度XSS
) , 如 Django 能在表單上清除 JS 語法 , 使其輸入的 JS 無法運行 。 其他框架也提供類似的防護 , 但這些不見得在預設時就有設定 。還有很多其他影響選擇框架的因素 , 像是 licensing
( MDN ) 在後面的章節 , 選擇 Django ( Python ) & Express ( NodeJS )
, 主要原因在於易學
Note: 初步了解框架時 , 看它的官網 ( Django and Express ) 以下有些要點可以依循:
Documentation, Guide, API Reference, Getting Started
how to set up URL routing, templates, and databases/models
Community links
下篇將會介紹一些目前流行的框架及總結 , 終於要將 Server-side web frameworks 的頁面給結束了 !
whether or not the framework encourages good development practices
嗨,這裡的意思我覺得是說 不論如何,框架能促進大家養成好的開發習慣。(因為框架是經過很多高手創建起來的一套方法)
good practices:我是參考 W3C JavaScript Best Practices 裡面的內容推測其意義。
以上,我的理解給你參考。