文章来源:深圳湾
从互联网到物联网(Internet of Things, IoT)是大家认可的未来方向,IoT 这个词已经说了很多年,然而它并没有人们预想的那样迅速。
很多人只是简单地认为「智能硬件」就是把「 I 」层面的东西与「 T 」的层面的东西结合,实现「软硬结合」,就成为「 IoT 」了——以为把原有的电子产品装上一个 Wi-Fi 或其他通讯模块,再连上手机 app 后,就是 IoT 了,或者以为做单片机开发的人已经把功能都做完了,只要把硬件设备联网,就算 IoT 了。
然而,联网并不是智能硬件的全部,智能硬件应该解决的是,硬件和真实世界的交互。那为什么现在的硬件做不到呢?
首先,硬件和软件应用完全就是两套词汇表。比如,做硬件的人关心的是 GPIO、I2C、时序、驱动等,而做应用的人关心的是,需求、用户体验、高可用性、系统架构等。
即便是只在硬件开发领域,做系统的和做硬件的也是不同的话语体系,有人关注进程,有人关注晶振;有人关注嵌入式系统,有人关注 PCB……
这就是软硬件之间的鸿沟,让一个人同时具备硬件和应用两套技能,是很高的要求。
其次,市面上快速开发出智能硬件应用的工具并不理想。树莓派固然很好,但是依然需要写 C 写驱动,搞定内存管理、进程调度、异步 I/O 的这些问题。 对于一个不懂嵌入式开发的人来说,光是一个对 GPIO 口进行高电频变低电频的操作,就足以让开发者不知所措。
再次,智能硬件行业,应用数量依然太少,开发者生态没有起来。除了联网,开发者想多做一点事情都很难。可能是因为嵌入式开发难的痛点太痛,开发者数量和质量都跟不上智能硬件发展下日益增长的需求。
生态没跟上,独自作战的各个厂家就要从划一块内存开始,编写驱动,写底层程序,制作水平参差不齐的硬件应用产品,效率之低可以想象。很多东西即便开发者再熟悉,到了一个新的环境可能就要重新做一遍,比如,常见的网络协议要移植,常见的驱动要编写,「重复造轮子」的现象十分严重。
就像 Nokia 和早期的功能机时代,很多人都想编写手机应用,但只有很少量的程序员有能力编写手机应用。
有了 iOS 和 Android,应用开发的门槛降了下来,大量的程序员涌了进来,才有了我们看到的移动互联网的繁荣,也才有了微信等爆款应用。
在硬件应用开发领域,有没有类似 iOS 和 Android 的平台,可以解决同样的问题,降低硬件应用开发的门槛,让更多有应用开发能力的人进入到这个领域呢?
我们遇到了 Ruff。
一个专为硬件应用开发而设计的 JavaScript 运行时,帮助开发者快速的开发出想要的智能硬件。
Any application that can be written in JavaScript, will eventually be written in JavaScript...
——Jeff Atwood
Ruff 选择了程序员基数庞大、唯一的全栈语言 JavaScript 作为程序设计的语言。对硬件进行了抽象,使用了基于事件驱动、异步 I/O 的模型,使硬件开发变得轻量而且高效。一个软件开发工程师,通过 Ruff 可以成为一个全栈工程师。
通过 Ruff,开发者无需成为上懂应用开发,中懂网络,下懂 CPU 的全能者,也无需看复杂的电路图和数据手册。一个只有软件开发经验的开发者可以轻松开发硬件,驱动程序员则可以编写驱动,发布到软件仓库。
提供一个物联网开发平台
Ruff 为开发者提供了完善的开发服务。从项目生产、软件包管理、应用管理、外设管理到固件管理等一系列现代软件开发方式。PC 端完成开发,无需烧板子,提升开发者的开发效率。
开放的软件仓库,无限拓展。驱动、软件包、通信、协议等不断拓展软件仓库内容。
提供完善的测试框架,支持 assert、test、mock 等模块支持,在开发机上测试逻辑,硬件测试也能 TDD。
这是一个有意思的团队,这是一个有意思的创业故事。
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 在博客里这样写道:
「滴滴的切入点是让出租车装个软件, 诺基亚的切入点是让现有的手机应用开发者做塞班开发…… 然而这些注定不会有卵用。 Uber 告诉我们,只有让不开出租车的人去开出租车才能更好解决出行问题,Airbnb 告诉我们,只有让不开酒店的人开酒店才能更好解决旅行住宿问题。在塞班有了 70% 以上市场的情况下,通过让互联网的 Java 工程师进来开发应用,安卓让移动互联网全面爆发了。」
Ruff 做的事情就是让软件定义硬件,让软件开发者可以开发硬件。这是一个增量市场。
在互联网领域,过去十多年我们看到了很多软件开发者,借助平台生态的发展之势,快速成长起来;而在硬件领域,我们看到原有的以制造为基础的硬件生态,正在有更多更丰富的平台服务商出现,他们在推动着应用开发者更快更容易的开发硬件,也推动着这个生态的繁荣。
主笔:陈壹零原创:深圳湾
转载、采访、投稿、团队报道联系公众号:shenzhenware