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