热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

JavaScript全讲-它能做什么

上篇我们讲到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必知的特性!涉及命名污染,匿名函数,继承,闭包等高级特性。






推荐阅读
  • 本文介绍了RxJava在Android开发中的广泛应用以及其在事件总线(Event Bus)实现中的使用方法。RxJava是一种基于观察者模式的异步java库,可以提高开发效率、降低维护成本。通过RxJava,开发者可以实现事件的异步处理和链式操作。对于已经具备RxJava基础的开发者来说,本文将详细介绍如何利用RxJava实现事件总线,并提供了使用建议。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • 本文介绍了RPC框架Thrift的安装环境变量配置与第一个实例,讲解了RPC的概念以及如何解决跨语言、c++客户端、web服务端、远程调用等需求。Thrift开发方便上手快,性能和稳定性也不错,适合初学者学习和使用。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • Java和JavaScript是什么关系?java跟javaScript都是编程语言,只是java跟javaScript没有什么太大关系,一个是脚本语言(前端语言),一个是面向对象 ... [详细]
  • 本文介绍了如何使用PHP向系统日历中添加事件的方法,通过使用PHP技术可以实现自动添加事件的功能,从而实现全局通知系统和迅速记录工具的自动化。同时还提到了系统exchange自带的日历具有同步感的特点,以及使用web技术实现自动添加事件的优势。 ... [详细]
  • 本文介绍了闭包的定义和运转机制,重点解释了闭包如何能够接触外部函数的作用域中的变量。通过词法作用域的查找规则,闭包可以访问外部函数的作用域。同时还提到了闭包的作用和影响。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 本文介绍了C#中生成随机数的三种方法,并分析了其中存在的问题。首先介绍了使用Random类生成随机数的默认方法,但在高并发情况下可能会出现重复的情况。接着通过循环生成了一系列随机数,进一步突显了这个问题。文章指出,随机数生成在任何编程语言中都是必备的功能,但Random类生成的随机数并不可靠。最后,提出了需要寻找其他可靠的随机数生成方法的建议。 ... [详细]
  • javascript  – 概述在Firefox上无法正常工作
    我试图提出一些自定义大纲,以达到一些Web可访问性建议.但我不能用Firefox制作.这就是它在Chrome上的外观:而那个图标实际上是一个锚点.在Firefox上,它只概述了整个 ... [详细]
  • 如何用UE4制作2D游戏文档——计算篇
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了如何用UE4制作2D游戏文档——计算篇相关的知识,希望对你有一定的参考价值。 ... [详细]
  • JavaScript设计模式之策略模式(Strategy Pattern)的优势及应用
    本文介绍了JavaScript设计模式之策略模式(Strategy Pattern)的定义和优势,策略模式可以避免代码中的多重判断条件,体现了开放-封闭原则。同时,策略模式的应用可以使系统的算法重复利用,避免复制粘贴。然而,策略模式也会增加策略类的数量,违反最少知识原则,需要了解各种策略类才能更好地应用于业务中。本文还以员工年终奖的计算为例,说明了策略模式的应用场景和实现方式。 ... [详细]
  • Voicewo在线语音识别转换jQuery插件的特点和示例
    本文介绍了一款名为Voicewo的在线语音识别转换jQuery插件,该插件具有快速、架构、风格、扩展和兼容等特点,适合在互联网应用中使用。同时还提供了一个快速示例供开发人员参考。 ... [详细]
  • 本文介绍了Python爬虫技术基础篇面向对象高级编程(中)中的多重继承概念。通过继承,子类可以扩展父类的功能。文章以动物类层次的设计为例,讨论了按照不同分类方式设计类层次的复杂性和多重继承的优势。最后给出了哺乳动物和鸟类的设计示例,以及能跑、能飞、宠物类和非宠物类的增加对类数量的影响。 ... [详细]
author-avatar
zengshiming
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有