本身動手設計一個Web框架

    最近稍微有一點空閒時間,能夠用來維護一下本身的小框架 Hasor 在設計框架時本身有了一點想法,特此專門將其中一個比較重要的組件單獨拿出來獨立設計。css

    一方面能夠進行更佳明確方向性的發展,另方面能夠實踐一下對於框架開發上的一點我的感觸。web

    開發這個框架不敢想,會對國內開源軟件產生多麼深遠的影響。能作出一點點貢獻也就算能夠了。同時經過這個框架的開發但願能吸引到志同道合的朋友共同討論、分享,未來或許有機會能夠共同作一番事情。    安全

    這個框架是一個Web相關的開發框架。之因此選擇Web框架作爲入手點有這麼兩方面考慮。restful

1.web框架有着廣大的受衆面。
2.web框架有着極其明確的應用場景。
3.實用性比較強。mvc

關於文章中的「我」框架

    文章中的「我」也能夠是讀者本身,用第一人稱,但願可讓讀者有更多的參與感在裏面。xss

    下面正式開始框架的設計旅程分佈式

    首先我先拋出幾個開放性的問題,但願在文章以後你們能夠獲得本身的答案。同時也但願你們能夠發表本身的觀點。這裏拋出這幾個問題,全當是拋磚引玉吧。工具

    我如何開始一個框架的設計?個人框架究竟須要那些功能?web安全

    上面這些問題先按下不表,咱們來繼續旅程。在開始咱們偉大的登月工程以前現爲它起一個好聽的名字吧。由於這個框架是在Hasor以後開始的,那麼就叫它「haweb」吧。

    嗯,就是這個名字了接下來在讓咱們加上一些噱頭和定語讓它高大上起來。->《Haweb輕量化Web開發框架》。

好了如今正是開始咱們的偉大工程吧。

    Haweb應該具備什麼功能或者特性呢?這個問題很重要,我先本身腦洞一下。

  1. 它是一個Web開發框架,天然要支持web開發上的一些通用解決方案,例如:mvc、restful。
  2. 這個框架要提供安全上的保障,比方說常見的cxrf,xss這些東西,框架至少要提供一些web安全上的支持。
  3. 它要方便擴展,總有一些功能是沒有想到的,當我想到的時候我想能夠隨時加入到框架中。
  4. 它要有一些實用的工具,我可不想在寫業務的時候還要寫一大堆工具,我要的是能夠全身心投入在業務上。
  5. 它還要能幫我解決單點登陸的問題,讓我能夠在寫程序時完成一次登陸處處登陸。
  6. 它必需要能在分佈式環境下良好的部署運行。
  7. 它要支持多種渲染引擎,以備未來所需。
  8. 它要能作到靜態化的支持,用來管理程序中的靜態文件,例如js、css、圖片。
  9. 它要支持國際化,天知道那天個人應用會響徹宇宙。
  10. 它要有請求訪問日誌,未來要方便個人問題排查。
  11. ....

    要列出的可能還不少,可是今天就先列出這麼多。一個理想的Web框架應該具有哪些功能?也歡迎你們一塊兒討論。

在下一篇blog文我將考慮將這些需求進行分類概括整理,造成計劃。

相關文章
相關標籤/搜索