应用程序git

git 使用  时间:2021-02-24  阅读:()

版权所有IBM公司2009商标为NokiaN810开发感知GPS的应用程序,第3部分:完成最后的任务第1页,共6为NokiaN810开发感知GPS的应用程序,第3部分:完成最后的任务部署、bug报告和修复、迭代开发和最终发布PaulFerrillCTOATAC2009年4月08日这个系列的文章展示如何使用基于Linux的NokiaN810InternetTablet及其内置GPS接收器构建感知全球定位系统(GPS)的应用程序.
在这个分3部分的系列文章的最后一篇,您将完成开发GPS行程跟踪器(triptracker)的最后一步,并准备发布它.
查看本系列更多内容这个分3部分的系列的第1部分和第2部分介绍了用于为NokiaN810InternetTablet构建感知全球定位系统(GPS)的应用程序的工具和技巧.
编写该程序的想法源自跨国家庭旅行和一个经常被问到的问题:"我们到了没"如果有一个内置了GPS的可编程设备,就很容易得到答案.
只需装载一些路标,就可以放心地出发.
当应用程序的第一次迭代完成时,显然需要做出一些改进,使程序可用性更好.
实际上这与其他软件产品没什么不同.
关键是为收集用户反馈提供方便,然后对程序作必要的更改,融入新的特性.

要想让用户满意,修复所有bug也是非常重要的事情.
在开始发布新的应用程序之前,有很多问题需要解决.
可以选择在任意数量的软件发布站点上托管项目,不过对于像本文中这样的项目,Maemo站点是最好的选择,因为它惟一的目标平台就是NokiaInternetTablet系列.
如果想收集用户反馈,那么需要提供一个Web站点,或者至少提供一个e-mail地址.
部署Maemo平台使用Debian包发布软件.
在确定如何打包要发布的应用程序方面,Nokia为tablet开发人员提供了很好的帮助.
Maemo.
org站点提供了一套完整的教程来指导您完成该过程,同时最新发行版(Diablo)还附带了共545页的参考手册.
实际上,为了让应用程序正确运行,需要创建一个.
deb文件并包括所有必要的内容.
developerWorksibm.
com/developerWorks/cn/为NokiaN810开发感知GPS的应用程序,第3部分:完成最后的任务第2页,共6由于这个应用程序使用Python,为了确保程序能够运行,还必须做一些事情.
大多数现代Linux发行版在默认安装中都包括Python,所以通常可以认为已经有了Python解释器.
运行基于Python的应用程序需要在主要源文件的开头包括像下面这样的一行代码,从而启动Python解释器:#!
/usr/bin/python2.
5对于运行最新版本的OS2008的N810,应该在默认位置/usr/bin安装Pythonversion2.
5.
2.
第一行中的#!
指示命令行解释器尝试执行/usr/bin目录中的文件python2.
5.
然后,它将文件剩下的部分作为Python解释器的输入.
主脚本或源文件必须将其文件属性设置为允许执行.
可以用CHMOD命令手动设置,或者使用安装工具自动完成.
Python提供了多种方法用于安装应用程序,包括将源文件编译成一种更紧凑的格式.

