[問題] 請推薦 cordova 適合的mvvm框架?

作者: dream1124 (全新開始)   2014-09-24 21:39:06
大家好
小弟的公司正想為稍具雛型的 cordova 跨平台應用引入前端框架,
讓各種程式碼可以分離、可以降低耦合度
請問大家可以從學習難度、功能性、維護擴充的角度
分享或推薦一下適合的前端框架嗎?
目前的畫面元件使用 jQuery mobile 1.3.1 ,有聽說和 backbone.js 很搭,
但因為各種功能相對較 angular 與 ember 簡易,
聽說像我們這樣不是很有經驗的前端開發者未必能掌握得很好,
不知道其他像 angularjs、ember.js 會更適合拿來規劃架構嗎?
謝謝大家~
作者: up9cloud (九天)   2014-09-25 00:07:00
不建議angular做手機,其他都很好但performance不好...
作者: carylorrk (carylorrk)   2014-09-25 07:41:00
用 ionic + angularjs 開發過,必須對 data binding 下功夫。不過基本上效能都遠落後 native app
作者: mrbigmouth (大嘴先生)   2014-09-25 08:53:00
不建議用mvvm做cordova其實我覺得jquery mobile也不算好用 對我而言就是boostrap的作用 直接用backbone+bootstrap就行了
作者: shadowjohn (轉角遇到愛)   2014-09-25 20:23:00
我也不覺得 jquery mobile 好用...
作者: carylorrk (carylorrk)   2014-09-25 22:16:00
backbone 我通常還是會配合其他 two way binding...angular 很方便,寫起來很像一般程式,但是不熟悉就容易因爲背地裏做太多不必要的事而造成效能落差。尤其是語法自成一格,寫起來方便但是不容易直觀轉換成真正的網頁操作,新手很難評估效能 impact
作者: up9cloud (九天)   2014-09-26 04:14:00
我是指angular從你那三個角度看都還不錯,只是效能特差若主要是desktop瀏覽,再考慮吧。效能真的很差。-_-"可以幫我修掉這句跟上句後面效能嘛,我重複了...
作者: mrbigmouth (大嘴先生)   2014-09-26 08:54:00
要我說的話 我不喜歡任何一種在html上動手腳然後去重新render網頁的framework 效能只是其中一方面在我看來這跟寫onclick="abc();"的缺點差不多 你在debbug時必須從html中去對程式碼做排錯....二來這些framework雖然的確方便 但太過自動一但你需要做些什麼 需要花費的額外工夫很可能遠大於你之前從這些framework上得到的便利You don't need control everything, But you can'tcontrol everything不要自己造輪子是很正確的道理 但請先確認你要製造的是不是無敵鐵金鋼以現在的cordova的環境 我建議還是用原始一點的工具
作者: carylorrk (carylorrk)   2014-09-26 11:34:00
我記得之前聽 firefoxOS 的人演說,他們建議在上面連JQuery 都不要碰爲妙XD
作者: kinanson (kinanson)   2014-09-26 22:26:00
ionic比jquery mobile快很多啊
作者: carylorrk (carylorrk)   2014-09-27 02:00:00
我也覺得光談基本功能, ionic + angular 比 bootstrap+ JQuery 快,但是沒有實際測試數據不敢提 XD
作者: mrbigmouth (大嘴先生)   2014-09-27 10:26:00
1.簡單的說 HTML是很好的表達語言 但不是好的程式語言 你把程式語言跟HTML混在一起就會增加維護跟debug的障礙 這也是為什麼會有MVC 讓視圖跟語言分離的原因2.原始一點的工具 簡單的說就是Backbone去掉sync跟router的部份 也就是物件導向、繼承、事件驅動的那一塊那是純脆由Javascript這語言的基本特性導出的設計模式是效能最高也最貼近語言本身的工具 而且絕不會有跨平臺的問題所以我會建議在cordova上用Backbone然後router跟sync的部份自己重寫覆蓋 Backbone是有提供接口讓你蓋的
作者: matrixki (New Season)   2014-09-28 00:26:00
knockoutJS
作者: carylorrk (carylorrk)   2014-09-30 13:46:00
angular 並沒有把程式邏輯和表達混在一起吧?比較類似Django 那種 MTV 架構,也就是MVC 把大部分 C 處理掉template language 的目的是爲了解決 HTML 原生不適合動態內容的顯示的問題
作者: mrbigmouth (大嘴先生)   2014-09-30 14:01:00
我個人是覺得angular的template已經超出template language的定義了 你需要用attr的方式去處理if each指定controller跟scope等等 就是在用html的表達示語言去處理應該由程式語言去處理的東西
作者: carylorrk (carylorrk)   2014-09-30 17:45:00
指定 controller 是因爲不像 django 是用設定檔和檔案結構作爲判斷吧。如果想要的話使用一致性的命名和organization 其實是差不多的。不過的確有太多特性會讓新手濫用了。儘管官方也一直強調 MVC 和 testing XD就像是 PHP 雖然也有不錯的 framework 和架構模式,但大多數新手寫出來的都是混在一起的怪獸XD有點像是加法和減法吧,一個是提供很豐富的功能,但是寫多了會去蕪存菁。一個是提供 core,慢慢加上自己需要的功能。

Links booklink

Contact Us: admin [ a t ] ucptt.com