这是一本以 Ember.js 框架,特别是最新的 Octane Edition 为主题的小册子。
过去四五年间,我使用 Ember.js 框架开发过上百个项目,包含了各种应用程序和扩展插件以及和它(们)相关的周边程序。无论是工作需要还是个人爱好,这个框架都能满足我的需求并给予我优秀的开发体验。
与此同时我也陆续撰写了十数篇相关的技术文章,录制了若干零散或成系列的视频教程,不但是为了自己的知识沉淀和积累,也是为了和广大同好相互交流。现在我常常出没在一个 Ember.js 主题的 QQ 群里(242650456)和大家一起研讨技术,分享心得,不亦乐乎。
但是这些也还远远不够。群里时常有人在询问:“有没有中文的文档资料?“,“有没有最新的新手教程?“;还有人建议我写书出版,甚至承诺一定会出资购买等等……在此我先感谢大家的支持和厚爱!然而我必须要说出版纸质书并不是一个好的方式,除了对于我个人的名声有所助益之外,我看不出纸质书还有什么优点可言(仅针对程序员来说)。
纸质书的编撰和校订都很不易,极费时间和经历。纸质书的时效性很差,前期工作经年累月,好容易可以出版发行了,其中大部分的内容可能都过时了。纸质书不便于“增删改查“,特别不适合咱们技术工作者日常使用。
我自己是喜欢录制视频教程的,主要是因为我喜欢记录思考和解决问题的过程。我自己看过无数的视频资料,觉得通过观察过程所得要远比直接给出的结果更多、更有价值。但视频也和纸质书有一样的缺陷:不便于“增删改查“,而且视频的准备录制过程也是极其繁琐,略过不表。
这些问题的存在促成了这本小册子的诞生。对于那些不适合录成视频的内容,特别是成结论性的需要总结的方案和经验,我就把它们都记录成篇,方便所有人查阅。
另外,虽说这本册子是以 Ember.js 框架为主题的,但我希望它的内容可以不囿于此,能够兼具深度和广度。我学习和研究的目标从来都不是某种工具,而是 UI 编程这回事。然而一切复杂(同时也有趣)的事情都离不开一个“工欲善其事、必先利其器“的过程,我们这些开发者也都是随着某种工具而入的门,Ember.js 只是一个缘由,而不是结果。
这个缘由始于差不多 2012 年,发展至今,最新的 Octane Edition 已经和最初的 Ember.js 相去甚远了——但这不是一件坏事。假如读者您在前端框架爆发的那些年(大约三五年前)曾经接触过 Ember.js,那么今天有缘重逢您可以把从前留下的“刻板印象“都丢掉了。希望这本册子能帮助大家重新认识 Ember.js 和它在现代 UI 编程领域里的应用。
闲语至此,就让我们先从什么是 Octane 开始讲起吧。