对于本项目,我决定采用标准的Python安装工具,不编译代码.
PythonDistributionUtilities(Distutils)提供了基本工具用于将文件复制到适当的位置,并最终安装软件(请查看参考资料中一篇优秀Distutils教程的链接).
这里只需创建如清单1所示的一个名为setup.
py的文件.
清单1.
用于安装程序的Pythonsetup例程(setup.
py)fromdistutils.
coreimportsetupsetup(name='pyRWeThereYet',version='1.
0.
0',scripts=['pyRWeThereYet'],data_files=[('share/pixmaps',['RWeThr_icon_26x26.
png']),('share/applications/hildon',['pyRWeThr.
desktop']),])PyMaemo教程(请参阅参考资料)很好地描述了这个过程,并提供了一个样例"hello"应用程序.
在N810上安装应用程序的另一种方法是使用.
install文件来完成"一键式安装".
该文件是一个简单的文本文件,其中包含关于可将应用程序下载到其中的储存库的信息.
最后,需要在设备上测试部署,不过可以使用Scratchbox或ESbox(用于Eclipse的插件,参见参考资料)发现bug.
可以在不使用设备的情况下逐步完成整个测试,直到一切都符合预期.
对于整个开发过程也是如此,但是,对于像GPS这样需要依赖硬件的,还是需要使用设备.
bug报告和修复大多数开源项目都使用某种bug报告和跟踪工具来帮助管理用户提出的意见.
比较著名的有Sourceforge,将开源项目放到Sourceforge上是不错的选择.
Google也有类似的东西(请参阅参考资料).
Maemo.
org为与Maemo开发平台相关的项目在Garage站点(请参阅参考资料)上提供了基本相同的功能.
wiki也是一种很好的方式,它可以方便收集用户反馈和提供程序文档和信息.
Trac是一个基于Web的软件项目管理工具,其中包括一个用于管理项目文档和笔记的wiki(请参阅参考资料).
对于开发人员来说,跟踪bug和改进请求以及做出的相应更改十分重要.
可以在具有团队Read-Write访问权的Wiki上完成这些事情.
ibm.
com/developerWorks/cn/developerWorks为NokiaN810开发感知GPS的应用程序,第3部分:完成最后的任务第3页,共6源代码控制是跟踪软件修改的一个关键.
对于本文这样的小项目而言,执行源代码控制有点小题大作,但是对于具有较多模块的项目而言,这样做可以节省时间.
如果源代码很好地实行了模块化,那么需要有一种方式来跟踪应用程序在每次发布时包含了哪些模块(和版本).

ConcurrentVersioningSystem(CVS)是最早的版本控制包之一.
CVS是开放源代码的,几乎可用于任何平台.
Subversion(SVN)则是另一款可用于所有平台的开源工具.
GIT是用于版本控制的最新工具之一,它最初是由LinusTorvalds创建的.
对于有快速合并和分支之类需求的分布式团队来说,它有很多特别有用的特性(请参阅参考资料,获取这些工具的链接).
Eclipse集成开发环境(IDE)为CVS和Subversion提供了挂钩(hook).
如果您想详细研究这个过程,IBMdeveloperWorks上有一篇很好的文章讨论如何结合Eclipse使用CVS.
对于Subversion支持,则有Subclipse—一个Eclipse插件,其中包括一个图形化修改工具(请参阅参考资料).
用于Eclipse的GIT插件也正在开发中,您可以在GitWiki站点上了解它.
迭代开发以迭代方式开发应用程序就是根据用户反馈做出增量改进.
第1步是产生一个初始发行版供用户测试.
对于我来说,用户就是我的家人,反馈形式就是直接交流.
应用程序的第1版可以运行,但是没有提供一种方式让用户输入路标.
您可以获得与前一个地点的距离,但是仅此而已.
无论如何,它实际上只是一个概念证明,因此0.
1版的预期是非常低的.
这为很多软件开发项目提供了一个很好的观点.
当有了程序的一个版本时,收到像"这个程序确实简洁,但是可以让它这样做吗"这样的反馈并不鲜见.
需求诱导(requirementselicitation)这个过程让软件设计师或工程师可以尝试发现特定应用程序的所有功能和特性.
但是这种方法的问题在于,用户常常并不真正知道他们想要什么,经常改变想法,或者想到其他的东西.

对于这个项目,新的需求实现起来并不难.
0.
2版增加了按经度和纬度输入感兴趣的位置的功能.
可以添加感兴趣的地点的确不错,但是如果输错了地点,或者需要编辑或删除已有的条目,又该如何呢这些新的需求又导致了0.
3版.
对输入字段进行某种检查,这是一个不错的主意.
对于北美而言,经度和纬度数字有一个合理的上下限.
增加这些检查后,又引出一个用户bug报告,称发现一个潜在的有误的距离计算.
最后发现起因是用户在输入经度时有误(少了减号[-].
理解实现新需求的成本对于在合理的时间内产生新的版本非常关键.
有些特性请求偏离了原始的应用程序,常常超出了时间和资源可以承受的范围.
还有一些特性请求则超出了硬件可以提供的容量.
对于本项目,除非将设备连接到手机,否则不可能提供持续的实时位置更新—虽说这并非完全没可能,但是要支持这一个特性请求,需要增加大量的代码.
最终发布对于任何软件项目,一个最大的挑战是知道何时宣告胜利.
Google实行的做法是在很长时间内使项目处于"beta"阶段.
对于本项目,当修复了当前所有的bug,并且实现了所有用户改进时,就可以归档最终的发行版.
为了使应用程序尽可能地接近商业质量,还需要做一些收尾工作.
在N810应用程序启动器中创建一个入口点,将使用户可以更容易地启动程序.
Maemo使用.
desktop文件确定启动应用程序所需的细节.
对于这个GPS应用程序,它看上去如清单2所示.
developerWorksibm.
com/developerWorks/cn/为NokiaN810开发感知GPS的应用程序,第3部分:完成最后的任务第4页,共6清单2.
desktop文件的内容[DesktopEntry]Version=1.
0.
0Encoding=UTF-8Name=GPSAreWeThereYetExec=/usr/bin/pyRWeThereYetIcon=hello_icon_26x26Type=Application在freedesktop.
orgwiki站点可以发现更多关于.
desktop文件的信息.
另一个很好的收尾工作是提供一个图标.
对于Maemo环境,需要创建一个26X26像素的图像,并将它保存为PortableNetworkGraphics(PNG)格式.
可以使用GNUImageManipulationProgram(GIMP)之类的程序创建自己的图像,也可以用Google找到一个接近的图像,再相应地作一些修改.
结束语这个分三部分的系列文章探讨了为NokiaN810开发应用程序的过程,探讨时更强调中间的步骤,而不看重最后的结果.
为小型设备开发应用程序要面临独特的挑战,但是与任何其他平台相比并无太大差别.
做好任何软件开发项目的诀窍无非是在每个阶段做出明智的决定.

3C云1核1G 9.9元 4核4G 16元 美国Cera 2核4G 24元

3C云互联怎么样?3C云互联专注免备案香港美国日本韩国台湾云主机vps服务器,美国高防CN2GIA,香港CN2GIA,顶级线路优化,高端品质售后无忧!致力于对互联网云计算科技深入研发与运营的极客共同搭建而成,将云计算与网络核心技术转化为最稳定,安全,高速以及极具性价比的云服务器等产品提供给用户!专注为个人开发者用户,中小型,大型企业用户提供一站式核心网络云端服务部署,促使用户云端部署化简为零,轻松...

瓜云互联:全场9折优惠,香港CN2、洛杉矶GIA高防vps套餐,充值最高返300元

瓜云互联怎么样?瓜云互联之前商家使用的面板为WHMCS,目前商家已经正式更换到了魔方云的面板,瓜云互联商家主要提供中国香港和美国洛杉矶机房的套餐,香港采用CN2线路直连大陆,洛杉矶为高防vps套餐,三网回程CN2 GIA,提供超高的DDOS防御,瓜云互联商家承诺打死退款,目前商家提供了一个全场9折和充值的促销,有需要的朋友可以看看。点击进入:瓜云互联官方网站瓜云互联促销优惠:9折优惠码:联系在线客...

hostodo:美国大流量VPS,低至$3,8T流量/月-1.5G内存/1核/25gNVMe/拉斯维加斯+迈阿密

hostodo从2014年年底运作至今一直都是走低价促销侧率运作VPS,在市场上一直都是那种不温不火的品牌知名度,好在坚持了7年都还运作得好好的,站长觉得hostodo还是值得大家在买VPS的时候作为一个候选考虑项的。当前,hostodo有拉斯维加斯和迈阿密两个数据中心的VPS在促销,专门列出了2款VPS给8T流量/月,基于KVM虚拟+NVMe整列,年付送DirectAdmin授权(发ticket...

git 使用为你推荐
安装程序配置服务器失败win10安装程序配置服务器失败怎么办深圳公交车路线深圳公交线路蘑菇街美丽说蘑菇街美丽说唯品会天猫京东。女生买衣服,哪个好腾讯文章腾讯罗剑楠是何许人也?奇虎论坛奇虎论坛最新推荐歌曲列表·iphone6上市时间iphone6什么时候上市,价格是多少?三星s8什么时候上市三星盖乐世S8上市时间公布 三星盖乐世s8多少钱服务器连接异常服务器连接异常,即将退出,请重新进入游戏.怎么回事网站推广外链在网站推广中,有着一种“购买外链”是什么意思请客网家庭请客怎样安排菜谱
新通用顶级域名 132邮箱 a2hosting vpsio 12306抢票攻略 evssl 网站实时监控 百兆独享 中国电信宽带测速网 台湾google dnspod 湖南idc 免费网络 免备案jsp空间 密钥索引 腾讯服务器 windowsserver2008 美国服务器 nic 时间同步服务器 更多