JavaScript是随着浏览器的出现而出现的。这种大多数人都不看好的语言,在过去的五年里发展迅速。这是因为2009年NodeJS的出现,释放了Web开发者的创造力,他们用异步的思维重构了服务端开发。使用NodeJS实现Web应用程序和实时调度系统的例子有很多。越来越多的公司使用NodeJS,越来越多的社区推动NodeJS的发展。BJNodeJSClub成立于2015年5月中旬,聚集了一群热爱NodeJS和前端的开发者。2月27日,社区举办了第九届NodeParty。本次活动由知客教育公司主办,在交流咖啡厅举行。阿里巴巴、百度、网易、乐视网、美团、欧特克、OneAPM、头条新闻、iHealth、珠峰培训、中国电信、北京农村商业银行、微信商城、斯伦贝谢等企业及学生60余人参与来自中国传媒大学和大连海事大学。活动从下午1:30持续到下午6:00,精彩瞬间不胜枚举。NodeParty主要由三个分会组成,分会之间有空隙,方便大家互相认识,交换联系方式。主办方准备了咖啡、奶茶、薯片、薯条和音乐。大家在轻松舒适的环境中互相学习。讨论技术问题。这样的场景每个月都会发生一次。规模虽小,却传达出“精益创新、共享”的精神。第一位主讲嘉宾是美科科技的陈浩。他演讲的内容是在开源硬件和软件平台上使用JavaScript开发应用程序的经验。本主题聚焦物联网领域。在分享正式开始前,大家先通过一段短视频了解一下开源硬件领域的背景。本视频是Massimo在TED分享的题为“Arduino如何开源想象力”的精彩演讲。该视频介绍人们通过Arduino将创造力和想象力结合起来,将成千上万的想法变为现实,甚至开发出新产品。陈浩在2012年接触到Arduino,他想实现一个监测PM2.5的家用报警器,同时用这个报警器自动控制空气净化器的开关机。他研究了阿杜诺。2014年上半年,他接触了Microduino项目,专注于让硬件模块化、便携化、易用性。Microduino项目于2013年在kickstarter上成功获得启动资金,并于2014年成立了创业公司。目前他们已经开发了mCookie系列产品,拥有40多个模块,以及mCotton云实现数据分析和展示。美科科技每年还实施3-4个公益项目。比如去年,他们成功研制出“秃鹰蛋”,可以帮助人们了解和监测秃鹰的孵化过程。陈浩做了一个非常精彩的分享,还带来了mCookie作为LiveDemo。以下仅作简要介绍。1)JavaScript适合物联网JavaScript是一种事件驱动的编程语言。WebSockets技术成熟、简单、易用,为多设备间的消息通信和状态同步带来了极大的便利。JavaScript/NodeJS有大量的开源软件包,社区极其活跃。JavaScript可以运行在移动设备、嵌入式设备、计算机和服务器以及各种操作系统上。2)开源硬件和软件使用开源硬件需要DIY精神和创造满足需求的强烈愿望。随着Arduino、树莓派等开源硬件的诞生和普及,制作“机器人”的成本和难度大大降低,释放了大家的创造力。虽然工厂的电子产品满足了大部分需求,但我们身边还有一些需求没有得到满足。开源软件和硬件开始进入DIY高手的视野,他们比较、创新。一些新手任务通常从熟悉Arduino、OpenWrt和NodeJS开始,因为这三者承担着客户端、消息路由和上位机的角色。3)JavaScriptforIoTJavaScript/NodeJS有很多模块来支持物联网应用的开发,比较知名的有Cylon.js、johnny-five、NodeRED、Espruino和Tessel2。在工业领域,很多大厂都在引领JavaScript在嵌入式设备上的生态,包括SamsungIoT.js、IntelXDKIoTEdition、nifaina/homepidge、H5OS等。4)Microduino物联网体验Microduino项目实现了一个完整的解决方案,一个从物到物、物到人、人到物的信息采集、分析、交互的系统。mCotton的引入,将信息发布到云端,未来具有更广阔的发展前景。分享完之后,很多小伙伴都围住了陈浩,陈浩开始打开电脑,登录终端控制台,开始讲解源代码。话不多说,给我看看你的代码。第二位分享嘉宾是XLegal的王苏。王苏2011年以高级软件工程师身份加入百度,2015年离职投身创业者行列。随着XLegal的起步、上线、业务上升、不断迭代,他以架构师的角色总结了初期项目的一些坑。问题是不可避免的。创业公司人少,事多。过去,他经常在各种开发者活动中分享架构设计和技术干货。这次是解决问题的方法论。这部分内容可以归纳为十点:1)使用象限分析法对问题进行拆解和分类2)按重要性设计解决方案,并参考紧迫性考虑实施顺序3)技术债产生的非-功能性需求被功能性实现隐藏,必须警惕由此带来的减速效应4)非功能性需求的完善会导致项目进入加速曲线5)项目的初始技术方案应以长期生存为目标-term6)项目迭代的过程最终会导致自己的技术方案7)引入偏离技术场景的方案,会使项目“受限”或“失控”。尽最大努力保持对项目的控制8)绝对没有万能的,警惕被商业化“神化”的技术产品,一定要分清方案的适用场景刚开始项目或者刚上线应用都说孟放醒了,结果不知不觉欠下了“技术债”。最后一个环节是自我介绍,大家讲了一点自己的故事,比如对社区、技术、职业的看法以及2016年的愿望。OneAPM的王龙田兴奋地谈到了解决去年的人生大事,希望公司今年可以上市,他可以加薪。阿里巴巴的葛光乐提到,公司今天在北京放出了前端开发名额。工作年限、学历、技术水平不限,但必须是女性。珠峰培训张仁洋希望在技术不断创新的背景下,帮助业内朋友打造知识体系,让大家快乐轻松地学习。毕业于卡耐基梅隆大学并回国工作一年的罗诗雅认为,每次到访这个社区都能学到一些东西。技术工作就是不断挑战更快的加载速度、更容易维护的代码、更美感刺激的视觉体验。因为每个人心里都有同样的问题,所以聚在一起,不断分享,共同进步。BJNodeJSClub的愿景是打造一个专注于技术分享的多元精英社区。只要热爱科技,打太极、踢球、打游戏的时间都可以用来冷静思考。有没有可能优化这样一段代码,让网页加载得更快?然后,我们的社区将以最真诚的热情欢迎您。本次活动精彩图片及PPT下载:http://git.oschina.net/ubiware/node-party/blob/master/9th
