文将推荐七大生产力工具来帮助程序员充分利用JavaScript,并使整个过程更轻松。在现实世界中,JavaScript是最常用和使用最广泛的编程语言之一。这些JS开发工具不仅为程序员提供了更多可能,还可以帮助他们进行调试,并为HTML5提供重要支持。
这些工具在几年前并不常见,但现在每个程序员都习惯使用Javascript编程工具来开发或编程。这个工具包可以为开发人员提供非常有用的帮助,因为它可以轻松地编写和执行代码,并找到代码中的问题。
jQuery UI
借助jQuery UI,程序员可以为多个网站应用程序设计自定义用户界面,还可以减少为不同互动特征和网站小部件编写的代码量。 jQuery UI包含多个保持状态的窗口小部件,因此与通常的jQuery插件相比具有更加独特的使用数组。所有jQuery UI的小部件都具有相似的模式,因此只要掌握了其中一个,就可以了解全部。
Express JS
Express.js是一个基本框架,允许程序员在Node.js的帮助下开发网站应用程序。它具有非常高的灵活性,对于程序员来说,它是一个高度响应和可靠的开发框架。Express JS非常稳定、具体,程序员可轻松使用。快速JS的一些功能使得它对程序员来说是独一无二的,非常优先。Express JS主要特征之一是允许程序员以非常可达的方式创建API,同时还提供了一个URL路由器。
Bytescout
使用Bytescout PDF generator SDK,程序员可以创建有丰富图像和文本的客户端PDF代码。该工具有许多可供任何级别开发人员使用的选项,你可以轻松地从画布或URL添加图像,绘制符号,线条以及设置页面方向,旋转等。
Jx
Jx是用于开发用户图形界面的JavaScript库。Jx有助于向JavaScript提供AJAX支持。它公开地支持GET和POST方法。纯文本和JSON是Jx两种主要支持的返回类型。在GET方法的帮助下,用户可以将数据传输到服务器端脚本。GET方法的一个例子是url.php?.连接解锁后,POST方法将传输数据。
GET方法的语法:
GET方法的示例:
WaveMaker
WaveMaker是一款开源软件,可用于开发任何类型的网站应用程序,并且有助于部署这些应用程序。新开发的网站应用程序可以通过WaveMaker运行,它也有助于API开发。在WaveMaker的帮助下,开发人员可以减少开发应用程序时可能发生的浪费,并以更快的速度交付产品。由于WaveMaker允许开发人员立即创建应用程序,并且使他们有机会立即进行测试,可能的错误和故障将被完全消除。
JSDoc Toolkit
JSDoc Toolkit帮助开发人员轻松地记录其代码。所有用JavaScript编写的代码都可以在JSDoc Toolkit的帮助下轻松记录。由具有独特编码风格的不同开发人员开发的大规模应用程序可以通过JSDoc Toolkit轻松管理。
JSDOC工具包的语法:
JSDOC工具包的一个例子:
该代码可以输入任何JavaScript,不需要任何单独的文件。
Firebug
Firebug被认为是用于前端调试的最佳Javascript编程工具之一。它有能力在代码中设置分区,以便开发人员可以方便地浏览代码。对于在Mozilla浏览器外工作的开发人员,建议使用Firebug Lite。Firebug Lite本身就是一个JavaScript库,允许开发人员将其数据库包含在网页中,以便可以使用Firebug的某些功能。
所有使用JavaScript编写的命令都可以被Firebug命令行轻易接受。一旦输入了JavaScript命令,每个命令的结果都会以超链接的形式出现在控制台中。有与Firebug应用程序相关联的多个窗口,并且每个窗口显示应用程序的不同功能。它还让开发人员看到单个文件的下载时间。它分解多种形式的对象,如JavaScript的文件和图像,并指出从浏览器缓存加载的文件。
经过前一天Messenger应用平台、Parse物联网开发者工具等惊喜的轰炸,Facebook于今天凌晨在F8开发者大会上正式开源了React Native。不过目前,只有iOS版,Android版还需要再等一段时间,这是最新的用JavaScript语言开发原生App的尝试,其示例代码相当简洁,内置控件也不少。同时还为React Native开发了一款基于Atom的IDE——Nuclide,也已开源。
React Native主要特性如下:
React Native主张“Learn once, write everywhere”而非其他跨平台工具一直宣扬的“Write once, run everywhere”。通过React Native,开发者可以使用UITabBar、UINavigationController等标准的iOS平台组件,让应用界面在其他平台上亦能保持始终如一的外观、风格。
var React = require('react-native'); var { TabBarIOS, NavigatorIOS } = React; var App = React.createClass({ render: function { return ( <TabBarIOS> <TabBarIOS.Item title="React Native" selected={true}> <NavigatorIOS initialRoute={{ title: 'React Native' }} /> </TabBarIOS.Item> </TabBarIOS> ); }, });
JavaScript应用代码和原生平台之间所有的操作都采用异步执行模式,原生模块使用额外线程,开发者可以解码主线程图像、后台保存至磁盘、无须顾忌UI等诸多因素直接度量文本设计布局。
React Native引入了一个类似于iOS上Responder Chain响应链事件处理机制的响应体系,并基于此为开发者提供了诸如TouchableHighlight等更高级的组件。
var React = require('react-native'); var { ScrollView, TouchableHighlight, Text } = React; var TouchDemo = React.createClass({ render: function { return ( <ScrollView> <TouchableHighlight onPress={ => console.log('pressed')}> <Text>Proper Touch Handling</Text> </TouchableHighlight> </ScrollView> ); }, });
Facebook在 React Native的主页上详细介绍了React Native的种种功能特性,想要了解更多细节,可直接进入主页查看,而其为React Native搭配的开源IDE Nuclide支持React Native、Web和原生移动开发,基于Atom构建,不过也需要翻墙。
几篇文章已经基本上把Web App和Native App的优劣讲清楚了。
不过还是想提醒大家注意,Web App,现在有时候也称为轻应用,不仅是通过浏览器就能打开的应用。现在随着HTML 5在手机端的优越性,已经慢慢称为了Web App的主流。Web App除了出现在PC的浏览器中,还大量出现在手机浏览器中或一些平台级应用中,例如微信中大量的交互内容,都属于Web App的范畴。
HTML 5取代的只是之前的HTML和Flash
HTML5是一种彻彻底底的Web技术,包括最新的网页端的脚本语言HTML5语言、Javascript 2.0和CSS 3.0这三部分。HTML5的主要目标是取代原有的脚本语言HTML,提供更好的交互效果和更丰富的API,以及更高的运行效率。
HTML5取代的是很多很多年前产生的HTML版本。熟悉互联网的人肯定清楚,互联网可谓日新月异,但是支撑整个互联网的语言HTML,在HTML5以前却变化不大,这个严重阻碍了互联网本身的发展,这才是产生HTML5的一个根本原因。还有以前也常见Flash的应用场景,会被HTML5取代。
现在对HTML5的指责,主要是针对HTML5的性能,也就是常说的“用户体验”这一方面,由于HTML5是脚本语言,再加上Javascript 2.0实际上还是单线程运行的,运行的效率上客观地讲,确实比不上Native App。但是,如果用HTML5做前端的轻应用,哪怕是在手机上实现,性能已经足够了,这也是为什么越来越多基于HTML5的轻应用出现的手机端的原因。另外,随着浏览器对HTML5的支持越来越好,手机CPU速度越来越快,以及各种引擎对HTML5的优化,用户体验会越来越好。
因此,很多人主观的把整个Native App行业和HTML5对立起来,这本身就是有问题的。 另外,反观Native App,开放应用数量庞大,小团队众多(赚钱的很少),同质化严重,模仿门槛低,刷榜问题严重,都困扰了Native App的发展。
HTML5的新一轮高速增长:微信
下图是今年下半年的HTML5搜索指数,有一个明显的提升。除了基于HTML 5开发的Web本身,随着微信的发展,大量的基于HTML5的内容找到了出口,内容数量疯狂增长中!而现在对HTML5的需求还远远没有得到释放,相信很快很多其它的平台也会支持HTML5的内容,让我们拭目以待!
在社会化媒体和自媒体的大环境下,客户把更大精力放在实用的微信轻应用上,而越来越少直接花钱购买Native App,道理很简单,如果采用Native App的方式,我要传播到1000人,并让他们下载安装是个非常难的事儿,但是如果做成轻应用往朋友圈里一传,可能1万人都很轻易达到。
HTML5慢慢演变为一个刚性需求,在需求旺盛的带动下,前端程序员/HTML5工程师的工资水平原来越高,而且好的还非常难求。另一方面,Android和iOS开发工程师,市场需求已经明显放缓。
更有大量的HTML5的公司顺势而生,做大量的Web App应用。产生HTML5内容的成本也越来越低,伴随这技术的发展,包括国内外都有大量的可视化工具可以快速生成基于HTML5的Web App应用。
对于HTML5被Facebook弃用这件事,除了记住扎克伯格的懊悔之外,我们不能忽略的是还有一篇报道,如下图所示。
这篇报道说明了什么?并不是Facebook本身不用HTML5了,而是Facebook这个Native App不直接采用HTML5的方式开发。这两者的区别可就太大了,这也引出我的下一个问题。
HTML 5适合小公司,适合做内容
我是HTML5的坚定支持者,但是我至少现在还不认为HTML5可以做所有东西,至少一些太过复杂的重度游戏、一些大型的门户(包括上面说的Facebook)、一些涉及高运算或复杂算法的应用,我个人认为至少现阶段还不适应用HTML5去开发。
所以...HTML5和Native App会走向融合 !
HTML5 Web App和Native App各有优势,互为补充,能不能不把技术直接对立起来,而是用技术的进步来解决技术还存在的问题,使二者从对立走向融合。而且我个人觉得结合的场景最好在大型的Native App平台,并且这些平台是可以UGC或PGC产生内容的。
我们以微信为例,微信这个应用本身就是一个Native App,但是在这个巨大的平台里面,又可以容纳海量的HTML5 Web App,这样的轻应用,充分发挥Native App的运行效率,同时又以海量的Web App来扩充其内容,给用户带来更丰富的体验和更优质的交互内容,这样不是很好吗?
现在来看一下如果基于HTML5的Web App和Native App融合,形成一种Hybrid App,会给我们带来什么好处吧:
同时还解决了,海量的Native App利用效率不高的问题,通过Hybrid App内部的Web App来动态提供交互内容,而不是安装按量的Native App应用。
另外,由于服务的统一性,降低了需要学习每个Native App的用户时间成本。
Hybrid App的优势显而易见,成本低、跨平台、不用下载-安装-更新、动态数据、维护容易,而且有现成的内容出口。而且我们这里的Hybrid App主要是指在大型平台化应用(Native Platform App)结构之下的Hybrid App,可以理解为1个Native App对应N个Web App的结构,或是一个母Native App和N个子Web App的结构,而不是简单的把Web开发和Native App开发做一个结合。
在技术上,Hybrid App的架构好处也显而易见,例如,HTML5不能自动播放语音或视频,但是微信可以。同时,微信也开放各种接口给内部的Web App调用,这样就扩展了原生的HTML5 Web App的功能,且更好的提供服务,开发上也非常简单。
本文作者是孟智平,VXPLO 互动大师 CEO,邮箱:troy@vxplo.com
致歉:36氪上周发表的一篇讨论HTML5未来的文章《Web与App的未来不是生死之争,而是融合,腾讯就在这么干》是根据笔名为Hans的作者(移动互联网从业者,微信号1396255225)之前的投稿修改,调整了文章结构、更换了标题,导致部分观点的表述和原文有所出入。在等待Hans邮件审核的时候编辑误触发表,虽然责任编辑一经发现后马上撤下,但是还是给Hans本人带来困扰。对本文对Hans可能造成一切损失表示歉意,同时责任编辑会承担相应处罚,未来我们也会加强和投稿者的沟通,优化流程,保证此类事件不再发生。再次同时向36氪的读者和Hans致歉。
*请认真填写需求信息,我们会在24小时内与您取得联系。