JavaScript伴随着Web浏览器的出现而出现,这个不被大多数人看好的语言近五年来发展迅猛。这是因为2009年NodeJS的出现释放了网页开发人员的创造性,他们用异步思维重构了服务器端开发。使用NodeJS实现web应用、实时调度系统的例子多如牛毛。越来越多的公司使用NodeJS,同时越来越多的社区推动NodeJS的发展。BJ NodeJS Club于2015年5月中旬成立,集中了一群喜欢NodeJS和前端的开发者。在2月27日,该社区举办了第九次NodeParty,本次活动由智课教育公司承办,在交飨汇咖啡厅举行,逾六十人参加,有来自于阿里巴巴、百度、网易、乐视网、美团网、Autodesk、OneAPM、头条新闻、iHealth、珠峰培训、中国电信、北京农商银行、微信商城、斯伦贝谢等公司的开发者以及中国传媒大学和大连海事大学的同学。活动从下午一点半进行到晚上六点,有许多精彩的瞬间。
NodeParty以三个环节为主,环节之间留出孔隙时间方便大家相互认识、交换联系方式,承办方准备了咖啡、奶茶、薯片、薯条、音乐,大家在放松舒适的环境里相互学习,讨论技术问题。这样的情景每个月都会出现一次,规模不大,但传递了“精益创新,竭尽分享”的精神。
***个做主题分享嘉宾是来自于美科科技的陈昊,他演讲的内容是在开源硬件和软件平台上使用JavaScript开发应用的经验。这个主题侧重于物联网领域,分享正式开始前,大家先通过一个短片来了解开源硬件领域的背景,这一视频是TED中,Massimo分享的名为“How Arduino is open-sourcing imagination”的精彩演讲。这一视频介绍了人们通过Arduino将创造力和想象力结合起来,让成千上万个创意变成了现实,甚至开发出新产品。
陈昊接触Arduino是在2012年,他因为想要实现一个家用的监控PM2.5的告警器,同时通过这个告警器自动控制空气净化器的开和关,研究了Arduino,2014年上半年,他接触了Microduino项目,该项目专注于将硬件模块化、便携化、易用化。Microduino项目2013年在kickstarter上成功取得起步资金,2014年,成立创业公司。目前,他们研制了mCookie系列产品,具有四十余款模块,还有mCotton云来实现数据分析和展现。美科科技每年还会实施3-4个公益项目,比如去年,他们成功研制了一个“秃鹫蛋”,这个蛋可以帮助人们了解、监控秃鹫孵化过程。
陈昊做了非常精彩的分享,同时还带来了mCookie做Live Demo。下面仅作简单的介绍。
1)JavaScript is fit for IoT
JavaScript 是以事件驱动为基础的编程语言,WebSockets技术成熟、简单、好用,给多设备之间的消息通信和状态同步带来极大的便利。JavaScript/NodeJS具有海量的开源软件包,社区异常活跃。JavaScript可以运行在移动设备,嵌入式设备,电脑和服务器和各种操作系统。
2)OpenSource Hardware & Software
使用开源硬件更需要有DIY的精神,要有创造一个东西解决需求的强烈愿望。伴随着Arduino、Raspberry Pi和其它开源硬件的诞生和普及,人们制作一个“机器人”的成本大幅度下降,难度降低,这释放了大家的创造力。虽然工厂的电子产品解决了大部分需求的,但我们身边还会有一些无法满足的需求,开源软件和硬件开始进入DIY小能手的法眼,他们攀比着进行创新。
一些新手任务通常是从熟悉Arduino、OpenWrt和NodeJS,因为这三个承担了客户端、消息路由和上位机的角色。
3)JavaScript for IoT
JavaScript/NodeJS 有许多模块来支持物联网应用的开发,比较知名的包括Cylon.js、johnny-five、Node RED、Espruino和Tessel 2。工业领域,很多大的厂商在主导着JavaScript在嵌入式设备上的生态,包括Samsung IoT.js、Intel XDK IoT Edition、nifaina/homepidge和H5OS.
4)Microduino Experience of IoT
Microduino项目实现了一个完备的解决物到物,物到人,人到物的信息收集、分析、交互的系统。mCotton的引入更是将信息发布到了云端,在将来有着更广阔的发展前景。
分享结束后,很多朋友将陈昊围了起来,陈昊开始打开电脑,登陆终端控制台,讲解起源代码。Talk is cheap, show me your code.
第二个分享嘉宾是来自于XLegal的王骕,王骕于2011年加入百度,成为高级软件工程师,2015年离开,加入创业者行列。伴随着XLegal的起步、上线、业务上升、不断迭代,他在架构师的角色上总结了创业初期项目的一些坑。问题不可避免,创业公司人少事多,以前他经常在各种开发者活动分享架构设计、技术干货,这次是解决问题的方法论。这部分内容可以总结成十点:
1)利用象限分析法拆解和归类问题
2)按重要性设计方案,参考紧急程度考虑实现顺序
3)技术债由非功能性需求产生,被功能实现掩藏,务必警惕其造成的减速效应
4)非功能性需求的完善,会将项目导入加速曲线
5)项目初期技术方案,应尽可能以撑过长期为目标
6)项目迭代的过程,最终一定会导向自有的技术方案
7)偏离技术场景的方案引入,都会使项目“受限”或者“失控”。应尽全力保持对项目的控制力
8)绝对没有万金油,警惕被商业化行为’神化’的技术产品,一定要区分方案适用场景
听完分享后,许多刚启动项目或刚上线应用的朋友表示如梦方醒,原来不知不觉的欠了“技术债”。
***一个环节是自我介绍,每个人讲了一点自己的故事,比如对社区、技术、职业的看法和2016年的愿望。来自OneAPM的王龙天兴奋的说起了去年解决了人生大事,希望今年公司可以上市,自己可以加薪。来自阿里巴巴的葛光乐提到公司今天在北京释放了一个前端开发的名额,不限工作年限、学历和技术水平,但必须是女的。来自珠峰培训的张仁阳希望在技术不断推陈出新的情况下,帮助业内的朋友,打造一个知识体系,可以让大家学的开心,学的容易。毕业于卡耐基梅隆大学,回国工作一年的罗诗亚则认为这个社区每次来都能学到一些干货。技术工作就是要不断的挑战更快的加载速度、更容易维护的代码、更能激发美感的视觉体验,因为大家心里抱着同样的问题,才聚到一起,不断分享,共同进步。
BJ NodeJS Club的愿景是打造一个多元的,专注于技术分享的精英社区。只要你热爱技术,将可以打太极的时间,可以踢皮球的时间,可以游戏的时间,用来冷静的思考,是不是优化了这样一段代码,网页能加载的更快?那么,我们这个社区就以最诚挚的热情,欢迎你。
下载本次活动的精彩照片和PPT: http://git.oschina.net/ubiware/node-party/blob/master/9th