未来物联网全栈开发 —— 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

相关实践学习
钉钉群中如何接收IoT温控器数据告警通知
本实验主要介绍如何将温控器设备以MQTT协议接入IoT物联网平台,通过云产品流转到函数计算FC,调用钉钉群机器人API,实时推送温湿度消息到钉钉群。
阿里云AIoT物联网开发实战
本课程将由物联网专家带你熟悉阿里云AIoT物联网领域全套云产品,7天轻松搭建基于Arduino的端到端物联网场景应用。 开始学习前,请先开通下方两个云产品,让学习更流畅: IoT物联网平台:https://iot.console.aliyun.com/ LinkWAN物联网络管理平台:https://linkwan.console.aliyun.com/service-open
相关文章
|
10天前
|
算法 测试技术 开发者
性能优化与代码审查:提升Python开发效率
【4月更文挑战第9天】本文强调了Python开发中性能优化和代码审查的重要性。性能优化包括选择合适数据结构、使用生成器和避免全局变量,而代码审查涉及遵循编码规范、使用静态代码分析工具和编写单元测试。这些实践能提升代码效率和可维护性,促进团队协作。
|
11天前
|
JSON JavaScript 前端开发
在Python中调用和执行JavaScript
在Python中调用和执行JavaScript主要通过`PyExecJS`库实现。安装库后,可以使用`execjs.compile`编译JS代码并用`eval`或`call`执行。此外,还能加载JavaScript库和框架,调用外部JS文件,处理返回值,以及在两者间传递数据。Python和JavaScript各有优劣,适用于不同场景,结合使用可增强项目功能和灵活性。
25 0
|
2月前
|
前端开发 关系型数据库 MySQL
基于python+django+vue.js开发的社区养老管理系统
基于python+django+vue.js开发的社区养老管理系统
92 1
|
2月前
|
机器学习/深度学习 设计模式 Java
Python潮流周刊#10:Twitter 的强敌 Threads 是用 Python 开发的!
Python潮流周刊#10:Twitter 的强敌 Threads 是用 Python 开发的!
28 2
|
4天前
|
前端开发 数据挖掘 API
使用Python中的Flask框架进行Web应用开发
【4月更文挑战第15天】在Python的Web开发领域,Flask是一个备受欢迎的轻量级Web框架。它简洁、灵活且易于扩展,使得开发者能够快速地构建出高质量的Web应用。本文将深入探讨Flask框架的核心特性、使用方法以及在实际开发中的应用。
|
8天前
|
JavaScript 前端开发 关系型数据库
金融技术解决方案:用Python和Vue开发加密货币交易平台
【4月更文挑战第11天】本文介绍了如何使用Python和Vue.js构建加密货币交易平台。首先确保安装了Python、Node.js、数据库系统和Git。后端可选择Flask或Django框架,通过RESTful API处理交易。前端利用Vue.js、Vuex和Vue Router创建用户友好的界面,并用Axios与后端通信。这种架构促进团队协作,提升代码质量和平台功能。
|
9天前
|
JavaScript 前端开发 Docker
全栈开发实战:结合Python、Vue和Docker进行部署
【4月更文挑战第10天】本文介绍了如何使用Python、Vue.js和Docker进行全栈开发和部署。Python搭配Flask创建后端API,Vue.js构建前端界面,Docker负责应用的容器化部署。通过编写Dockerfile,将Python应用构建成Docker镜像并运行,前端部分使用Vue CLI创建项目并与后端交互。最后,通过Nginx和另一个Dockerfile部署前端应用。这种组合提升了开发效率,保证了应用的可维护性和扩展性,适合不同规模的企业使用。
|
17天前
|
前端开发 测试技术 数据库
【python】为什么使用python Django开发网站这么火?
【python】为什么使用python Django开发网站这么火?
|
27天前
|
Python
老男孩&路飞学城Python全栈
老男孩&路飞学城的Python全栈开发重点班由ALEX老师主讲,核心教学内容,100多天课程,近100G资料,含基础到实战。一线技术专家亲授,以案例教学引导学生逐步进入项目实战。
20 1
老男孩&路飞学城Python全栈
|
1月前
|
运维 JavaScript 前端开发
发现了一款宝藏学习项目,包含了Web全栈的知识体系,JS、Vue、React知识就靠它了!
发现了一款宝藏学习项目,包含了Web全栈的知识体系,JS、Vue、React知识就靠它了!

相关产品

  • 物联网平台