程序猿Ubuntu北京黑客松回忆录分享篇
转载地址:http://developer.ubuntu.com/zh-cn/blog/2015/07/10/ubuntu/
2015年7月4-5日,我们聚集北京一起经历了Ubuntu手机在中国的首场黑客松。@DawnDIY最近发布了一篇细心记录下的活动
回忆录, 在这里和大家分享。
前言
很早就知道"黑客松"(Hackathon),也关注过一些国内的Hackathon活动,只是一直都没有去尝试参与过。以前是没有美工前端,
很早就知道"黑客松"(Hackathon),也关注过一些国内的Hackathon活动,只是一直都没有去尝试参与过。以前是没有美工前端,
所以自己变成了个野生渣前端。最近很长时间都在关注Ubuntu Touch的进度,得知有在北京举办Hackathon活动,也就迅速报名
了。好吧,我的第一次Hackathon献给Ubuntu了。
准备
当然这次Ubuntu Hackathon是为Ubuntu Touch开发应用。Ubuntu Touch上的开发基本分三类。
一是Scope,Scope目前在中文也没有很合适的翻译,官方也没有给出中文名称我们都以Scope来叫它就好了。开发Scope,
官方给出了一个框架并提供了各类API,可以快速的做出一个不错的Scope,具体可以参见这里(友情提示:网页底部有切换简体
中文的链接)
二是QML App,这也是真正意义上的Native App吧。使用QML语言进行开发,当然可以结合Qt使用C++对其做支持。
三是HTML5 App,HTML5应用,当下比较流行吧。因为今年的HTML5标准正式发布,和之前各种宣传,HTML5技术也多用于
移动设备开发,最大的好处就是 write once, run everywhere 。
四是Webapp,这个其实就没什么了,可以把现有的网站url打包成一个简单的入口webapp。其实就是一个网站的快捷方式。
对于Qt/QML,虽然很早也知道了解过,但从来没写过东西。那Qt是用的C++,好久没碰了。其实QML里面可以直接写Javascript
也不用担心太多,真是万能的Javascript啊。那后来发现一些比较复杂不方便在QML里面做的事情,还有一些敏感的内容不能直接
暴露在QML里面,那么就只能用C++了,写了一段时间发现真的是生疏了。后来Google之发现有人说可以用Golang,瞬间欣喜
起来,自己学习过Golang也做过一些项目,而且也在期待Google将其用在Android开发上。然后就得知了go-qml这个项目后,
就开始深入使用QML结合Golang来做GUI应用。其实go-qml的作者也说了,这个库属于alpha阶段,而且确实从v0到v1的
时候有些
写法和API也确实变了,读了部分源码后发现源码里面一些Comment也标记了一些TODO和疑问。所以就当实验性开发
吧,不过
现在用过来并没有发现很多问题,唯一比较麻烦的就是Golang Type到QML Type的转换上面有限制。
对于Scope,第一感觉就像是Android里面的Widget。后来慢慢啃文档也就慢慢理解了,Scope主要的作用也就是作为一种对信息
的聚合、展示、搜索等功能。Scope可以聚合子Scope的信息,也可以对子Scope进行搜索。不过目前的Scope在功能性方面还
是不是特别多,并且Scope里的previewwidget的功能目前也比较弱,使得很多想象力被限制了。所以Joey Chan和校长也都和
我说
Scope也就那样了,做App吧。So... Learn by doing...
疯狂一下吧
7月4~5日,自从Rex那里知道有Hackathon以后这个日子已经期待很久了,终于来了~由于最近比较忙,4日凌晨1点才睡觉的,
也没怎么准备早上7点40起来,随便把电脑、各种线往书包里面塞,另外还带了我做了特殊处理出国网络比较快的Raspberry Pi2~
9点多到了Microsoft大厦,后来回想起来倒是怪怪的,抱着装着Ubuntu的MacbookPro去了Microsoft大厦参加Ubuntu Hackathon~
呵呵~
一进会场~哇,有美女接待,一紧张忘记拍照了,后悔啊~~然后默默地找自己的名字,然后弱弱地说我没有团队一个人来的 :) 。
找到一个比较靠前的8号桌坐下来了。整理好东西,坐下等待安排了。瞬间发现0点钟方向坐着刘老师、11点钟方向坐着Rex和
Penk 。刘老师之前见过,Rex第一次见面,不过看见他一直拿着笔记本蹲跪在地上忙,就没过去打扰了。后来上前和刘老师打了
声招呼然后聊了会儿之前我和他说用Golang的事情。
Rex和Penk上台做简要介绍,Rex介绍说已经有国内开发者在开发Ubuntu Touch平台的App了,出现了Joey Chan的AesyWeibo,
然后PPT上突然出现我之前做的Youku Scope,嘿嘿~欣喜一下。然后Rex说Youku Scope是在场的一位开发者做的,问他在哪。
我开始懵了一下然后站起来,只见Penk在那喊了一声,“原来就是你啊”。然后继续,今天的主题就是没有主题。Let's start...
现场很多人是没有Nexus4或者其他可以运行Ubuntu Touch的手机,于是官方向每一桌提供开发机。哇,是刚才签到的妹纸来发~~
只见快到我这桌了,好紧张,然后就看到她默默地走过去了,略过我这桌了,为什么?我很费解,此时Penk突然在我面前坐下了。
好吧,妹纸走了,Penk大神来了~哈哈,都不用相互介绍我们就聊起来了,问我要做什么,我说还没想好,可能做个音乐相关的
吧。Penk说要不要把Youku Scope完善一下,也行...然后coding...
为Scope添加Account功能之前还没看,这下顺便开一下,还请教了几次刘老师,遇到了挺多困难的。后来休息一下,想想,还是
尝试做新的东西吧,这样在限时里完成才有挑战,那好,开启QML模式~之前就想在Ubuntu Touch做类似豆瓣FM的app,那好就
定这个了~
哈哈,晚饭居然可以自助选择盖饭和麻辣烫~ 吃饱喝足继续Hack~ 不过每次红牛都被抢光了,都是结束的时候Rex分了我一灌,
感谢~
Coding...
Coding...
Coding...
我算是坚持的比较晚的吧~4日晚上基本没睡,电脑里面一直循环着一些Death Metal。邻座的一组貌似还是外地来参加的学生,
他们也比较努力也都好多没睡,听他们在讨论,发现年轻真好,比我在大学的时候强多了!PS:刘老师混进了同学们中,开始
还
在聊技术,后来还聊到大学生活,刘老师真能聊,哈哈~~
5日凌晨的时候还遇到了一个好玩的事情~调试了一个微博的接口,用到了上传图片,由于权限的问题,我只能上传整张图片,而
不能给定url。这个接口调了我好久,就是为了能有一个分享音乐的功能,后来去请教Penk,Penk也是一夜没有睡了佩服!向Penk
说了一下后,他理解了我的思路也确定没问题,但怎么就不行了呢~调用微博的接口总报错不给通过,好吧,吐槽一下微博的文档
好多细节没写好。见Penk也是一夜没睡,很累的样子,感谢听我瞎扯~ 后来自己想办法吧!快速用Python在本地做了个服务,直接
发请求到本地,看看是不是自己的问题,瞬间条理就清晰了~哈哈~ Penk给我当了一次小黄鸭~后来在厕所碰到Penk,兴奋的和
Penk说了我怎么解决的~ 回来后瞬间感觉又有能量了,直到坚持到7点后吃了Joe提供的早餐,我就小睡了一会儿~~~
Debug到早上8点,基本要完成的都完成了。嘿嘿~豆瓣FM for Ubuntu Touch ! 还有一个离线播放的功能还没做完,因为目前没法
精确判断WiFi和移动数据的状态,不过已经有人在Launchpad上提交Bug了。PS: 其实Ubuntu Touch现在就像一个小孩子,我也是
慢慢看着它一点点的变化,要不是平时很忙,我恨不得仔细读读所有的源码,把一些我发现的Bug直接fix掉再提交。呵呵,我早晚
会仔细研究其源码的。不过我还是贡献了挺多翻译的~
闪电秀
尺子
Couple like
优图
斗地主
日记本
记忆词典
路痴助手
uChat
rocket 拼图
LoLi team(mb)
撞脸
小飞机
需求交互
豆瓣FM for Ubuntu touch
尺子
Couple like
优图
斗地主
日记本
记忆词典
路痴助手
uChat
rocket 拼图
LoLi team(mb)
撞脸
小飞机
需求交互
豆瓣FM for Ubuntu touch
上面的就是小伙伴们30个小时的奋战成果!值得一提的是其中有些朋友是刚开始学习开发,尺子的作者他就提到他也是学习C++/Qt
不久,但我觉得尺子这个作品很实用的。
Couple Like是一对搭档完成的,嘿嘿,这个创意不错,是一款通过图像人脸识别辨别其年龄以及两个人的匹配程度的应用。最强的
是演示时候用的Demo图片。
斗地主、日记本等那些,原来大家都是qt高手啊,都在Ubuntu平台上实现了很好玩的应用。希望早日在Ubuntu Touch见到。
值得一提的是LoLi team他们在用Js在Ubuntu Touch上实现了LoLi的解析器,LoLi是他们自己发明的一个Lisp的方言,纯技术层面
来说,这个很牛啊~佩服佩服~而且让我感觉到年轻真好~~要哭了
uChat 一款基于LBS的社交应用,是一组在校的同学做的,他们做的演示和理念都不错,我以前也想过一个类似的应用~
轮到我的豆瓣FM for Ubuntu Touch登场了~哈哈~可能一晚上没睡,感觉自己演讲的不好吧~随便整理了一个slide,这个slide也
是
开源的哦,大家可以folk,里面有一些有用的资料。借用Rex的电脑简单的把slide讲了一遍,还是那句话,因为我喜欢音乐,
所以我
做了相关的应用,这样真的很开心。然后就是演示了,点击应用播放的刚好是自然卷的单曲《坐在巷口的那对男女》,大家
都挺
熟
悉的,当我把话筒对着手机的扬声器时,大家听见音乐都鼓起掌了。谢谢大家喜欢,然后介绍了一些必要的功能(后来发现
其实
我好多忘记演示了),然后...然后就没有然后了... No~还有One More Thing...大家听到还有"One more thing"的时候有惊奇
起来。
为了纪念这次活动,我在 豆瓣FM for Ubuntu Touch中制作了一个彩蛋,嘿嘿,只有特殊的方式才能进去的哦~大家看到后
都哈哈
大笑起来。待我把它完善好后,大家自己去发现吧 :)
后话
第一次参加Hackathon,感觉很充实,也认识了很多朋友。最好的感受就是和一群兴趣相投的朋友做自己爱做的事情真好~最后
就是回家睡个天昏地暗~
小站最近改版,好久没写博文了,突然发现码了好多字啊~不行,我得睡觉了~88
转载地址:http://developer.ubuntu.com/zh-cn/blog/2015/07/10/ubuntu/
注: