具体介绍什么程序员都要关注JavaScript
受这周我在企业中看到的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中最活跃的。
来自于http://www.php.cn/t.info/ 的可视化数据
这里有一些统计数据显示了Node.js / npm.js的增长幅度。
NPM统计
Node.js还在不断增长中。
图表说明了IBM重视Node.js和Strongloop。 30天时间里就有2.42亿个@npmjs包!http://t.co/snDt88HQC5 pic.twitter.com/nRMwYyKmdo
——Rod Boothby(@ rod11)2015年9月10日
但是,种种这一切这并不意味着JavaScript就是适用于一切的最好语言。也不意味着你取出一段源代码就能照你想的那样运行在每一种设备和上下文中。
但是,你可以使用JavaScript技术,去开发几乎任意类型的设备/下上文。当然,它不能一次编写,就到处运行,用React.js团队的话就是: learn once, write everywhere。
Atas ialah kandungan terperinci 具体介绍什么程序员都要关注JavaScript. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Aplikasi JavaScript di dunia nyata termasuk pembangunan depan dan back-end. 1) Memaparkan aplikasi front-end dengan membina aplikasi senarai TODO, yang melibatkan operasi DOM dan pemprosesan acara. 2) Membina Restfulapi melalui Node.js dan menyatakan untuk menunjukkan aplikasi back-end.

Penggunaan utama JavaScript dalam pembangunan web termasuk interaksi klien, pengesahan bentuk dan komunikasi tak segerak. 1) kemas kini kandungan dinamik dan interaksi pengguna melalui operasi DOM; 2) pengesahan pelanggan dijalankan sebelum pengguna mengemukakan data untuk meningkatkan pengalaman pengguna; 3) Komunikasi yang tidak bersesuaian dengan pelayan dicapai melalui teknologi Ajax.

Memahami bagaimana enjin JavaScript berfungsi secara dalaman adalah penting kepada pemaju kerana ia membantu menulis kod yang lebih cekap dan memahami kesesakan prestasi dan strategi pengoptimuman. 1) aliran kerja enjin termasuk tiga peringkat: parsing, penyusun dan pelaksanaan; 2) Semasa proses pelaksanaan, enjin akan melakukan pengoptimuman dinamik, seperti cache dalam talian dan kelas tersembunyi; 3) Amalan terbaik termasuk mengelakkan pembolehubah global, mengoptimumkan gelung, menggunakan const dan membiarkan, dan mengelakkan penggunaan penutupan yang berlebihan.

Python lebih sesuai untuk pemula, dengan lengkung pembelajaran yang lancar dan sintaks ringkas; JavaScript sesuai untuk pembangunan front-end, dengan lengkung pembelajaran yang curam dan sintaks yang fleksibel. 1. Sintaks Python adalah intuitif dan sesuai untuk sains data dan pembangunan back-end. 2. JavaScript adalah fleksibel dan digunakan secara meluas dalam pengaturcaraan depan dan pelayan.

Python dan JavaScript mempunyai kelebihan dan kekurangan mereka sendiri dari segi komuniti, perpustakaan dan sumber. 1) Komuniti Python mesra dan sesuai untuk pemula, tetapi sumber pembangunan depan tidak kaya dengan JavaScript. 2) Python berkuasa dalam bidang sains data dan perpustakaan pembelajaran mesin, sementara JavaScript lebih baik dalam perpustakaan pembangunan dan kerangka pembangunan depan. 3) Kedua -duanya mempunyai sumber pembelajaran yang kaya, tetapi Python sesuai untuk memulakan dengan dokumen rasmi, sementara JavaScript lebih baik dengan MDNWebDocs. Pilihan harus berdasarkan keperluan projek dan kepentingan peribadi.

Peralihan dari C/C ke JavaScript memerlukan menyesuaikan diri dengan menaip dinamik, pengumpulan sampah dan pengaturcaraan asynchronous. 1) C/C adalah bahasa yang ditaip secara statik yang memerlukan pengurusan memori manual, manakala JavaScript ditaip secara dinamik dan pengumpulan sampah diproses secara automatik. 2) C/C perlu dikumpulkan ke dalam kod mesin, manakala JavaScript adalah bahasa yang ditafsirkan. 3) JavaScript memperkenalkan konsep seperti penutupan, rantaian prototaip dan janji, yang meningkatkan keupayaan pengaturcaraan fleksibiliti dan asynchronous.

Enjin JavaScript yang berbeza mempunyai kesan yang berbeza apabila menguraikan dan melaksanakan kod JavaScript, kerana prinsip pelaksanaan dan strategi pengoptimuman setiap enjin berbeza. 1. Analisis leksikal: Menukar kod sumber ke dalam unit leksikal. 2. Analisis Tatabahasa: Menjana pokok sintaks abstrak. 3. Pengoptimuman dan Penyusunan: Menjana kod mesin melalui pengkompil JIT. 4. Jalankan: Jalankan kod mesin. Enjin V8 mengoptimumkan melalui kompilasi segera dan kelas tersembunyi, Spidermonkey menggunakan sistem kesimpulan jenis, menghasilkan prestasi prestasi yang berbeza pada kod yang sama.

Aplikasi JavaScript di dunia nyata termasuk pengaturcaraan sisi pelayan, pembangunan aplikasi mudah alih dan Internet of Things Control: 1. Pengaturcaraan sisi pelayan direalisasikan melalui node.js, sesuai untuk pemprosesan permintaan serentak yang tinggi. 2. Pembangunan aplikasi mudah alih dijalankan melalui reaktnatif dan menyokong penggunaan silang platform. 3. Digunakan untuk kawalan peranti IoT melalui Perpustakaan Johnny-Five, sesuai untuk interaksi perkakasan.


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

MinGW - GNU Minimalis untuk Windows
Projek ini dalam proses untuk dipindahkan ke osdn.net/projects/mingw, anda boleh terus mengikuti kami di sana. MinGW: Port Windows asli bagi GNU Compiler Collection (GCC), perpustakaan import yang boleh diedarkan secara bebas dan fail pengepala untuk membina aplikasi Windows asli termasuk sambungan kepada masa jalan MSVC untuk menyokong fungsi C99. Semua perisian MinGW boleh dijalankan pada platform Windows 64-bit.

Dreamweaver CS6
Alat pembangunan web visual

mPDF
mPDF ialah perpustakaan PHP yang boleh menjana fail PDF daripada HTML yang dikodkan UTF-8. Pengarang asal, Ian Back, menulis mPDF untuk mengeluarkan fail PDF "dengan cepat" dari tapak webnya dan mengendalikan bahasa yang berbeza. Ia lebih perlahan dan menghasilkan fail yang lebih besar apabila menggunakan fon Unicode daripada skrip asal seperti HTML2FPDF, tetapi menyokong gaya CSS dsb. dan mempunyai banyak peningkatan. Menyokong hampir semua bahasa, termasuk RTL (Arab dan Ibrani) dan CJK (Cina, Jepun dan Korea). Menyokong elemen peringkat blok bersarang (seperti P, DIV),

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa