為什麼 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才幾年 還沒被吃透而已 以後慢慢會多起來的
- WEB頁面技術難度更低,誰都可以玩一把
- 基礎框架出的多,說明現有基礎框架不夠好
- 瀏覽器本身也在發展,基於上層的前端框架容易受影響
- native 程序也有很多框架只是你不知道
- 創新性的開發成果不等於出來幾個框架,框架反而是最簡單的
- 每次升級都帶來新的體系,新的API,新的設計,這叫沒成果?
- 就怕像微軟一樣不斷更新技術,你可能又叫跟不上速度
瞎扯 以前沒手勢的時候 寫個應用自己寫手勢 全手勢操作的應用都是酷斃了好伐? web感覺很好是大部分人用IE6支持的標準來對比了。iOS是哪年出的?你用iPhone OS的支持來比下現在的iOS9試試?
我不認為Web前端屬於GUI編程的範疇
推薦閱讀:
※知乎是否會停止使用React?
※關於在react中request到底是應該寫在哪裡?
※怎麼樣理解reactjs中組件的反模式?
※為什麼在知乎上 React 的評價這麼低?
※使用react開發,大家使用什麼IDE工具?JSX語法報錯?