未来物联网全栈开发 —— JavaScript OR Python?

简介: 未来物联网全栈开发 —— JavaScript OR Python? 物联网开发涉及面庞杂,开发周期长,所以我们必须寻找一种覆盖面广的编程语言和方法。 JavaScript 支持 HTTP 和 JSON 、支持函数式编程、可提供交互式环境等特点堪称适用于物联网全栈开发; Python 作为一种胶水语言,可在物联网及嵌入式系统中承担大量任务,并部分替代以上语言。

未来物联网全栈开发 —— JavaScript OR Python?
物联网开发涉及面庞杂,开发周期长,所以我们必须寻找一种覆盖面广的编程语言和方法。
JavaScript 支持 HTTP 和 JSON 、支持函数式编程、可提供交互式环境等特点堪称适用于物联网全栈开发;
Python 作为一种胶水语言,可在物联网及嵌入式系统中承担大量任务,并部分替代以上语言。


  物联网是新一代信息技术的重要组成部分,也是“信息化”时代的重要发展阶段,不太清楚的可以看上篇文章《IoT领域的故事、经历、技术实战》,正所谓语言无国度,无论是 Js 还是 Python , 都有各自优点,最主要还是要看个人选择自身比较合适的语言。但是在未来物联网全栈开发的基础上,个人觉得 Python 作为主流且更具有优势,不信?请看文章最后的一句话。


米奇云科技奥特曼超人杜锦阳

先来说说 Javascript

  可能很少人知道 js 的前身,Javascript 的前身叫LiveScript,是Sun公司推出Java后 Netscape 公司引进的,当时因为某些原因,它将原有的 LiveScript 重新进行设计,参考了面向对象的概念,并更名为 JavaScript,据说是因为一位小职员在无聊时开发出来的自身版本 。
  之所以取名JavaScript,是因为JavaScript是作为一种嵌入HTML文档的、基于对象的脚本设计语言。其中很大一部分的语法同Java语言很相似,而且JavaScript的设计可以使它很容易地同Java语言一同工作,它可以充分支持Java的applet小应用程序,Java的 applet小应用程序也可以很方便地访问已有的JavaScript代码。所以,也可以JavaScript看成是Java语言的某种简化版本。

米奇云科技奥特曼超人杜锦阳

  前端开发人员都比较清楚 JavaScript 的优点,来排列下:

  1. JavaScript 可以减少网络传输。
  2. JavaScript 拥有跨平台性。
  3. JavaScript 简单、方便操纵HTML对象。
  4. JavaScript 支持分布式运算。
  5. JavaScript 简单弱类型,并且相对安全。

  可是它也有局限性,如各浏览器厂商对JavaScript支持程度不同,“Web安全性”对JavaScript一些功能牺牲,如 .NET 大多数攻击都是通过 Js 运行脚本注入。

目前在互联网上有很多浏览器,如Firefox、Internet
Explorer、Opera等,但每种浏览器支持JavaScript的程度是不一样的,不同的浏览器在浏览一个带有JavaScript脚本的主页时,由于对JavaScript的支持稍有不同,其效果会有一定的差距,有时甚至会显示不出来。


再来说说 Python

  胶水语言,同样的也是面向对象,但我更喜欢称它为“蛇”语言,一种 C 和 shell 之间的语言,功能全面,易学易用,可拓展的语言,为什么这么说,在你会 Java 的基础上,如果你同时学 Js 和 Python 的话,我想,Python 会更快胜任。

  开发游戏里有一种常见的应用情形,需要快速生成模型。如何操作?

  使用 Python 快速生成程序的原型(有时甚至是程序的最终界面),然后对其中有特别要求的部分,用更合适的语言改写
米奇云科技奥特曼超人杜锦阳
  比如3D游戏中的图形渲染模块,性能要求特别高,就可以用C/C++重写,而后封装为Python可以调用的扩展类库。需要注意的是在您使用扩展类库时可能需要考虑平台问题,某些可能不提供跨平台的实现。

