写完发现行文思路很不理智... 就当睡前看看开心一下吧 :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 会发展到什么程度?