本文主要包含Compoents,Facebook,Ractive,Angular,Mozilla等相关知识,匿名希望在学习及工作中可以帮助到您
标题党了,, 具体说意思吧, 看到 Web Compoents 规范进展很多,
Google 的 Polymer, Mozilla 的 X-Tags, Facebook 的 React,
以及一些 MV* 框架, 比如 Angular, Ractive, 都在使用自定义标签功能加强抽象.
HTML 原先抽象起来太艰难了, 现在终于好转..
我想知道, 要多少年才能到大家都能顺手呢?
先看看界面部分吧。
#1. 命令式还是声明式
毫无疑问,就写界面来说,声明式的代码编写效率远高于命令式:
Panel p = new Panel(); p.title = "Test"; Button b = new Button(); b.label = "Click me"; p.add(b); 本答案仅为反对轮子和轮子的脑残粉而写。【请轮子的脑残黑也自重,不要跑到本答案的评论区叫好。】
【补充对问题本身的回(tu)答(cao)】
这个提问(还要多少年, 前端开发才能像客户端开发那样轻松?)又是一个前提(客户端开发比前端开发轻松)就未必成立的提问。实际上长期以来,浏览器端开发一直比客户端开发要更方便优雅。
当然,我赞同 @徐飞 答案里的大部分分析。但是那答案是讲web开发本身的挑战,没有跟客户端开发的比较。其实客户端开发的翘楚,比如WPF——XAML显然大量借鉴了web开发的方式。 我觉得现在前端已经可以很流畅地像客户端一样开发了. 直接上图比较直接. 这个是我们新开发的引擎工具 http://fireball-x.com/, 整个都是 HTML5 技术做界面. 我想说如果我用 WPF, QT 什么的写的话, 这个项目基本就难产了.
如果你是一个像我一样对操作细节有疯狂追求的人, 那么你写界面的时候一定会希望更多的自定义和对原生控件的修改. 这个时候你会发现 HTML5 的界面书写才是你的好伙伴. 比如:
设计这种贴心的 gizmos:

精准的 tree view 插入提示:

为每个控件量身定做的 focus 视觉效果:


甚至还有窗口间的 dock/popup:

然后一开 Dev Tools 就可以调节样式, Debug, 很符合处女座们对 1px 的追求:

更新 =============================
我只是回答了一下问题, 顺带show了一下我们未公开的项目. 没想大家挺好奇这个项目的. 我就简单介绍一下大概的技术结构和选型过程:
整个项目是构建在 Atom-Shell 之上的. 我们最开始是在 Node-Webkit 上面编写, 但是无奈 Node-Webkit Bug 比较多, 更新和反馈不是很及时, 所以就换到了 Atom-Shell. Atom-Shell 项目活跃度很高, Report Issue 基本都是当天回复, 而且我发现 Atom-Shell 的作者之一赵成战斗力惊人, 也是 Github 上得满绿程序员.
这是我的战斗力:
这是赵成的:

所以我是脑残程序粉, 喜欢 fo 战斗力爆表的程序员和他的项目. 于是我们就改成 Atom-Shell.
底层 UI 部分我们是在 Polymer 基础上构建的. 所以我们玩的很 fashion 很 high! Shadow DOM, Custom Element, Object Observe, css flex, Web Animation, SVG, 任何你能想到的酷炫新技术, 都在我们的编辑器开发中一一使用. 最开始我使用 Angular 和 React 分别作了一版, Angular 因为采用 MV结构, 不太适合 IDE 类型的程序形态, 具体 MV 粉
Google 的 Polymer, Mozilla 的 X-Tags, Facebook 的 React,
以及一些 MV* 框架, 比如 Angular, Ractive, 都在使用自定义标签功能加强抽象.
HTML 原先抽象起来太艰难了, 现在终于好转..
我想知道, 要多少年才能到大家都能顺手呢?
回复内容:
我们来分析一下究竟哪些因素让前端开发这么困扰。先看看界面部分吧。
#1. 命令式还是声明式
毫无疑问,就写界面来说,声明式的代码编写效率远高于命令式:
Panel p = new Panel(); p.title = "Test"; Button b = new Button(); b.label = "Click me"; p.add(b); 本答案仅为反对轮子和轮子的脑残粉而写。【请轮子的脑残黑也自重,不要跑到本答案的评论区叫好。】
微软十几年前早早搞出了HTML Component,但是netscape的余孽创办的W3C极力阻挠。现在好了,大家还在慢慢等Web Component。要是当初那一小撮人老老实实接受失败,现在前端们的日子都很好过。现在的前端,就想被卖了还替他数钱一样。轮子你能不能不要对自己不知道的领域乱说话?w3c是TBL创立的,跟netscape有毛个关系。实际上当初的web components提案(Behavioral Extensions to CSS)是MS和Netscape一起提的。
【补充对问题本身的回(tu)答(cao)】
这个提问(还要多少年, 前端开发才能像客户端开发那样轻松?)又是一个前提(客户端开发比前端开发轻松)就未必成立的提问。实际上长期以来,浏览器端开发一直比客户端开发要更方便优雅。
当然,我赞同 @徐飞 答案里的大部分分析。但是那答案是讲web开发本身的挑战,没有跟客户端开发的比较。其实客户端开发的翘楚,比如WPF——XAML显然大量借鉴了web开发的方式。 我觉得现在前端已经可以很流畅地像客户端一样开发了. 直接上图比较直接. 这个是我们新开发的引擎工具 http://fireball-x.com/, 整个都是 HTML5 技术做界面. 我想说如果我用 WPF, QT 什么的写的话, 这个项目基本就难产了.

设计这种贴心的 gizmos:

精准的 tree view 插入提示:

为每个控件量身定做的 focus 视觉效果:


甚至还有窗口间的 dock/popup:

然后一开 Dev Tools 就可以调节样式, Debug, 很符合处女座们对 1px 的追求:

更新 =============================
我只是回答了一下问题, 顺带show了一下我们未公开的项目. 没想大家挺好奇这个项目的. 我就简单介绍一下大概的技术结构和选型过程:
整个项目是构建在 Atom-Shell 之上的. 我们最开始是在 Node-Webkit 上面编写, 但是无奈 Node-Webkit Bug 比较多, 更新和反馈不是很及时, 所以就换到了 Atom-Shell. Atom-Shell 项目活跃度很高, Report Issue 基本都是当天回复, 而且我发现 Atom-Shell 的作者之一赵成战斗力惊人, 也是 Github 上得满绿程序员.
这是我的战斗力:

这是赵成的:

所以我是脑残程序粉, 喜欢 fo 战斗力爆表的程序员和他的项目. 于是我们就改成 Atom-Shell.
底层 UI 部分我们是在 Polymer 基础上构建的. 所以我们玩的很 fashion 很 high! Shadow DOM, Custom Element, Object Observe, css flex, Web Animation, SVG, 任何你能想到的酷炫新技术, 都在我们的编辑器开发中一一使用. 最开始我使用 Angular 和 React 分别作了一版, Angular 因为采用 MV结构, 不太适合 IDE 类型的程序形态, 具体 MV 粉