經過多年的策畫,最新的網頁應用程式開發框架Ruby on Rails 7.0,實現了真正全端網頁開發方法,官方提到,在數年前,這個全端願景是不可能實現的,因為Rails並沒有到位的核心技術,但是隨著瀏覽器對ES6/ESM的支援、HTTP/2廣泛採用以及更多的新標準,使得這項目標成為可能。

Rails 7特別改進前端開發,其提供一種無Node的預設方法,在不犧牲對Npm套件和現代JavaScript存取的狀況下,使得前端開發更為方便。其所包含的網頁前端開發框架Hotwire,由Turbo和Stimulus組合而成,這提供了出色的開發體驗,此為用來取代Turbolinks和Rails UJS的Rails應用程式預設選項。

Rails 7所加入的Hotwire,是由Ruby on Rails的創始人DHH(David Heinemeier Hansson)所創建的Basecamp,在2020年底的時候,所發布用來減少使用JavaScript,並且加速頁面載入的前端框架,其透過傳送HTML來達到快速載入頁面的效果。由於Hotwire不使用大量JavaScript,因此能加快載入初次存取的頁面,且透過伺服器渲染模板,開發者仍可以靈活地開發網頁程式,來提升生產力。

另外,Webpack不再緊密捆綁Webpacker,開發者可以使用任意JavaScript打包器,像是esbuild、rollup.js甚至是Webpack,藉由新的jsbundling-rails整合,開發者可以隨心所欲使用熟悉的工具。在CSS打包工具也一樣,使用Rails 7時,只要開發者能夠良好編譯應用程式CSS檔案,便能夠順利整合在一起,無論是使用Tailwind CSS、Bootstrap還是PostCSS都沒問題。

Rails 7.0預設了前端開發最佳選項,官方提到,不使用Node帶來更簡單的開發體驗,具有同樣強大的功能,但比起過去更輕巧更符合規範。

除了前端開發大革新之外,取自Basecamp所開發的電子郵件應用Hey,Rails 7.0在Active Record中添加了加密屬性,因此開發者的應用程式在靜態和傳輸中,都能夠對資料進行加密,官方提到,加密帶來最直接的好處,是提供額外的安全保護,當資料庫遭到攻擊時,即便攻擊者取得資料庫、快照甚至是應用程式日誌,也無法理解其中的資訊,而且即便不考慮攻擊事件,檢查應用程式日誌時,也不應該暴露使用者個人資訊。

而且透過使用Active Record加密功能,開發者可以在程式碼等級,定義應用程式中的敏感資訊組成,而這能夠控制存取這些資訊的方式,並且依此建構相關的服務。


熱門新聞

Advertisement