Uploads%2farticles%2f10835%2fjavascript
|
2016-05-11

软件工程师掺和硬件开发?这群技术大神想用软件定义硬件

从互联网到物联网(Internet of Things, IoT)是大家认可的未来方向,IoT 这个词已经说了很多年,然而它并没有人们预想的那样迅速。

很多人只是简单地认为「智能硬件」就是把「 I 」层面的东西与「 T 」的层面的东西结合,实现「软硬结合」,就成为「 IoT 」了——以为把原有的电子产品装上一个 Wi-Fi 或其他通讯模块,再连上手机 app 后,就是 IoT 了,或者以为做单片机开发的人已经把功能都做完了,只要把硬件设备联网,就算 IoT 了。

然而,联网并不是智能硬件的全部,智能硬件应该解决的是,硬件和真实世界的交互。那为什么现在的硬件做不到呢?

· 自从「智能硬件」这个词出现,我们谈「软硬结合」也有三年了。

无论对于硬件开发者还是软件开发者,硬件应用开发的门槛还太高了。

首先,硬件和软件应用完全就是两套词汇表。比如,做硬件的人关心的是 GPIO、I2C、时序、驱动等,而做应用的人关心的是,需求、用户体验、高可用性、系统架构等。

即便是只在硬件开发领域,做系统的和做硬件的也是不同的话语体系,有人关注进程,有人关注晶振;有人关注嵌入式系统,有人关注 PCB……

这就是软硬件之间的鸿沟,让一个人同时具备硬件和应用两套技能,是很高的要求。

其次,市面上快速开发出智能硬件应用的工具并不理想。树莓派固然很好,但是依然需要写 C 写驱动,搞定内存管理、进程调度、异步 I/O 的这些问题。 对于一个不懂嵌入式开发的人来说,光是一个对 GPIO 口进行高电频变低电频的操作,就足以让开发者不知所措。

再次,智能硬件行业,应用数量依然太少,开发者生态没有起来。除了联网,开发者想多做一点事情都很难。可能是因为嵌入式开发难的痛点太痛,开发者数量和质量都跟不上智能硬件发展下日益增长的需求。

生态没跟上,独自作战的各个厂家就要从划一块内存开始,编写驱动,写底层程序,制作水平参差不齐的硬件应用产品,效率之低可以想象。很多东西即便开发者再熟悉,到了一个新的环境可能就要重新做一遍,比如,常见的网络协议要移植,常见的驱动要编写,「重复造轮子」的现象十分严重。

就像 Nokia 和早期的功能机时代,很多人都想编写手机应用,但只有很少量的程序员有能力编写手机应用。

· Symbian 时代的 app 开发

改变,需要更好的软件抽象、更科学的开发方法、更适合应用开发的编程语言。需要有分工,让应用开发者只关注应用,系统开发者只关注系统。

有了 iOS 和 Android,应用开发的门槛降了下来,大量的程序员涌了进来,才有了我们看到的移动互联网的繁荣,也才有了微信等爆款应用。

在硬件应用开发领域,有没有类似 iOS 和 Android 的平台,可以解决同样的问题,降低硬件应用开发的门槛,让更多有应用开发能力的人进入到这个领域呢?

我们遇到了 Ruff。

一个专为硬件应用开发而设计的 JavaScript 运行时,帮助开发者快速的开发出想要的智能硬件。

Any application that can be written in JavaScript, will eventually be written in JavaScript...

——Jeff Atwood

· 知名技术博客作家、Stack Overflow 创始人 Jeff Atwood

选择 JavaScript 作为程序设计语言

Ruff 选择了程序员基数庞大、唯一的全栈语言 JavaScript 作为程序设计的语言。对硬件进行了抽象,使用了基于事件驱动、异步 I/O 的模型,使硬件开发变得轻量而且高效。一个软件开发工程师,通过 Ruff 可以成为一个全栈工程师。

· 用全栈语言 JavaScript 打造 Ruff。

提供一个让开发更为简单的工具

通过 Ruff,开发者无需成为上懂应用开发,中懂网络,下懂 CPU 的全能者,也无需看复杂的电路图和数据手册。一个只有软件开发经验的开发者可以轻松开发硬件,驱动程序员则可以编写驱动,发布到软件仓库。

提供一个物联网开发平台

Ruff 为开发者提供了完善的开发服务。从项目生产、软件包管理、应用管理、外设管理到固件管理等一系列现代软件开发方式。PC 端完成开发,无需烧板子,提升开发者的开发效率。

