说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

百度轻应用插件CloudaMySQL诞生记

HTML文档下载 WORD文档下载 PDF文档下载
记者接触到了 CloudaMySQL 的开发团队,并聊到了他们的创业经历、做这款插件的初衷以及对百度轻应用开发注意事项等话题,总结下来与更多的开发者分享。

CSDN.NET 付江/文    百度于去年8月份的百度世界大会上首次对外发布了旗下的WebApp开发框架Clouda,作为一款实时JavaScript框架,Clouda支持多终端在线实时同步,而Clouda App也可以被搜索引擎检索到,为广大的长尾移动应用开发者拓展了新的分发渠道。目前已经有智联招聘、景点通、冷笑话精选、贝瓦网、联想3C服务、微车违章查询、铁友网等多款典型应用接入了百度轻应用平台。

最近Clouda技术社区里的一款活跃插件CloudaMySQL引发了CSDN记者的兴趣,其基本功能是解决了基于Clouda所开发的百度轻应用使用MySQL数据库的问题。一个偶然的机会,记者接触到了 CloudaMySQL 的开发团队,并聊到了他们的创业经历、做这款插件的初衷以及对百度轻应用开发注意事项等话题,总结下来与更多的开发者分享。

辞职公务员下海创业  
这个团队的创始成员包小白和王浩两人是同学,刚毕业的时候还曾合租过一间两居室。之前王浩在天津市某事业单位做公务员,两年下来,每天早九晚五一杯茶一杯报纸,安装电脑操作系统、杀毒、局域网维护等运维工作让他觉得有虚度年华的感觉,而只能在下班后磨练编程的功力。包小白则在一家私企从事针对地方门户的开发及运营工作。整体来说,包小白擅长于项目统筹与开发以及CMS的二次开发,王浩擅长于服务器运营维护及后台开发,两人的技术都还不错,闲暇之余也接一下小项目试手。

                                          包小白在百度轻应用训练营演讲  CSDN配图

彼此间的交流让他们愈发想改变毫无朝气的生活,更想趁年轻的时候打拼一番事业,于是两人一拍即合,毅然决定辞去工作,成立网络回声工作室,从事Web相关开发以及运营工作。至目前为止,整个团队已经扩充到开发及设计人员共四名,正准备从自己的学弟学妹们入手,继续补充团队的开发人员。

工作室成立后,承接的第一个大型项目是赛迪速网站。项目包含网站页面设计与开发、网站后台管理页面设计与开发等功能,整个项目耗时三个月。现在回头来看,当时在支付接口引入时遇到的问题最多,因为各大第三方支付平台对用户体验要求都比较高,而且要求兼容从IE6到现有的所有主流浏览器,让团队花了很大功夫调试页面,也是一次很好的练手机会。

随后,网络回声工作室又承接了二百范文网轻应用的开发,这是他们所做的第一个基于百度Clouda框架的轻应用。当时百度官方推出Clouda的时间并不长,他们从接触到吃透Clouda大约用了三个多月的时间。这些时间里,他们经常熬夜调试Clouda官方提供的Examples,通读API文档及开发指南,遇到不懂的地方就在Clouda技术群里向小伙伴以及百度官方开发者们咨询。辛勤的工作得到了回报,客户对他们基于Clouda开发的二百范文网轻应用相当满意,也更增强了他们的自信。

历时两周开发出CloudaMySQL插件

自2013年12月接触到百度Clouda后,包小白和王浩就一直在社区里与其他的Clouda开发者们有着交流,当时群里大家反应比较集中的问题就是Clouda是基于Mongodb数据库的,而现在大家在跑的网站数据基本都是基于MySQL,这就导致了从PC网站迁移到Clouda轻应用只能通过第三方数据获取的办法,这使得Clouda引以为傲的联动反馈机制大打折扣。为解决这个问题,包小白和他的团队决定自行开发一个CloudaMySQL插件,帮助大家解决上述的问题。

开发CloudaMySQL,包小白和王浩大概用了两周的时间,前期遇到的一个困难就是Clouda执行流程问题,因为要想在不修改框架代码基础的情况下,开发一个第三方插件,就必须搞清楚Clouda如何操作数据库以及从数据库返回数据到最终通过联动反馈显示在客户端浏览器的执行流程问题。为此他们还专门咨询了百度官方的技术人员,通过他们的指点和自己不断的调试,最后成功的解决了这个问题。当开发思路明晰后,他们在实现时又遇到了另一个问题,基于MySQL实现的联动反馈机制会破坏原有数据,为此两人协同调试,通过对比基于Mongodb和MySQL的数据,定位到了问题产生的原因,当晚就把修改后的代码完成了。

