激情与梦想,我的CSDN开源夏令营

6月有幸参与到CSDN开源夏令营当中,加入了Ubuntu kylin的开源项目组,负责优麒麟手机助手的开发。初识Ubuntu是在两年前,那时候刚刚接触编程,总希望可以尽量多接触一些有逼格的东西。

后来花了一天时间在U盘里装了一个Ubuntu,还没开始骄傲就发现同学在电脑里装了13个操作系统,从那时候开始,我就学会了……只要折腾不死,就往死里折腾。

图 1 Ubuntu kylin

喜欢折腾是我能参与到优麒麟手机助手这个项目中的重要原因。大学三年我花了大部分的时间编程,只要接触到的东西有实战之处我都会去尝试,到后来码出的代码在我不知道原理的情况下就可以成功跑起来。这种开发习惯一直延续到今年6月,直到今年连续被阿里拒了两次我开始反思,编程重要并不是你有多强的实践能力。

我开始领会到思考的重要性,在CSDN开源夏令营中有幸结识到Jonas导师,Jonas导师对我的帮助可谓是空前的,我们花了大概三周的时间来讨论需求,分析技术的可行性。这让我更加坚定地去改变之前错误的开发习惯。我相信,有了正确的方向,哪怕退回原点也是进步。

优麒麟手机助手是Ubuntu kylin下的一款应用软件,致力为Linuxer创造一个可视化的手机管理工具。经过和导师的交流,我们最终决定首先实现优麒麟手机助手的无线连接,以Android作为服务器,实现所有的功能,Ubuntu kylin下的桌面软件作为客户端和Android端交互。这样一来优麒麟手机助手实际上也成了跨平台的手机管理软件,用户可以在任意一个浏览器中使用它的全部功能。

因为自己对Android很感兴趣,之前也开发了一些app,在Android端的开发上没有出现太大的障碍。底层直接使用Paw作为服务器,这样一来Android的本地代码只暴露出一个Activity和一个Service。再通过Paw加载HTML文件,前台布局开发的也很顺利,桌面式的布局可以提供很友好的用户接口,虽然现在还有很多小问题,但是已经不影响整个项目的使用,开源的魅力也在于大家可以一起改进,共同学习。

花了大概一个月的时间,一个独立的Android应用版优麒麟手机助手已经完成了。用户可以在任意浏览器中通过应用中显示的URL进行访问,效果如图2。URL包含手机IP和端口号,因为Linux的非Root用户是拿不到80端口的,所以端口号不能省去。端口号是固定死的,手机IP会根据网络动态分配。

图 2 优麒麟手机助手浏览器版界面-照片查看器

下一步的工作就是实现优麒麟手机助手在Ubuntu kylin下的桌面应用,虽然工作量已经剩下的不多,但对我来说,这一步工作的挑战难度并不低于在Android上实现全部功能。

在Ubuntu kylin桌面软件的开发中,现在流行的是Qt/QML混合编程和Qt+HTML5混合编程。实在不想承认我的C真的很渣,网上几乎找不到新版Qt/QML的中文教程,于是这一个月的时间里,很大一部分时间呆在StackOverflow上。一个在QML中注册C++类的问题让我痛苦了三个夜晚,工期其实挺紧的,任务量大到我没办法系统地地学习Qt/QML的混合编程,这让开发变的有些乱,我没有很好的处理自己。更痛苦的是没有人可以和我一起交流技术,有一天食堂大妈看着我心事从从,让我说出来她帮忙参考参考,我只能呵呵呵了,心想以后一定要去一家有技术交流氛围的公司,食堂大妈都得懂开发:)

万万没想到最终我还是完成了优麒麟手机助手桌面端的开发,桌面端换用Qt+HTML5的技术架构(如图3)。

图 3 优麒麟手机助手QML界面

CSDN开源夏令营的工作就这样结束了,但是优麒麟手机助手的开发才刚刚开始,我的程序员之路也刚刚开始。很庆幸当初没有和同学们一起去参加IOS培训,虽然他们很快就可以没毕业就拿行业高薪8K+,然后讽刺我看扁我:(  但我还是很高兴没有放弃自己,我相信人生总有些时候需要自我救赎。朋友说我和自己过不去,有高薪何必不拿,我只是觉得现在的培训太商业化,学生像是流水线上的商品,完全没有幸福感。我觉得如果我想搞IOS,我会自己去学,找一些前辈交流,我一定会学的很好。如果我想去幸福感很强的互联网公司,我就一直努力,我一定可以找到合适我的位置。

总(软)结(文)写完了,不知道能不能把自己推销出去。最后希望有兴趣的各位看客可以加入到优麒麟手机助手的开发之中,我们来者不拒。

时间: 2024-10-13 20:45:35

激情与梦想,我的CSDN开源夏令营的相关文章

CSDN开源夏令营 百度数据可视化实践 ECharts(6) 期中总结

期中总结 (1)首先感谢林峰老师的辛勤指导!! 通过半个多月的培训,林峰老师讲解了ECharts总体框架和其中各个部分:图类.组件.接口.基础库的具有应用方法和应该把握的细节,并通过实际的例子熟悉和掌握各个控件.只有打牢基础才能正正的为下步的工作做好准备,熟练的属性代码的编程技巧,才能做出更好的专题. (2)第一次任务重点总结: 要求:了解ECharts特性中列举的每一项特性,并能找到实例中的例子,并且在实例中操作. 重点问题: 1)ECharts一种支持多少种图表?有多少个组件?列举出中英文名

