全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
如何在20小时内开发一款应用文/GovindChandrasekhar传统的应用程序开发流程包括集思广益、形成想法、验证、功能选择、设计迭代,以及最后的开发工作,这一连串的事件通常需要至少一个月的时间才能完成。这一次,我们决定在一天之内便完成从想法到应用开发的过程。当然,我们在20小时内所创建的应用程序虽然功能丰富,但其设计、安全性和可靠性还远远不及发行版的质量。本文除了记录我们的经验以外,还希望能够为那些长期以来一直有想法却迟迟未开展应用程序开发工作的朋友提供动力。犯罪预警应用的开发时间表第02小时我在一个周日的下午一点与Sivamani会面。在见面之前,我们已经大概讨论过要开发一个iOS应用程序,帮助人们避免成为犯罪的受害者。我们一直以来都是攻击和破坏行为的受害者,所以希望建立一个预警系统,能够在人们无意进入犯罪高发区时通知他们。我们决定由该应用监控用户的位置,显示其对位置危险等级的评估,并列出该地区最常见的罪行。这样,用户能够避免汽车受损和人身攻击的危险。通过所提供的犯罪报告热点图以及定位系统,用户还能够根据自身的判断来调整地图上的热点。在前两个小时结束时,我们已经列出了想要的所有功能,并确保我们意见一致。第25小时我们中的两个人开始在线下收集原始数据,大约花费一个小时确定了几个数据源。这些数据源包括纵火、抢劫、攻击、蓄意破坏和性犯罪报告。使用Semantics3的Web收集程序,我们能够在半个小时内掌握数据,随后再用半个小时整理数据并将数据移植到SQL上。我们决定先专注于加州地区,因为这一天的目标是启动产品并使之正常运行,而不深入其他工作内容。同时,Sivamani开始启动iOS应用程序的基础架构工作,我也开始着手API方面的工作。第59小时API会接收来自应用程序的经度和纬度坐标,并返回该地点“危险等级”评估、该评估中的“置信度”以及进行评估所使用的原始数据的节流清单。我需要花费数个小时用Restify和Sequelize搭建一个MySQLORM基本服务器,确保代码保留异步调用需要再花费两个小时。同时,Vinoth已经使用JavaScript实现了一个算法,该算法考虑了每个罪行的地点和性质以及与该数据相关的源数据,其中包括罪行发生的日期和时间。Sivamani已完成了应用程序大部分功能的架构,包括定期轮询GPS和设计要显示罪行统计和详情内容的页面。该应用程序能够与我们为测试所建立的模拟静态API进行通信。第914小时我们本可以通过SQL查询的内嵌移动Haversian距离功能实现地理搜索,但显然,这不是长久之计。因此,我们改用Sphinxsearch,在唯一可用的Node-Sphinx连接器Limestone上努力了数小时后,终于使Sphinx地理搜索运行起来(支持地理搜索的Limestone代码很快将启动,目前的版本无法提供足够的支持)。同时,Vinoth致力于将来自多个源的数据合并在一起,尤其是合并性犯罪和与一般犯罪的数据。然后,他将聚集算法合并到Node服务器,调整JSON响应以满足应用程序的要求,最后得到并调用API。此时,Sivamani已经完成了应用程序的地图和显示详细内容的视图,并使之与API协同工作。第1420小时同时,Sivamani想到了一个有趣的功能。因为儿童很容易不慎进入危险区域,并且不可能想到用预警应用程序获取信息,因此他添加了一个“儿童模式”。从本质上来说,该应用程序将在孩子处于危险时自动向孩子的两个紧急联络人发送短信。Sivamani通过集成HoiioAPI来实现这个功能,不久后,他调整了该应用程序的图形和色彩,并添加了精巧的修饰。当Vinoth优化了API和测试算法时,我决定开始编写Android应用程序。我以前已经编写了多个应用程序,这些应用程序都需要多个地理位置和映射;因此,使用我以前编写的一些代码,便能够搭建基本框架。此后,我着手于快速复制Sivamani在iOS上所进行的工作。在第20个小时的最后,完成了Android应用程序,虽然里面没有Sivamani所集成的一些很酷的功能。显示用户所在位置的危险等级要点心动不如行动!应用程序的开发在一开始就是件非常繁重的任务。开展工作的一个好方法就是开始编写代码。建立起整个基本框架是当务之急。在开始这一天的工作之前,我们对Node.jsAPI、Sphinx搜索、iOS地理位置、SMSAPI等不甚了解,但现在我们已经比较熟悉这些概念,足以设置该功能的知情期限以及进行熟练的功能选择。在开始编写代码之前需要考虑好你的基本设计方案。繁杂的设计将很难修改,并且通常会造成代码冗余。在创建应用程序时记下该功能的“待办事项”清单。这包括不属于最小工作原型类别的其他功能或安全/设计/可扩展性/跨设备考虑事项。例如,我已经写下在下一个迭代过程中为Android应用程序构建九格地图。如果你的应用程序依靠预生成的数据,则专注于子集而不是试图立刻准备好所有数据。首先要整合最棘手的数据集,其次再整合次要的。这种开发模式可能不适用于所有类型应用程序的开发,特别是那
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025大数据服务行业市场分析及企业应用与私募股权投资研究报告
- 2025固态电池材料体系创新与量产工艺难点突破研究报告
- 2025商业航天发射服务市场需求与运力供给匹配度报告
- 美工作品售卖合同范本
- 美食带货主播合同范本
- 输送设备供货合同范本
- 2025年新能源汽车充电设施智能化升级与智能电网融合创新报告
- 酒店员工入股合同范本
- 2025年新能源企业数字化企业文化建设与员工激励报告
- 2024~2025学年黑龙江省大庆市肇源县西部四校九年级下学期期中联考物理试卷
- 2025年度哈尔滨“丁香人才周”(春季)民兵教练员补充招聘20人笔试考试备考题库及答案解析
- 足疗服务篇培训
- (人教版205新教材)英语三年级上册核心基础知识清单年
- 代谢综合征麻醉管理要点
- 2025年教师资格考试《学科教学论》备考题库及答案解析
- 2025浙江金华市交通投资集团有限公司招聘笔试笔试历年参考题库附带答案详解
- 网吧消防演练方案及流程
- 2025年秋青岛版(五四学制)(2024)小学数学二年级上册《智慧广场-简单的周期问题(一)》教案
- 观赏鱼买卖合同(标准版)
- 2025年中国铁路成都局集团有限公司招聘高校毕业生笔试题库真题及答案
- 2023年06月上海市浦东新区临港新片区文员招考聘用笔试题库含答案解析
评论
0/150
提交评论