其实CloudaMySQL插件是网络回声工作室的第二个(插件)作品。第一个作品是基于dedecms\phpcms的数据接口,然后利用Clouda读取接口来展示数据。而目前CloudaMySQL的首批用户大多也是来自于之前的老用户,毕竟他们都是使用了网络回声工作室的Clouda的专用的PHP接口。另外,借助于百度官方的推广,包小白和王浩在技术论坛上发布了教程以及演示视频,这也为他们带来了不少的用户。

百度轻应用开发的三点建议
结合自己的经验,包小白和王浩对致力于做百度轻应用的开发者们给出了自己的几点建议。

首先在设计初期,要明确轻应用的最终实现目标是要达到Native App的效果,这就要求设计人员尤其需要注意页面布局、按钮大小等充分考虑移动端的用户体验。他们在开发范文网轻应用的过程中,就碰到过以下情况,首先headline部分除了简短描述外,使用一个<a>,内容是“查看更多”,后来测试过程中发现手机屏幕大小有限,按钮不容易选择,因此他们把headline的描述部分也放到了<a>标签里。这不是一个技术问题,却对用户体验有着重要影响,其他的诸如在针对输入时候的控制,有时候其他的元素,会遮挡输入,或者被放大等。这些都是需要开发者注意的一些细节。

其次,在代码编写阶段,要尽量写完一个Controller相关的Model、Publish、View后进行单元测试。因为Clouda是基于Node,而Node是完全事件驱动、异步执行的程序语言,异步执行虽然带来了极高的吞吐量和快速的事件响应,但却与传统编程思维差别较大,需要时间适应,对嵌套了多层匿名函数的调试往往也不容易定位错误,因此,越早发现问题,越容易解决。

最后,在测试阶段,要尽可能多的使用不同型号、平台、版本基于Webkit的浏览器。只有广泛测试,才能发现细微的错误,带来更完美的用户体验。

对于百度Clouda框架的后续改进,包小白和王浩认为:(1)提供更多的端能力,如在用户允许的前提下,读取用户通信录、调用手机摄像头、麦克风等,从而为轻应用提供更加丰富、多元化的能力;(2)集成百度支付接口,通过轻应用,实现用户搜索即可得,而且可以从轻应用接入的源头控制商品的质量,打造高品质的商品应用;(3)针对第三方插件开发者,提供更多的技术支持和宣传,让拥有二次开发能力的开发者为其他开发者服务,维持开发社区良好的态势和秩序。

谈到CloudaMySQL插件授权版本定价,包小白表示,从128元的定价可以看出面向群体主要是一些小型企业以及底层开发人员。免费版也能实现Clouda使用Mysql数据库的大部分功能,同时推了授权版本,只是为了维持工作室创业初期正常的运转以及对团队其他开发成员的肯定,可以激励更多外部开发者或团队加入到“Clouda第三方插件”的开发队伍中来,引导Clouda开发市场的健康发展。

