javascript都可以做什么?

javascript都可以做什么?下面本篇文章给大家介绍一下今日的 JavaScript 都能做什么?有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

脚本语言 JavaScript 自1995年问世以来已经走了很长一段路。虽然并不是人人都喜欢 JS,但这仍然没有阻止 JS 的用户与日俱增的趋势——目前在 StackOverflow 上,JavaScript 的使用量排名第一。JavaScript 被设计的初衷是在基于 HTML 和 CSS 构建的网站上提供交互功能,但时至今日,JavaScript 能办到几乎所有计算机上能执行的任务——虽然什么时候都用 JS 并不一定是个好主意。下面我们来看看当今最适合使用 JavaScript 的现实用例。

Web 开发

1.png

惊喜又意外:你能用 JavaScript 来构建网站。近年来,使用 React,Angular 或 Vue.js 构建的单页应用程序已逐渐成为一种规范——它们正逐渐取代服务器端渲染的,包含 jQuery 交互组件的网站。

Web 开发环境常常因为过于多变而受到批评,所用到的框架生命周期也普遍很短。虽然对于某些框架来说确实是这样,但要用它以一概全是没有根据的。React 框架是2013年发布的,但现在比以往任何一年都显得更有生机;Angular 诞生已经3年,而它的前身 AngularJS 则是在2010年发布的;Vue.js在2014年发布,到今天也有5年时间。如果你不喜欢自己在某个项目中使用的框架,以后大可不必再用它。随着 web 组件被引入,JS 的高级构建工具让你可以轻松在不使用框架的情况下构建应用程序——这里可以参考 Polymer Prject。

你不仅能使用 JavaScript 构建成熟的 Web 应用程序,还能很好地用它生成静态网站。通过使用 Eleventy 之类的解决方案将框架带回到工程中。通过 Gatsby,Next.js,VuePress 和 Nuxt.js 你可以在享受 React 或 Vue.js 特性的前提下生成轻量级的静态页面。

桌面应用

桌面应用程序通常会使用 JavaScript 框架 Electron 构建。它通过将你的程序与 Chromium 浏览器以及 Node.js JavaScript 服务器打包,从而提供丰富的用户体验。可惜的是这种方法会让最小的软件包大小也有100MB左右。如果这对你来说太大,你可以去尝试一下 Vuido 或 Proton Native 解决方案——但这也大可不必!强大的互联网正在催生出一批渐进式的 Web 应用(PWA),它们可以从用户的桌面或主屏幕启动,并提供与原生应用程序类似的体验。通过现代 Web API,你可以发送推送通知,连接蓝牙设备或者创建离线体验。

移动应用开发

2.png

或许 PWA 还尚未能够满足你的需求,但你仍然可以用 JavaScript 来构建原生应用程序。像 NativeScript 和 React Native 这样的框架允许你使用 JavaScript 编写程序代码,同时提供原生的用户体验,让你可以使用平台提供的所有功能。这一点是通过在 iOS 或 Android 系统的 JavaScript 引擎中运行代码,然后在 JS 引擎与原生界面之间提供桥梁来实现的。

同时你可以考虑使用 React Native 或者将 NativeScript 和 Angular 或者 Vue.js 结合使用。两种方法都能让你在移动端和网页端共享代码,实现多平台上使用相同代码库同时交付。

服务器和 API

大多数应用都需要某种程度的后端,但这同样可以通过 JS 完成。使用 Node.js 你可以获得一个可构建服务器的,高度且可扩展的 JS 运行时。长久以来,Express 一直是服务器端渲染 Web 应用或 API 的首选框架。虽然目前它或许仍然是最流行的框架,但其它框架也在奋力追赶。Koa 是一个更轻量的继任者,而 hapi 框架则更加注重安全性。其它框架比如 Nest.js 则可以放在顶层以创建可靠的体系结构。

无论你是想设置 REST 还是 GraphQL API,打开 Web 套接字或是只想渲染一些 HTML —— JS 和 Node.js 都可以实现。

游戏开发

JS 究其本源就是面向 UI 的,因此通过 JS,HTML 和 CSS 就已经能写出简单的网页游戏。当游戏变得更复杂时,你可以会需要 HTML Canvas 来进行2D 渲染。此外还有一些专攻游戏开发的框架,比如 Phaser 和 PixiJS。但如果你对游戏画面重视度很高的话,可能会想要选择 Konva 框架。

如果你想开发3D 游戏那就走运了,网页浏览器拥有它们自己的3D 图形界面,叫做 WebGL。自己使用它可能会让人不知所措,这时候用上一个更高效的框架或许是更好的选择。Babylon.js 和 Three.js 在网页3D 相关领域家喻户晓的名字。如果想要一个更加专注于游戏开发的,可以选择 PlayCanvas,它同样提供一个基于浏览器的编辑器。除此之外,还有已经非常成熟的游戏引擎 Cocos2d.x,它绑定了 JavaScript,被用于开发跨平台游戏。

但等等,我们还有更多:WebXR 渲染引擎将基于 JS 开发的游戏带到了另一个高度,它让你可以接触到增强现实和虚拟现实设备。这就意味着你可以用 JS 开发出沉浸式体验的游戏!

机器学习

3.png

谁说机器学习一定要会 Python?JavaScript 就足够了!使用 TensorFlow.js,你就可以开发图像分类,语音识别或预测性分析的机器学习模型。最棒的是,你可以在 Node.js 里进行操作,也可以在浏览器里进行操作。机器学习是一项非常占用 GPU 的任务,但是它可以通过 WebGL 在浏览器中运行硬件加速。这样你可以运行一个完全存在于客户端的推荐系统,无需昂贵的服务器付费,同时还能缓解隐私问题

如果不太喜欢 TensorFlow,那么你可以试试用 brain.js 来训练神经网络或者自带多种不同机器学习算法的 ml.js,二者都运行在浏览器中训练和运行算法。

物联网 IoT

4.jpeg

价格低廉的硬件越来越常见,这也让你更容易地进入微控制器的世界。虽然通常构建智能系统都需要你掌握 C 或 C++ 之类的语言,但再一次地,JavaScript 其实也能做到。

Johnny-Five 平台为各种 Arduino 开发板提供了一个易用的 API。如果你对机器人更感兴趣,不妨试试 Cylon.js。这两者的工作方式都是将 JavaScript 翻译为设备能理解的东西。但不可避免的是这也会带来一些限制:要部署控制器,你必须要有另外一台机器在附近某处运行着 Node.js。

但这对 JerryScript 而言就不会形成阻碍。JerryScript 是一种微控制器的指定 JavaScript 运行时,它仅需要64kb的 RAM。不过需要注意的是,根据具体的用例您可能仍然会需要不同的工具作为补充。物联网对 JS 来说或许是一个偏向实验的应用领域——不过它通过使用 MQTT 也能获得以小博大的效果。

总结

如我们所见,今日的 JavaScript 在庞大的社区和扎实的项目基础上,已经涵盖了大量不同的用例,这是件很了不起的事,因为对于已经掌握 JS 的你来说,这些用例已经为你打开了多扇大门,让你可以充分发挥自己的创造性。

更多web前端知识,请查阅 HTML中文网 !!

以上就是javascript都可以做什么?的详细内容,更多请关注html中文网其它相关文章!

赞(0) 打赏
未经允许不得转载:html中文网首页 » JavaScript 答疑

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

前端开发相关广告投放 更专业 更精准

联系我们

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