CSDN开源夏令营 百度数据可视化实践 ECharts(2)

将ECharts引入项目中的几种详细方法讲解 (1)打好基本功 首先感谢林峰老师!给我们的悉心指导.我们之所以学习ECharts和Zrender图表组件,为了就是能够将图表应用到我们的实际情况中 来,进而让图表的战士能给我们一种更加人性化的方式呈现给用户.所有我们必须熟悉ECharts中相关组件.下面的例子都以line为例. (2)将ECharts引入项目共有三种方式 2.1)第一种方式-模块化包引入 模块化包引入模式也可以称为开发模式,是开发时最好的方法,不管是开发echarts还是用echa

CSDN开源夏令营 百度数据可视化实践 ECharts(1)

总体规划 (1)选题: 通过了解林峰老师的专题中国主要城市空气质量实况.中国经济十年时空漫游和中国人口流动大潮,涉及了人口.经济和民生等方面的内容,在这里我选择中国高考,作为我的切入点. 高考,一个永恒的话题,是一场你我都值得经历的一场无硝烟的战争.有人曾说:每个高考的孩子都背负着几代人的希望,每个高考的背后都有众多关注的眼睛.人生能有几回搏?虽然失去了许多,但终究会收获很多. (2)题目 2006-2014高考各省市报名人数及录取人数汇总专题 (3)搜集数据资料 工欲善其事,必先利其器.数据的

CSDN开源夏令营 百度数据可视化实践 ECharts 11 (期末总结)

致谢: CSDN开源夏令营马上就要结束了,随着ECharts专题列入百度ECharts官网,任务就算是基本完成了.再次谢谢林峰老师!回想两个月前听到CSDN要举办这个活动,第一感觉是非常棒,所有就积极看了看所有的项目,项目总体质量很棒,涉及的方面也很广,有云与大数据方面的.有前端与移动方面的.嵌入式与智能硬件方面的.其中linux方面的也很多,总之项目很丰富,也都很有挑战.CSDN是第一年举办这样的活动,虽然时间准备上有些仓促外,总体上组织的很好,在做项目的过程中CSDN的工作人员的服务态度也很

CSDN开源夏令营 百度数据可视化实践 ECharts(8)

(1)前言 首先谢谢林峰老师,继续接着第七篇提到的内容,CSS布局确实很累,感觉不好看了就的调整,总的看起来的高大上嘛,好了废话不再多说.今天主要就先讲解一个页面的内容,对于CSS布局后面讲会详细的介绍给大家. 另外我写的搭配时间轴地图扩展被ECharts采用,http://echarts.baidu.com/doc/example/map19.html (2)总体内容 专题包含有如下五块: 1)大海战全程: 实时描述大海战 2)国力对比篇: 中日战前.战后国力对比 3)装备对比篇: 海军实力全

CSDN开源夏令营 基于Compiz的switcher插件设计与实现之前期准备 git的简单使用

由于项目的代码需要上传到git上,就需要学习一下git的使用了.我初步接触了一下git,准备用此帖来记录git的学习,此帖会随着我对git了解的深入动态更新. 一.GIT的介绍 1.概述:git是一个分布式版本控制系统, 2.详情请见:http://baike.baidu.com/subview/1531489/12032478.htm 二.GIT的安装 这里就介绍一下linux平台下的安装,我使用的是Ubuntu Kylin 14.04,只需要在终端输入命令:sudo apt-get inst

CSDN开源夏令营 基于Compiz的switcher插件设计与实现之前言

很开心能够被选中参加开源夏令营,能够参与到中国的开源事业中来,感谢彭欢老师给了我这样一个机会. 1.项目名称:基于Compiz的switcher插件设计与实现 2.项目类别:软件 3.项目参与人员:彭欢(指导老师)  风语(我) 3.项目背景:compiz现有的switcher插件存在或多或少使用上的不便,旨在设计实现一款更好用的switcher,故提出本提案. 4.项目开发环境:Linux(Ubuntu Kylin 14.04) 5.项目目标: 基于开源窗口管理器compiz实现 可以参照其原

CSDN开源夏令营 基于Compiz的switcher插件设计与实现之compiz特效插件介绍及特效实现

compiz自带的特效插件不够多,也不够强大,为了更好的体验compiz的特效,我们可以安装特效插件,在终端输入命令:sudo apt-get install compiz-plugins就可以下载特效插件安装了. 一.安装compiz特效插件 在此过程中可能会出现一些问题,比如说依赖问题,我们需要把源更新一下.对于更新源,我们需要注意以下几点: 1.设置软件更新 注意:这里要选主服务器 2.更新源 在终端输入命令:sudo apt-get update来更新源,一般情况下,这样是可以的,但是,

CSDN开源夏令营 百度数据可视化实践 ECharts(4)

ECharts知识点总结: 在应用过程中总会遇到一些难以理解的概念和属性,这里就总结了一下比较难的知识点,方便理解概念,进而更好的掌握ECharts. (1)1.  一个完整的option包含什么?可以归纳为几类? 下图中颜色已经区分出了三类分别是:公共选项 , 组件选项 , 数据选项 名称 描述 {color}backgroundColor 全图默认背景,(详见backgroundColor),默认为无,透明 {Array} color 数值系列的颜色列表,(详见color),可配数组,eg: