作者:zengshiming | 来源:互联网 | 2023-10-11 09:27
上篇我们讲到JavaScript已经成为最热门的开发语言,但是很多传统的开发者或许并不认同!你一定遇到这样的情景:JavaScript,肯定不安全吧?只是用来验证的?不只是传统的开发
上篇我们讲到Javascript已经成为最热门的开发语言,但是很多传统的开发者或许并不认同!你一定遇到这样的情景:Javascript, 肯定不安全吧? 只是用来验证的?
不只是传统的开发者,很多不了解Javascript语言的人,对它的印象都还一直停留在"弱语言"的层次! 今天我们就来聊聊目前的Javascript能做什么,它又是凭借什么成为"最热门"开发语言的。
1. 本地化存储
由于Javascript一直没有存储数据的能力,导致Javascript处在一个“辅助”的地位,HTML5的推广,JS有了Storage,IndexDB等特性,可以存储适量(Storage大约在5M)的数据。不要小看这适量的存储,妥善设计,可以让你的系统脱离后端的制约。目前各大平台都已支持,包括Android,IOS.
2.ApplicationCache
俗称“高级缓存”,HTTP协议本身会针对请求文件进行缓存,但是由于这个缓存是协议层的设计,应用层要灵活控制比较麻烦。而ApplicationCache就是针对应用层的API,结合本地存储,可以实现离线应用! 大家看到离线应该就明白了。目前类似淘宝京东这样的电商App端,不联网照样可以正常操作。更换缓存文件,就可在应用内部失效小版本更新。
3. 高级图形编程
Javascript在图形处理方面一直是比较弱的。之前处理图形用的是SVG,SVG完全用XML来是实现图形。大型的图形处理,类似游戏中,就不太方便(目前主流的游戏引擎还是使用DOM来开发的)。而HTML5的Canvas,完全使用编程来实现图形,较之SVG更加灵活。虽然目前并没有成为主流,但是已经暂露头脚,其在游戏开发中的份额已经越来越多。
4. 后端语言
NodeJS的流行,让Javascript可以作为后端语言,加之Javascript的异步特性,以及灵活的函数式编程,针对高并发有独特的优势!相对于Java,C#等后端语言,它也更显得小而美,一个文件即可实现一个Server功能。
5. 云打印
在许多的企业软件中,都需要对各种单据进行打印,原始的Report技术都采用JasperReport以及RML等第三方进行处理。学习成本抛开不说,单是构造Report的格式就浪费太多精力,谁用谁知道!
目前市面上有许多的WebKit引擎,可以实现“虚拟DOM” 。这就可以在后台实现打印,没有额外的学习成本,还可以实现可见即所得,用户也不用安装任何打印组件,真正实现“云打印”。
“云打印”并非设想,我已完整实现,相较于传统的Report,云打印更可以兼具多线程,批量打印等额外功能。
6. 构建高扩展的架构
你可能会奇怪, “构建高扩展的架构”为什么也成为Javascript专有的特性了。 别着急,听我慢慢道来!
Javascript作为动态语言,加上其继承的灵活性,又兼具函数式编程的特性,在针对Javascript设计架构时,相较于Java会更具扩展性! Javascript从一开始被被冠以“难以管理”,但是在经过了CMD,MVC等等的发展,早已不是当初的Javascript,如果设计得当,它的兼容扩展性秒杀传统的后端语言。
Web的发展,会继续推动Javascript支持更多的特性!至于我们耳熟能详的视频播放,音频,由于其相对狭窄的应用范围,就不多讲了。
看过文章,可能有很多读者不服,说这些特性都不成熟,不能贸然使用,或者说我还是觉得它不安全! 对于此,我只能以呵呵回之!
下一篇,我会讲述Javascript必知的特性!涉及命名污染,匿名函数,继承,闭包等高级特性。