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

我们程序员为什么要关注 JavaScript ?_js

受这周我在企业中看到的JS现状的启发,我写了这篇文章。10年之前,我从来没有想过现在的JavaScript竟然会变得几乎无处不在。下面是几个你之所以要关注Java
文章目录[隐藏]
  •  客户端
  •  服务器端
  •  物联网
  •  生态系统

  受这周我在企业中看到的js现状的启发,我写了这篇文章。10年之前,我从来没有想过现在的Javascript竟然会变得几乎无处不在。下面是几个你之所以要关注Javascript的原因。

  首先,我认为Javascript能够得到普及的主要原因之一是,Javascript非常易于接近。学习Javascript,对于初学者而言,相对比较容易,对于高级用户而言,又非常强大,可以用它来构建复杂又可靠的系统。

  其次,之所以要关注Javascript是因为现今的Javascript已经无处不在。

  你可以使用Javascript在几乎所有平台上开发:客户端应用程序,服务器端业务逻辑,嵌入式芯片/物联网设备,管理构建脚本和依赖关系,等等。

  不过,这并不意味着你可以在任意情况下使用完全相同的代码,但你可以使用相同的技能——Javascript开发——提供跨越多个范式的解决方案。

 客户端

  Javascript可被用于支持客户端应用程序/用户界面,以及众多平台和设备的用户交互。

  web

  当然,Javascript支持web,这是肯定的。 Javascript是所有web浏览器基本的脚本语言。

  移动

  Javascript也可用于支持安装到本地设备上的移动应用程序。

  • Apache Cordovn/ PhoneGap——你可以使用PhoneGap或Cordovn建立本地安装的web技术app。 PhoneGap是Adobe的Cordovn品牌分支,但是从开发者的角度来看,它们基本上是相同的。运行在移动设备上的应用程序会带有一个web视图,用构建动态web应用程序相同的方式建立用户界面。用户界面虽然是用html以及css样式实现的,但是所有的交互都是用Javascript创建的。
  • React Native ——得到Javascript支持的web应用程序不仅可以内置web视图。React Native框架还允许开发人员使用Javascript和声明式的UI元素编写他们的应用程序,并生成一个可以在移动设备上运行的本地应用程序。在运行时,逻辑被解释为Javascript,但是所有(所有UI元素)与用户交互的东西,100%是本地的,这就提供了一个非常高品质的用户体验,而且现在还可用于ios和android应用程序。
  • Unity 3D——使用Unity 3D引擎,哪怕全部由Javascript支持,你也可以开发出丰富多彩又身临其境的移动3D模拟或游戏体验。
  • NativeScript——使用Javascript的框架,可用于构建跨平台的本地iOS,Android和Windows移动应用程序。

  桌面

  桌面应用程序也没有被Javascript排除在外。大多数桌面解决方案陷入了类似于Apache Cordovn的分类中,最终导致的结果是,web视图拥有的API层次较低,其内容开发基于web技术。

  • Electron——来自于GitHub的Node.js+Chromium桌面应用程序容器
  • app.js——Node+Chromium桌面应用程序容器
  • nw.js——另一个Node+Chromium桌面应用程序容器的框架
  • CEF——The Chromium Embedded Framework——嵌入Chrome浏览器内置于桌面应用程序的框架。

  …等等。对了,我记得,微软对于如何纯粹地用HTML / JS构建Windows应用程序,已经有了一个解决方案,而且还有更多的解决方案,但现在我一下子记不起来了。

  事实上,一些我最喜欢的桌面工具,如Slack、Atom和 VS Code实际上就是在web技术和HTML / JS的基础上实现的。

 服务器端

  最明显的是Node.js——封装了Chrome的V8 Javascript引擎的Javascript运行时——在服务器端开发和企业上已经取得了巨大的进步。 Node.js,受到express.js和loopback.io等框架的支持,使得用Javascript开发服务器端和复杂的企业应用程序中变得可能。

 物联网

  你可以完全使用Javascript来开发可运行在Arduino、树莓派或其它小平板上的无头app,你可以使用Javascript管理基础设施和物联网传感器信息流,你也可以使用Javascript为嵌入式系统编写芯片程序,可以用它控制机器人,你甚至还可以使用Javascript支持媒体中心连接电视体验。

  就像我说的……Javascript无处不在。

 生态系统

  你不仅可以到处构建和运行Javascript应用程序。 Javascript还有一个庞大而繁荣的开发者生态系统。

  Javascript是GitHub上最活跃的语言,它不仅是所有代码仓库中最活跃的,也是所有push/commit中最活跃的。

我们程序员为什么要关注 Javascript ?_js

来自于http://githut.info/ 的可视化数据

  这里有一些统计数据显示了Node.js / npm.js的增长幅度。

我们程序员为什么要关注 Javascript ?_js

NPM统计

  Node.js还在不断增长中。

