寫完發現行文思路很不理智... 就當睡前看看開心一下吧 :P前端
在看過 React China 上同窗推薦的 SwarmJs 以後, 漸漸一個想法的輪廓浮現出來
細節我看得似懂非懂, 嚴謹的同窗戳下邊的連接本身去看:
http://stackoverflow.com/a/27494397/883571
https://news.ycombinator.com/item?id=9020318
https://news.ycombinator.com/item?id=7904220
大概意思就是 CRDT 和 OT 是兩套分佈式計算領域數據同步的算法
我以前只關注 Diff/Patch 方案, 回過神來採發現這個問題被研究好多年了
已經淡出人們視野的 NowJS, Google Wave 作的不就是這事情嗎?算法
數據同步是給很是大的問題, 按 SCIP 說的大概是並行計算的問題
函數式編程的代碼對於處理肯定時序的操做解決得挺不錯
可是到了並行計算, 抽象出的對象就天然而然具有私有狀態
結果就是大量的狀態, 各類不肯定的執行順序, 編程就不會簡單了數據庫
站在前端開發的立場上, 數據同步的問題我認爲是這樣一些:
數據庫 -> 服務器 runtime -> 瀏覽器 JavaScript runtime -> DOM
若是不是技術上的限制, 咱們甚至不須要分層, 開發成本小得多
但現實是. 即使 React 搞定了 JS 到 DOM 的同步, 其餘問題依然艱鉅編程
我最初學作網頁歷來沒想到有一天我還要解決數據同步問題
而如今感受兼職就是前端面臨的兩個巨大的難題之一
固然多終端的場景下數據同步有大量實驗, 前端跟進也只是時間問題
但從另外一個角度, 我但願未來開發成本要儘量低, 不知道可否達成後端
用代碼一行一行去寫圖形界面, 我感受已經成了巨大的誤區
這種作法最大的問題固然是時間, 很簡單的圖形界面, 卻花那麼多時間
把咱們年輕的時間投入在這上邊, 內心的感受只是比搬磚好一點
對應圖形界面來講, 好看, 容易調整, 纔是第一位的, 代碼只是其次
可是看網頁開發這邊圖形化工具那麼初級, 真的只能感慨了瀏覽器
編寫代碼帶來的漫長的反饋循環也是限制創造力的巨大的因素
不用去思考代碼實現, 只思考哪些因素怎樣改變? 效率會高得多, 想法也多得多
在 Paper by Fiftythree 上畫畫纔是正常的途徑, 隨手塗塗改改
做爲工程師去研究怎麼改進圖形化編程遠比手碼 CSS 更有意義
這種繁瑣的編程方式消耗的是全世界 Web 開發者的精力服務器
上邊我好多都是氣話. 現實固然是一切正在不斷變好, 工具愈來愈多
我最近瀏覽了一些東西, 愈來愈在乎那些同時精通精通設計和編程的人
前端的工做, 又算工程師, 又寫界面, 但二者依賴不一樣的思惟方式
或者說是一種既不純是工程師也不純設計師的, 特別的思惟方式
新技術推動, 各類利弊從新權衡, 被時間淘汰的工種原本就不少網絡
我目前的觀點是, 單頁面應用, 在 Store 和 DOM 二者之間應該分開
Store 與後端按照分佈式計算思路, DOM 部分純粹用界面組件化思路
Google 的 Polymer 真心是在 UI 組件化的問題上推動了一大步
React 實現的 material-ui 我想也算得上一大步, 但須要時間考驗
CSS 估計是前端主要進攻的難題, 它那套編程模型有二十年了吧編輯器
先說網上看到一個觀點頗有意思, 細節我忘了, 大意是說分佈式
新技術的產品須要等待每個部件的成熟, 製做工藝, 使用難度,
只有所有突破, 才能, 甚至可能給世界帶來巨大的改變
說的就是 VR 的問題, 從前我看 TED 上"第六感科技"的視頻以爲很贊
就覺得新的產品已經來了, 然而到這兩年纔有 Glass, Hololens, Oculus 進展
人氣很高的 Magic Leap 奇怪沒什麼聲響. 整體感受已經只差最後幾步了
週六追了一些 Oculus 發佈會的演示視頻, 這個主要是遊戲
我不喜歡遊戲之前是以爲遊戲太難玩, 可是 VR 也許就不同了
或者由於我沒玩過 VR 因此抱好感, 總之, VR 看上去大不同
更重要的是, VR 帶來之後, 交互方式將發生巨大的改變
鍵盤, 鼠標, 屆時面臨語音識別和三維空間中手勢識別的挑戰
雖然短時間看來不大可能, 但能夠想象一下在三維空間中交互會怎麼樣
捕捉語音和手勢的技術逐漸會有成熟, 而後, 怎麼樣編程?
頗有可能如今的文本編輯器會被淘汰掉, 被 3D 的圖形替代
好比說語法樹直接在辦公室展開, 不斷造詞, 添加到樹上, 完成編程
有了更強大的操做方式, 就能同時處理更多的數據, 帶來不少可能性
上邊的想法基於人工智能和交互技術, 原本也是 VR 沉浸式的體驗必備的
確實估計不清楚人工智能究竟何時能提高到什麼程度
可是考慮其加速技術自身進化的可能性, 我想仍是保持樂觀吧
另外若是對編程的改進真的那麼大的話, 真也值得敬畏了
從古代的信件, 到電話, 到視頻, 如今已經能在手機上視頻通話
VR 和 AR 按照 Facebook 的估計, 會更加容易被人用於交流
並且一些概念的視頻裏也描繪了遠程經過 VR 一塊兒工做的場景
不過沒有展現的是, 若是有上百上千人同時在一塊兒交流呢?
甚至於那麼多人同時作一件事情? 而且時刻看到同伴的進展?
記得 Youtube 看到過演講, 演示上千人唱歌的視頻被製做成和聲
現實當中咱們組織不到那麼多人, 但是在網絡當中就實現了
我忘了哪還看到個例子, 不少我的同時用手機控制大屏幕上的乒乓球拍
多是個乒乓球遊戲, 集體控制球拍的測試吧, 總之以爲挺有趣的
可是再想象一下幾千人一塊兒畫畫, 一塊兒開發軟件? 結果是什麼樣子?
在 Paper by Fiftythree 的 Mix 裏我看到不少人基於一副畫想象和創做
在豆瓣線上或者我看到同一個想法, 被各類截圖照片和句子來豐富
在 GitHub 上同一套語法, 被開發成爲各類不一樣的代碼, 還能拼在一塊兒工做
微博一張照片被轉發上萬次挖出幾十個一連串的笑點, 一千個哈姆雷特
那麼當一千我的經過 VR 彙集在一塊兒創造, 他們會創造出什麼?
再好比書籍原本是一代人一代人傳播知識的方式, 如今換成了網絡
很快, 視頻技術發展, 再運氣好的話, 製做動畫的技術跟着 VR 日新月異
我是說人機交互上一個臺階以後, 咱們會更容易控制動畫的大量參數
那麼知識從文字的形式變成動畫形式, 傳授知識的速度立立刻一個臺階
再後面的事情照着科幻電影隨便來就行了, 反正外國人早就想那樣了
固然上邊這些胡思亂想都創建在 Web 和 VR 技術高速發展的前提下的 只是假如微軟, 谷歌, Facebook 在這兩塊方面進展緩慢的話.. 那麼五年或者十年之後, 我可能仍是在 SF 上寫寫牢騷給人笑笑而已 總之個人問題也擺在這了, 五年十年之後, Web 跟 VR 會發展到什麼程度?