Python 在吉多手中诞生了。实际上,第一个实现是在 Mac 机上。可以说,Python 是从 ABC 发展起来,主要受到了Modula-3(另一种相当优美且强大的语言,为小型团体所设计的)的影响。并且结合了 Unix shell 和C 的习惯。

  如果你使用过,应该对它所支持的扩展库印象会很深刻吧,它可扩展性和可嵌入性,包括实用性非常强。如著名的计算机视觉库OpenCV、三维可视化库VTK、医学图像处理库ITK,还有最近在帮公司开发的高级反编译读取库(暂定命名YHK)。


未来谁是王者

  那对比优缺点和使用规则之后我们发现,两者各有千秋,未来物联网发展离不开一样东西,那就是智能化与科学计算,国外这几年比较主流的是 MATLAB,记得上家公司带领的团队里有个英国留学回来的哥们,和他聊过几次,了解到,其实在国外,MATLAB 一直都是比较主流的,但它是商用,和oracle一样,需要付费,且价格不菲。由此可见,国外走的不是“程序、产品、项目”,而是“机器人、智能、科学计算、图形、算法”这些,当然国内也有,却是非主流的趋势,今年才感觉到市场的趋势改变,也许未来会着重发展,所以单从这一点来看,科学算法占用了很大的比例。

用 Python 做科学计算有如下优点:

  • 首先,MATLAB 是商用的,且价格不菲。而 Python 完全免费,众多开源的科学计算库都提供了Python的调用接口。用户可以在任何计算机上免费安装Python及其绝大多数扩展库。
  • 其次,与MATLAB相比,Python是一门更易学、更严谨的程序设计语言。它能让用户编写出更易读、易维护的代码。
  • 最后,MATLAB主要专注于工程和科学计算。然而即使在计算领域,也经常会遇到文件管理、界面设计、网络通信等各种需求。而Python有着丰富的扩展库,可以轻易完成各种高级任务,开发者可以用Python实现完整应用程序所需的各种功能。


  由于Python语言的简洁性、易读性以及可扩展性,在国外用Python做科学计算的研究机构日益增多,一些知名大学已经采用Python来教授程序设计课程。例如卡耐基梅隆大学的编程基础、麻省理工学院的计算机科学及编程导论就使用Python语言讲授。

  众多开源的科学计算软件包都提供了Python的调用接口,例如著名的计算机视觉库OpenCV、三维可视化库VTK、医学图像处理库ITK。
  Python专用的科学计算扩展库就更多了,例如如下3个十分经典的科学计算扩展库:NumPy、SciPy和matplotlib,它们分别为Python提供了快速数组处理、数值运算以及绘图功能。因此Python语言及其众多的扩展库所构成的开发环境十分适合工程技术、科研人员处理实验数据、制作图表,甚至开发科学计算应用程序。



  电商、游戏、爬虫、数据分析等商业应用,再到 分布式系统、网络系统、大规模数据存储、web基础架构等进行性能分析,再过来就是 图形渲染、科学计算、智能化、再到运行速度、快速处理、支持的扩展库,如果是你,你会选什么呢?

米奇云科技奥特曼超人杜锦阳



|| 版权声明:本文为博主杜锦阳原创文章,转载请注明出处。http://blog.csdn.net/djy1992/article/details/71712628