图表说明了IBM重视Node.js和Strongloop。 [email protected]!http://t.co/snDt88HQC5     pic.twitter.com/nRMwYyKmdo
——Rod Boothby(@ rod11)2015年9月10日

  但是,种种这一切这并不意味着Javascript就是适用于一切的最好语言。也不意味着你取出一段源代码就能照你想的那样运行在每一种设备和上下文中。

  但是,你可以使用Javascript技术,去开发几乎任意类型的设备/下上文。当然,它不能一次编写,就到处运行,用React.js团队的话就是: learn once, write everywhere。

  英文原文:Why You Should Pay Attention To Javascript 翻译:codeceo

欢迎大家阅读《我们程序员为什么要关注 Javascript ?_js》,跪求各位点评,若觉得好的话请收藏本文,by



推荐阅读
  • ServletContext接口在Java Web开发中扮演着重要角色,它提供了一种方式来获取关于整个Web应用程序的信息。通过ServletContext,开发者可以访问初始化参数、共享数据以及应用资源。 ... [详细]
  • 本文将详细介绍如何在ThinkPHP6框架中实现多数据库的部署,包括读写分离的策略,以及如何通过负载均衡和MySQL同步技术优化数据库性能。 ... [详细]
  • YB02 防水车载GPS追踪器
    YB02防水车载GPS追踪器由Yuebiz科技有限公司设计生产,适用于车辆防盗、车队管理和实时追踪等多种场合。 ... [详细]
  • Vue 3.0 翻牌数字组件使用指南
    本文详细介绍了如何在 Vue 3.0 中使用翻牌数字组件,包括其基本设置和高级配置,旨在帮助开发者快速掌握并应用这一动态视觉效果。 ... [详细]
  • 本文介绍了如何使用JavaScript和jQuery实现页面元素随着滚动条的移动而相应变化位置的功能,提供了一段简洁的代码示例。 ... [详细]
  • iTOP4412开发板QtE5.7源码编译指南
    本文详细介绍了如何在iTOP4412开发板上编译QtE5.7源码,包括所需文件的位置、编译器设置、触摸库编译以及QtE5.7的完整编译流程。 ... [详细]
  • 新手指南:在Windows 10上搭建深度学习与PyTorch开发环境
    本文详细记录了一名新手在Windows 10操作系统上搭建深度学习环境的过程,包括安装必要的软件和配置环境变量等步骤,旨在帮助同样初入该领域的读者避免常见的错误。 ... [详细]
  • 本文提供了2023年最新的解决方案,帮助用户了解如何在移动设备上顺利访问和浏览PHP网页,涵盖从基础设置到高级技巧的全方位指导。 ... [详细]
  • 本文详细介绍了利用JavaScript实现的五种不同的网页弹出窗口技术,包括全屏窗口、全屏模式窗口、带收藏链接工具栏的窗口、网页对话框及HTA窗口。 ... [详细]
  • 本文探讨了在网站编辑器中使用JavaScript实现优酷视频播放器自适应宽度的方法。尽管尝试过多种CSS解决方案,但都存在一定的局限性,因此最终决定采用JavaScript来动态调整视频播放器的尺寸。 ... [详细]
  • 解决JavaScript中法语字符排序问题
    在开发一个使用JavaScript、HTML和CSS的Web应用时,遇到从SQLite数据库中提取的法语词汇排序不正确的问题,特别是带重音符号的字母未按预期排序。 ... [详细]
  • 本文详细探讨了使用纯JavaScript开发经典贪吃蛇游戏的技术细节和实现方法。通过具体的代码示例,深入解析了游戏逻辑、动画效果及用户交互的实现过程,为开发者提供了宝贵的参考和实践经验。 ... [详细]
  • 在处理木偶评估函数时,我发现可以顺利传递本机对象(如字符串、列表和数字),但每当尝试将JSHandle或ElementHandle作为参数传递时,函数会拒绝接受这些对象。这可能是由于这些句柄对象的特殊性质导致的,建议在使用时进行适当的转换或封装,以确保函数能够正确处理。 ... [详细]
  • 将JavaScript文件嵌入HTML文档是Web开发中的基本操作。常见的方法是通过在HTML文件中使用``标签来引用外部的.js文件。这种方法不仅保持了代码的整洁性,还便于管理和维护。此外,还可以利用模块化脚本和异步加载技术进一步提升页面性能。 ... [详细]
  • 本文探讨了如何通过检测浏览器类型来动态加载特定的npm包,从而优化前端性能。具体而言,仅在用户使用Edge浏览器时加载相关包,以提升页面加载速度和整体用户体验。此外,文章还介绍了实现这一目标的技术细节和最佳实践,包括使用User-Agent字符串进行浏览器识别、条件加载策略以及性能监控方法。 ... [详细]
author-avatar
手机用户2502855257
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有