[体验]Windows 8 Metro/Modern Style IE 10 Growth Hacker正席卷全球,你了解它吗? Splashtop发布Ubuntu Linux版本Streamer 性能超过VNC 10倍 Windows 8引领智能操作 人机交互进入触控时代 豌豆荚发布新版应用搜索 推出“绿色标签”机制 权威解读:苹果的未来将走向何方? Google炮轰Facebook:你们的社交已经过时了! iOS设备硬件规格完整汇总 2012 MDCC“2012移动互联网应用创新大赛与开发者面对面”专场:创所未享,携手逐梦! RIM携QNX为“2012 BlackBerry平台移动应用高校竞赛” 颁奖 BlackBerry 10 策略:用金钱吸引游戏开发者 黑莓10要来了:RIM正式开放应用提交 从RIM与微软达成exFAT授权所想到的 OpenStack中国行来到南京 中兴通讯分享电信行业应用 CSS架构目标:预测、重用、扩展、维护 黑客利用移动浏览器漏洞窃取云计算资源 地位动摇:Windows设备10月销量同比下滑21% 手机QQ浏览器4.0 Android版 极速快感 生存还是毁灭:Facebook惨败真是HTML5的错? OpenStack基金会主席:一年后成熟度超越CloudStack 在线学习新编程 技巧全攻略 “英特尔杯”HTML5程序开发邀请赛侧记 C#编译器组首席工程师Eric Lippert离职 加盟Coverity Testacular:Google开源的JavaScript测试执行过程管理工具 黑莓亚洲开发者大会报道:BB10将敲开亚洲应用市场大门 挑战Google!传Facebook与Yahoo要联手开发搜索引擎 揭秘Android 4.2 开发者的天堂与地狱 11大黄金法则:顶级移动UX设计心髓 库克时代:苹果已经不是苹果 设计师必备:极简风格的Fluid UI快速原型图工具 iPhone 5发布,后乔布斯时代苹果乏善可陈 请问: 当J2EE开发C/S模式时,我的C端要不要装J2EE平台啊?(在线等) 局域网中,一些电脑可以PING通局域网内所以电脑的IP,但是网站邻居就是无法查找到? 委托中要求进行参数传递,应该怎样做,谁帮帮我? *>>--谁做过日历以及日历相关-- 如何卸载windows 2003 server,再重新安装windows 2000 server? 请问将Interbase中两个Varchar型字段连接起来的查询语句怎么写? 域名设置问题?? 为什么微波和X光能穿透介质,而波长介于它们之间的可见光恰不能? 生成EXE问题! Transaction Data Module 和 ADO 问题 寻求DOMINO SERVER 得配置资料!如HTTP的配置等等。 怎么创建dll?创建dll时参数应该怎么定义?创建后怎么调用?在哪儿声明? 熟悉ADODB.Stream的大侠看过来! 在WIN32 CONSOLE APPLICATION 建立的程序中为什么不能使用CString 类 数据库恢复的简单问题 谁用过jfreereport或jaxperreport做过报表?各位大哥帮忙呀!!!--就20分了 紧急高分求助:怎么在windows的user control中加一个参数 [求助]怎样让工程加入Data Report ,菜单 工程 里没有添加Data Report 的呀? 倡导成产手机爱好者与自由开发者协会 CPU拨了会不会叫的啊。内存和显卡拨了不会有声音,一定是主板有问题吗? 我的程序都关闭了,可是为什么进程还存在,我用了多线程的? 呼救高手--急:在线等待帮忙--怪异啊! 急!在线等 浏览器关闭事件----急,谢谢 各位大虾帮帮忙!!!必有重谢!!! 求助二维数组排序问题? 那里有Delphi下载啊? 下面的代码总出错 如果指针被阉割掉以后... 哪位提供一点关于开发小型dbms系统的odbc驱动程序的资料啊? 探讨DMBS??? 关于数据库操作一问? ***禁止重复登录?*** cout流的执行方式问题!请高手回答!不胜感激!!! 欢迎广临(API打印)CDC if (know && 高手) 值得讨论 else 有收获的; 在线等候 咋再MS SQL中实现这个查询? 通过ADSI验证用户登录的问题。 寻找控制面板编程方法 怎么判断类是否存在? 能通过网络修改其它机器的IP地址么?请教各位大侠,在线等!!! 求一段代码:如何得到硬盘的物理系列号,可以用来做为本机唯一标识! 在c++builder中怎样控制excel图表(急!!) 请问如何注册控件并调用、???谢谢 delphi连ACCESS怎么连,具体点。 一道有关类的习题 关于FORM使用的问题,请高手帮忙!!!!!!!!!! 有一个问题! ADOCommand 的问题 如何执行资源中的EXE文件!高手帮帮忙! 根据年份和月份得到天数? 水晶报表问题 英语翻译锦瑟无端五十弦,一弦一柱思华年.庄生梦晓迷蝴蝶,望帝春心托杜鹃.沧海明月珠有泪,蓝田日暧玉生烟.此情可待成追忆,只是当时已惘然.如上请翻译 太添加一篇文章时,文章里的关键词密度多少最宜 伤仲永中“未尝识书具”的“书”字是什么意思速求! 《伤仲永》中‘未尝识书具’中‘未尝’的意思 伤仲永中,未尝识书具的书是什么意思需要正确完整的, 伤仲永的:未尝识书县,怎样解释 水中叶绿素蓝绿藻对水体的危害有那些 狗让猫看家猫不干猫给狗打了[打3个动物]大家好好想想. 绿藻的单色法和三色法测定叶绿素的区别是什么? 怎么查一篇文章的关键词密度 五年级英语的改变句子Alice is peeling the lime with her hands.(划线提问her hands)Tom goes to school by tram.(换种说法,句意不变) 共同社:解密文件显示日本曾试图阻止中72小时过境免签为何没火起来香港人均食品消费是新加坡一倍外媒:中共出台新措施强化反腐行动新加坡总理强调须谨慎制定移民政策挪威留坎镇举行仪式 庆祝正式启用大型雪地精灵--拉普兰驯鹿【高清组图】北京出租涨价近五月 司机:空车增多收重庆彭水小学生摸黑爬悬崖上学 最窄处叙利亚问题特使与叙总统阿萨德会晤 将明年起北京车辆违反尾号限行或被罚10国际民俗摄影“人类贡献奖”年赛颁奖活美国南加州酷热高温天气 专家:与地震克尔碱镇馕业新疆60年:三条航线见证空中丝路繁荣清科集团打造首个股权投资全产业链线上美国投资移民:两大资金池第一顺位还款爱卡独家报道:手续费借贷分离,信用卡Edible Arrangement马赫:女篮最需改变精神面貌 不要害怕福建一集团董事长夫妇遭绑架 交150福建:行政诉讼案件跨行政区域管辖破解
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