不知道有没被昨天的惊讶到?不同的人对这抱着不同的态度。虽然各种框架、库发版之快,但并不会阻止部分人去研究应用。昨天的文章可能带给你的是一些前端的名词解释,那么今天由@谢丽翻译的文章可能会给你另一番不同的感受。 正文从这开始~ 如果你以前有编程经验,但是一名前端Java开发的初学者,那么一系列的术语和工具容易引起混淆。我们不会纠缠于细节的讨论,而是会纵览当前的“Java生态圈”。这应该足够你找准方向,开启前端开发之旅。 关键术语显示为粗体。如果你想跳到可以工作的样板代码库,那么我已经将我的一些建议整理成了一个GitHub库。 客户端Java是如何工作的,为什么要使用它? 关键术语:DOM(文档对象模型)、Java、async、AJAX 为了编写高效的前端代码,你需要对如何综合运用HTML、CSS和Java创建Web页面有一个基本的了解。 当客户端(通常是浏览器)访问HTML页面时,它会下载它,解析它,然后使用它构造DOM(文档对象模型)。Java可以同DOM交互及修改DOM,交互式站点就是这样创建的。这里有一个DOM的基本介绍。 Java是如何包含到页面中的?那是另一个复杂的问题,但它是以标签开始的。 Java的执行会阻塞DOM构造。这就是说,执行Java的时间过长会让人觉得页面没响应。为了避免这种情况,客户端Java经常都是大量使用异步。(你可能听说过AJAX,它就代表asynchronous Java and XML。) 如果你正在构建一个交互式站点,那么你会需要使用Java,你可能会使用这种或另一种方式处理异步。 框架是什么?我需要使用trendy.js吗? 关键术语:React、Angular、Ember、Backbone、jQuery、Underscore、Lodash “框架”这个词有许多意思。Java框架的目标通常是减少构建交互式Web页面过程中无谓的工作。从根本上说,框架就是脚手架,设计用来解决一个特定种类的问题。 许多当前流行的框架都是设计用来解决这样的问题的,“如何创建一个支持复杂用户交互的单页Web应用,并在前端管理所有的业务逻辑?”单页应用或者SPA是不需要刷新页面的Web应用,产品的大部分都是作为一个单独的“页面”而存在——回想下Facebook首页或者Gmail收件箱。 那么该用哪个框架呢?React? Angular? 还是Ember?甚至说你需要框架吗?选择麻痹症的信号! 所有这些项目都试图帮你编写更好的Web应用程序。对于选择哪个框架,没有正确的答案,如果有,你就应该使用。 如果你是刚刚开始使用Java,那么不使用框架可能会更好一些,尝试使用jQuery构建一个站点,其他的少用或不用。那很快就会变得让人厌烦,但你能做到,这会让你了解到一些重要的、有关Java工作原理的东西。你还可以使用jQuery践行好的软件工程准则。 如果你正在开发一个相当复杂的站点,那么你会发现框架很有用。当前,Angular、React和Ember都是流行且明智的选择。Backbone是一个相对较小的老式框架;它也适合于许多项目。我为本文整理的初学者工具包使用了React,但实际上,没有错误的选择。TodoMVC使用不同的框架实现了同一个清单应用程序,检出它,自己比较一下各种框架。 Java还缺少许多其他语言内置的标准库函数,像字符串填充或数组重排。为此,我们通常会使用像jQuery、Underscore和Lodash这样的库来弥补这种不足。按照惯例,这些库在导入后要分别使用$、_和_引用,因此,如果你看到一个Java文件中有许多美元符号,几乎可以肯定这是调用了jQuery。 如果你要开始一个新项目,我建议使用React或者Angular以及Lodash。 我应该编写Java,还是其他的什么?Java的种类有哪些? 关键术语:ES5、ES6、ES2015、Coffee、Type、Clojure、Babel、“转译(transpiling)”、“编译(compiling)”、MDN参考 “Java”实际上并不是一门单独的语言。每个浏览器供应商都实现了自己的Java引擎,由于浏览器和版本之间的差别,Java饱受碎片化之苦。CanIUse.com记录了部分不一致的情况;你也可以查看Mozilla开发者社群里的文档。 ES6又称 ES2015/Harmony/ECMA6/ECMA 2015,是Java规范的最新版本。它引入了新的语法和功能。胖箭头、ES6类、本地模块和模板字符串都是这个Java版本的一部分。Treehouse提供了一份不错的ES6入门教程。 (责任编辑:本港台直播) |