购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.1.3 低代码开发之语言支持

一个典型的物联网系统,至少包括如下几个环节:传感器、网关、云端服务器和手机端。从开发角度来分,涉及嵌入式开发、Web后台和前端开发、手机App开发和小程序开发,有些项目还需要PC程序开发。至少需要多个工种的开发工程师联合起来,才能一起完成一个完整的物联网项目开发。不仅沟通成本大,也缺少整体系统的视角,造成开发周期大大延长,开发成本也节节攀升。如果嵌入式开发用C/C++,Web后台采用Java或C#开发,前端采用JavaScript开发,而手机端App采用Objective-C开发,且这些工作让一个开发人员全部熟悉、掌握,并且开发出商用程序,几乎是不可能的事。这种要求太高了,能全部掌握整个物联网链条相关技术的人毕竟是凤毛麟角。但是相对于互联网时代,在物联网时代,越是应用场景的碎片化,技术能力越分散,人们则更需要全栈工程师,即一个人就可以全部掌握从端到云全过程的开发技术。

其实,掌握.NET开发技术的人是最有可能做全栈开发的。因为.NET框架分为三个版本:标准版(.NET Framework),精简版(.NET Compact Framework)和微小版(.NET Micro Framework)。采用.NET标准版不仅可以开发PC桌面程序,还可以开发Web后台和前端服务;采用.NET精简版可以开发手机App和一些大型嵌入式设备应用;而采用微小版,则可以开发资源相对受限的嵌入式应用。从端到云,再到手机端,只要掌握.NET技术,就可以实现全栈开发。只可惜,微软在手机领域的发展严重受挫,真是一着不慎,满盘皆输。幸好微软云平台发展比较好,又收购了Xamain,可以采用.NET技术开发苹果手机App、安卓手机App。后来又大力推出了.NET Core,更是一种全平台的技术框架,可以高效率地运行在Windows、macOS、Linux等平台上。

虽然相对于C/C++开发,.NET开发的效率大大提升,但是做物联网开发,还是感觉效率不够极致。并且掌握这门开发语言还是有一定技术门槛的。

而最可能实现全栈技术开发的语言是JavaScript。我们知道JavaScript是一种典型的Web前端开发语言,但是在2009年5月由Ryan Dahl开发的Node.js发布,打破了这一界限。Node.js是一个基于Chrome V8引擎的JavaScript的运行环境,可以让JavaScript轻松开发Web服务端。

手机小程序框架是一个典型的前端框架,所以采用JavaScript开发是非常自然而然的事,而这种手机端的开发,JavaScript也可以轻松搞定。

笔者最早接触到采用JavaScript做硬件应用的开发平台是Ruff,它可以让开发者采用JavaScript轻松开发一款硬件产品。2015年,韩国三星集团不仅开源了可以采用JavaScript语言编写物联网平台应用的IoT.js,同时还开源了适用于嵌入式设备的小型JavaScript引擎的JerryScript。它能运行在小于64KB内存的设备上,并且Flash空间需求不到200KB。

当下国内比较流行的物联网嵌入式操作系统,比如AliOS Things、LiteOS和RT-Thread都含有一个支持JavaScript脚本的引擎模块。编译嵌入式系统固件的时候添加上这个模块,就可以在嵌入式设备上进行JavaScript开发了。

Python语言的火爆得益于人工智能领域大范围采用Python作为前端分析工具。和JavaScript一样,也有多种框架,比如Django、Falsk和Tornado支持Python做Web后端和前端开发。

2014年英国剑桥大学的教授Damien George对外推出了MicroPython,它支持Python 3语法,可以在嵌入式平台运行Python。最开始MicroPython在STM32F微控制器上实现,后来移植到STM32F7、ESP8266、ESP32、CC3200、dsPIC33FJ256、MK20DX256、microbit、MSP432、XMC4700、RT8195等众多硬件平台上。其功能的完整性和性能也引爆了一些嵌入式开发者的热情,所以MicroPython成为物联网领域嵌入式开发的一门首选语言。

Lua开发语言在游戏开发领域比较火,它是由巴西里约热内卢天主教大学的一个由Roberto Ierusalimschy、Waldemar Celes和Luiz Henrique de Figueiredo三人所组成的研究小组于1993年开发的。它由标准C编写而成,几乎在所有的操作系统和平台上都可以编译运行,并且一个完整的Lua解释器不过200KB,在所有的脚本引擎里,Lua是性能最好的一个。又小又快的特性,在资源受限的嵌入式领域非常受欢迎,这也是Lua过渡到嵌入式领域的一个很大的原因。 7+scFkq+7L9/Hy1f5FOBupjGYW2ZyWV5G8awuWkjnAccdUxflu6n/3UCY9JgEm0R

点击中间区域
呼出菜单
上一章
目录
下一章
×