相关实践学习
阿里云AIoT物联网开发实战
本课程将由物联网专家带你熟悉阿里云AIoT物联网领域全套云产品,7天轻松搭建基于Arduino的端到端物联网场景应用。 开始学习前,请先开通下方两个云产品,让学习更流畅: IoT物联网平台:https://iot.console.aliyun.com/ LinkWAN物联网络管理平台:https://linkwan.console.aliyun.com/service-open
相关文章
|
人工智能 物联网 Android开发
【04】优雅草星云物联网AI智控系统从0开发鸿蒙端适配-deveco studio-自定义一个设置输入小部件组件-完成所有设置setting相关的页面-优雅草卓伊凡
【04】优雅草星云物联网AI智控系统从0开发鸿蒙端适配-deveco studio-自定义一个设置输入小部件组件-完成所有设置setting相关的页面-优雅草卓伊凡
556 92
|
JSON 自然语言处理 前端开发
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
706 72
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
|
12月前
|
数据采集 自然语言处理 Java
Playwright 多语言一体化——Python/Java/.NET 全栈采集实战
本文以反面教材形式,剖析了在使用 Playwright 爬取懂车帝车友圈问答数据时常见的配置错误(如未设置代理、Cookie 和 User-Agent),并提供了 Python、Java 和 .NET 三种语言的修复代码示例。通过错误示例 → 问题剖析 → 修复过程 → 总结教训的完整流程,帮助读者掌握如何正确配置爬虫代理及其它必要参数,避免 IP 封禁和反爬检测,实现高效数据采集与分析。
718 3
Playwright 多语言一体化——Python/Java/.NET 全栈采集实战
|
11月前
|
Linux 数据库 数据安全/隐私保护
Python web Django快速入门手册全栈版,共2590字,短小精悍
本教程涵盖Django从安装到数据库模型创建的全流程。第一章介绍Windows、Linux及macOS下虚拟环境搭建与Django安装验证;第二章讲解项目创建、迁移与运行;第三章演示应用APP创建及项目汉化;第四章说明超级用户创建与后台登录;第五章深入数据库模型设计,包括类与表的对应关系及模型创建步骤。内容精炼实用,适合快速入门Django全栈开发。
559 1
|
人工智能 物联网 Android开发
【03】优雅草星云物联网AI智控系统从0开发鸿蒙端适配-deveco studio-在lib目录新建自定义库UtilsLibrary,ComponentLibrary,CommonConstLibrary完成设置SettingsView.ets初始公共类书写-优雅草卓伊凡
【03】优雅草星云物联网AI智控系统从0开发鸿蒙端适配-deveco studio-在lib目录新建自定义库UtilsLibrary,ComponentLibrary,CommonConstLibrary完成设置SettingsView.ets初始公共类书写-优雅草卓伊凡
626 23
【03】优雅草星云物联网AI智控系统从0开发鸿蒙端适配-deveco studio-在lib目录新建自定义库UtilsLibrary,ComponentLibrary,CommonConstLibrary完成设置SettingsView.ets初始公共类书写-优雅草卓伊凡
|
存储 人工智能 物联网
【02】优雅草星云物联网AI智控系统从0开发鸿蒙端适配-deveco studio-登录页面LoginView.ets完成-并且详细解释关于arkui关于 CommonConst, commonColor, InputDataModel-优雅草卓伊凡
【02】优雅草星云物联网AI智控系统从0开发鸿蒙端适配-deveco studio-登录页面LoginView.ets完成-并且详细解释关于arkui关于 CommonConst, commonColor, InputDataModel-优雅草卓伊凡
454 14
【02】优雅草星云物联网AI智控系统从0开发鸿蒙端适配-deveco studio-登录页面LoginView.ets完成-并且详细解释关于arkui关于 CommonConst, commonColor, InputDataModel-优雅草卓伊凡
|
人工智能 物联网 编译器
【01】优雅草星云物联网AI智控系统从0开发鸿蒙端适配完成流程-初始化鸿蒙编译器deveco studio项目结构-UI设计图切片下载-优雅草卓伊凡
【01】优雅草星云物联网AI智控系统从0开发鸿蒙端适配完成流程-初始化鸿蒙编译器deveco studio项目结构-UI设计图切片下载-优雅草卓伊凡
358 11
【01】优雅草星云物联网AI智控系统从0开发鸿蒙端适配完成流程-初始化鸿蒙编译器deveco studio项目结构-UI设计图切片下载-优雅草卓伊凡
|
人工智能 前端开发 物联网
【05】20250416优雅草星云物联网AI智控系统从0开发鸿蒙端适配-deveco studio-增加告警中心相关卡片页面WarningCardWidget相关-增加Canvas 绘制折线图-Canvas 绘制柱状图-首页-优雅草卓伊凡
【05】20250416优雅草星云物联网AI智控系统从0开发鸿蒙端适配-deveco studio-增加告警中心相关卡片页面WarningCardWidget相关-增加Canvas 绘制折线图-Canvas 绘制柱状图-首页-优雅草卓伊凡
317 0
【05】20250416优雅草星云物联网AI智控系统从0开发鸿蒙端适配-deveco studio-增加告警中心相关卡片页面WarningCardWidget相关-增加Canvas 绘制折线图-Canvas 绘制柱状图-首页-优雅草卓伊凡

相关产品

  • 物联网平台
  • 推荐镜像

    更多