开放的软件仓库,无限拓展。驱动、软件包、通信、协议等不断拓展软件仓库内容。

提供完善的测试框架,支持 assert、test、mock 等模块支持,在开发机上测试逻辑,硬件测试也能 TDD。

· Ruff 开发套件,现已开放预定

这个产品背后的技术团队,不是一个网红,是一群网红,还有一个网红投资人。

这是一个有意思的团队,这是一个有意思的创业故事。

Ruff 的创始人 Roy Li 其实有一个更被广泛接受的 title:「黑客网红」。两年前他的简历是这样写的:Roy Li(人称厉哥) 加拿大籍华人,微信公众号人生如戏( mintshow )作者;黑客、开发者、创业者,经历丰富,现已退休,在加拿大开一个团购网养老。

上个月深圳湾邀请 Roy 参加「WARE 2016 新硬件生态大会」,再用起「网红」这个 title 时,反而被他吐槽了,「我不是网红,我是创业者」,他现在有了另一个更让他骄傲的身份——Ruff 创始人。

Ruff 的团队是清一色的技术出身,核心技术团队更是让很多初创团队看着流口水:

DK,Roy 的同学,曾创业做了一家游戏公司,听完 Roy 的想法后,不久便决定放弃游戏公司,拉上当时公司的 CTO 老牛加入 Ruff。

郑晔,MOCO 框架作者、Oracle Duke 选择奖获得者。Roy 用一段 Lisp 代码秀了一个 Demo 之后,郑晔就成为了 Ruff CTO。

周爱民,国内软件开发界资深架构师、软件工程师,1996 年起开始涉足商业软件领域开发,有近 20 年软件开发与架构、项目管理、团队建设的经验,曾任盛大网络平台架构师、支付宝业务架构师、豌豆荚架构师等职,是 Borland Delphi 产品技术专家,也是 Qomo、N4C 等开源项目的发起者。2003 年 5 月被美国 Borland 公司授予「Borland Delphi 产品专家」称号,并授予「论坛特别贡献奖」。至今已经出版了《Delphi 源代码分析》、《JavaScript 语言精髓与编程实践》、《大道至简——软件工程实践者的思想》、《大道至易——实践者的思想》等书。如今也被 Roy 挖来了。

团队齐活儿了,下面就是找钱了,天使投资人里面谁能看懂开发者服务的项目呢? Roy 想到了 CSDN 创始人蒋涛。 蒋涛只问了一句:「你们公司注册了没有?」在得知公司还没注册后便说:「个人账号拿来,我明天给你打钱。」

· Ruff 创始人 Roy (右)与极客帮创始合伙人、CSDN 创始人蒋涛(中)、以及卓翼科技董事长夏传武,做客「WARE 2016 新硬件生态大会」,畅聊新硬件生态下的软硬结合。

让软件开发者可以开发硬件,这是一个增量市场

Ruff 的创始人 Roy 在博客里这样写道:

「滴滴的切入点是让出租车装个软件, 诺基亚的切入点是让现有的手机应用开发者做塞班开发…… 然而这些注定不会有卵用。 Uber 告诉我们,只有让不开出租车的人去开出租车才能更好解决出行问题,Airbnb 告诉我们,只有让不开酒店的人开酒店才能更好解决旅行住宿问题。在塞班有了 70% 以上市场的情况下,通过让互联网的 Java 工程师进来开发应用,安卓让移动互联网全面爆发了。」

Ruff 做的事情就是让软件定义硬件,让软件开发者可以开发硬件。这是一个增量市场。

在互联网领域,过去十多年我们看到了很多软件开发者,借助平台生态的发展之势,快速成长起来;而在硬件领域,我们看到原有的以制造为基础的硬件生态,正在有更多更丰富的平台服务商出现,他们在推动着应用开发者更快更容易的开发硬件,也推动着这个生态的繁荣。

主笔:陈壹零
原创:深圳湾
转载、采访、投稿、团队报道联系公众号:shenzhenware


Uploads%2fusers%2favatar%2f338640627%2fthumb shining portrait squre

让软件开发者可以开发硬件,这是一个增量市场。干这个事情的,背后不是一个程序员网红,是一群程序员网红~

Uploads%2fusers%2favatar%2f766630598%2fthumb medium    1
林兴陆 2016-05-11 09:27

「对待软件严肃认真的人,应该制造自己专属的硬件」

Uploads%2fusers%2favatar%2f1073136521%2fthumb 132
李东欣 2016-05-12 09:13

哪里可以购买?

Back to top btn