為什麼 GUI 編程中,Web 平台的技術革新特別火爆,而 Android 和 iOS 沒什麼成果?

Web 平台上先後的 Backbone , Angular , React , Meteor 等。

而 Android iOS 平台上好像並沒有出現什麼創新性的開發成果?


這麼說吧,W3C 的 DOM API 是非常底層的,所以上面有給框架迴旋的空間(與之相似的就是 Windows Native GUI 了,那個 API 也是無比的低層,所以搞出一對框架出來);而 Android 等等,GOOG/AAPL 把一整套架子都做完了,別人也沒再做的必要了。


先答一個拋磚引玉吧。

先看看Backbone , Angular , React 等這些流行的框架解決的是什麼問題。web開發有什麼特點?

web的特點就是,原本web是用來顯示網頁的,現在我們要在這個平台上做單頁面應用,那麼就要添加很多原本網頁不是很迫切需要的特性。例如模塊化,代碼分割,組件化。這些都是javascript語言設計之初沒有考慮進去的方面,後來只能通過框架來彌補。ES6發布之後這些情況都會改善,到時候這些框架就不一定是開發單頁面web應用的必選項了。

ios開發我不了解,但android開發不存在web的問題。按照官方推薦的方法做,加上java語言的面向對象機制,就可以很好的做到組件化,模塊化。每個頁面布局有專門的地方,描述邏輯有專門的地方讓你寫。頁面之間如何切換也很好的定義了,其實不就是web框架所謂的router的功能么。

所以我的觀點,主流的web框架做的事情是針對web平台做的改善,而native app開發平台不需要這些努力已經可以做的不錯了,因此沒需求。當然如果做遊戲,那就需要更多基礎設施,於是就出現了那麼多遊戲框架,來簡化遊戲app的開發。


1. 因為原生的開發本來就是基於原生框架開發,沒必要在上面再套一層

2. 原生的UI框架是由Apple Android 內部控制開發的,無法像開源項目那麼活躍

PS. React native 倒有點像在原生框架上套了一層


主要 Web 前端一開始設計的太爛了!太爛了!爛了!了!呃!

HTML 槽點滿滿,很多次大家都想要用個 XML 之類的東西把他取代掉,當時也風風火火的搞了 XHTML,最後還是沒弄掉 HTML,一旦用的多了就會麻煩。

JavaScript 的話,作為一門 10 天寫出來的語言,在所有能用 10 天寫出來的語言里,應該算是很優秀的了。至今連個標準庫都沒有,更不用說標準框架。

CSS 的話你要直接寫不知道得複製粘貼多少回合,沒有 CSS 預處理器的話不管是寫起來還是改起來都會死人的。

---

移動端的話,以 iOS 為例,一開始就有 NSWhatever 等等大量的基本庫,而且本身 Cocoa 框架也很優秀(當然也有人不喜歡於是後面有了 ReactiveCocoa)。

而 Web 前端是本來什麼都沒有,前些年終於開始用庫了,近幾年終於開始用框架了,於是這就成為了巨大的革新。。。

你是願意一直拿獎學金,還是願意厚積薄發拿個 最佳進步獎


web都多少年了 iOS和Android才幾年 還沒被吃透而已 以後慢慢會多起來的


  1. WEB頁面技術難度更低,誰都可以玩一把
  2. 基礎框架出的多,說明現有基礎框架不夠好
  3. 瀏覽器本身也在發展,基於上層的前端框架容易受影響
  4. native 程序也有很多框架只是你不知道
  5. 創新性的開發成果不等於出來幾個框架,框架反而是最簡單的

  6. 每次升級都帶來新的體系,新的API,新的設計,這叫沒成果?
  7. 就怕像微軟一樣不斷更新技術,你可能又叫跟不上速度


瞎扯 以前沒手勢的時候 寫個應用自己寫手勢 全手勢操作的應用都是酷斃了好伐? web感覺很好是大部分人用IE6支持的標準來對比了。iOS是哪年出的?你用iPhone OS的支持來比下現在的iOS9試試?


我不認為Web前端屬於GUI編程的範疇


推薦閱讀:

知乎是否會停止使用React?
關於在react中request到底是應該寫在哪裡?
怎麼樣理解reactjs中組件的反模式?
為什麼在知乎上 React 的評價這麼低?
使用react開發,大家使用什麼IDE工具?JSX語法報錯?

TAG:iOS | 前端工程師 | Android | AngularJS | React |