创业公司走向移动化的 5 个误区-阿里云开发者社区

开发者社区> 美人迟暮> 正文

创业公司走向移动化的 5 个误区

简介:
+关注继续查看

本文来自First Round Review,他们准备的文章既讲故事,还同时向创业者提供可操作的建议,以助力打造优秀的公司。

2009 年,Farhan Thawar 加入 App 开发公司 Xtreme Labs 任 VP of Engineering 一职。那时候的 Xtreme 囊中已经有很多大客户,其中就包括了最大的社交网络和最热门的体育组织。而这些大客户的共同点就是,他们都亟不可待地要在移动互联抢占先机。

无需赘言,移动终端一次次用数据证明了自己才是大势所趋。Facebook 公布其在美国日访问量的 78% 来自手机端,Twitter 是 75%。并且 Twitter 65% 的广告收入来自手机广告。

对于创业公司来说,他们有限的时间和金钱资源使其不得不在移动化的道路上步步为营。今天的 Farhan Thawar 在 Xtreme 被加拿大公司 Pivotal Labs 收购后任 Pivotal Labs 的 VP-Engineering 一职,他谈论了创业公司在通往移动化道路上的 5 个误区。

误区1:在每个平台上建原生App(“Native App”)纯粹是种浪费

现实:如果你想要一个5颗星的App,不用挣扎了,5颗星是属于原生App的。

跨平台 App(Cross-Platform App)的好处无需赘述,这是个一劳永逸的工程,一次代码能在所有设备上使用。听起来简单,没错,Facebook,LinkedIn,甚至美国西南航空 刚开始也都是这么想的。 但图方便的代价就是,很快 Mark Zuckerberg 就跑出来宣称对于 HTML5 (可使网页 App 实现接近原生 App 的体验效果)是个巨大的错误。Thawar 至今仍记忆犹新的是,在西南航空还在用跨平台 App 的时候,他参加的所有会议都把这个 App 作为 App Store 里最糟糕的案例拿出来讲。

“公司们取捷径的时候,丝毫没有意识到,他们把最糟的用户体验留给了所有人“

三家公司后来都重新开发它们的 App。然而跨平台 App 仍对在时间金钱上都捉襟见肘的创业公司最具吸引力。他们过度依赖 HTML5,混合 App (“Hybrid App”)和跨平台工具包, 尽管它们都无法生成绝佳的用户体验,至少现在还达不到。每个看上去很美的解决方案都有它的弊端:

HTML5:跨浏览器兼容问题难以解决,导致最后需要对每个平台进行优化。

混合 App:其实就是原生 app 外壳封装的 web app,这种 app 会像网页一样整体刷新重绘界面,给人慢的印象。此外,应用本身和 web 界面间的沟通层通常较为复杂,也更容易出错。原生 app 无界面延迟,只重载数据。

跨平台工具包:要求每个平台有大量自定义代码,这样给每个平台写原代码更容易。

与其求广不如求精,把最热门平台的 App 写深写透才最重要。这又引发了另一个议论,究竟哪个平台能带来最大收益?当大多数公司都把操作系统 iOS 或 Android 放在首位时,调查结果令他们大跌眼镜。其实黑莓和 Windows Phone 的使用者才是一些公司的目标客户, 这一切都取决于你想要这个 App 扮演什么角色。为找到最佳平台就意味着要挖掘客户群的人口统计资料,从而发现用户们不同的使用习惯。例如 Android 用户和 iOS 用户就有十分不容的使用习惯。Thawar 认为要在完全攻克一个操作平台之后再拓展到其他平台,从时间和质量上来看,这都是做出一个好 App 的唯一途径。

误区2:我们已经有完善的后台支持App了

现实:你需要改变,升级或者完全重建后台以创造出最佳移动体验。

API 设计和实现对构建出运行优良的 App 至关重要。很多公司都体验到远高于网站的来自移动终端的访问量。试想,以银行为例,多数人或许一周都不会登录网银一次却可以每天浏览 50 次手机银行。你的后台设施可以从容应对这样大的流量吗?Thawar 记得曾有一个拥有优良网站后台的客户,在移动 App 上线后,才意识到服务器在处理每个请求时就需要往回输送 1.4MB 的数据,在这种量级的数据交换下优良的用户体验几乎不可能。

Thawar 给公司们应对类似问题的建议是:

将有效载荷最大化:最好的移动用户体验和最小的数据传输并。对于移动终端来说,好的 API 允许从服务器回传的最大的有效载荷应低于 4KB。

分页处理:任何类型的返回列表都应当支持游标类型和分页的结果(例如,我能够从第四页开始的 25 个结果)。

重试:

             允许客户端向服务器多次发送相同的 API 请求以确保收到,而‘重试‘同样的 API 请求并不意味着向同一个服务器发送两个请求。

低延迟:每一个 API 请求的延迟越小,App 的反应越敏捷。

             每一个屏幕生成单个 API 请求:最完美的情形是移动终端的每个屏幕都只向后台发送不超过一个的 API 请求。允许在服务器终端多程序运行并回传数据以达到松散耦合。

误区3: 自己开发和外包给移动开发公司一样快。

现实:自己开发至少要多花4倍时间。

Tharwar 有着和各种公司合作的经验,甚至是最后不选择和他们合作的公司,他也都一一分类存档以积累经验。很多公司会来到 Thawar 的团队这里询问多久能做好一个怎样的 App。当从 Thawar 的团队里得知这个 App 需要 1 到 3 个月的时间后, 一些公司选择自己开发了。但等他们的 App 在 App Store 上线那至少是 1 年后的事了,4 倍的推迟属于正常范围。

很多团队都有自己的 HTML,CSS 或 JavaScript 的资源,但极少创业公司能有一个成熟的移动开发团队。选择自己开发 App 实则是在金钱和时间的权衡中选择了后者。但为什么开发 APP 要花创业公司这么久的时间呢 — Tharwar 认为创业公司忽略了最关键的需求 : 对口的人才。

多数公司都没有把增强工程师们在某一特定方面技能的时间算进去。当决定自己开发时,你需要的不仅仅是出色的工程师,而是有移动产品开发经验,QA 和 UI 设计方面的专才。 并且这样的一支团队还要能达到高效密切的沟通。如果做不到,可能的结果是:错误的产品愿景,或是不完善的 QA 等等。

如果你决定找外包的 App 开发公司,那如何选择又是一个问题。你需要关注的对方的企业文化是否契合,相互间是否能建立起高效的沟通反馈,对方公司是否有相关经验。Thawar 认为双方能够高效沟通是最关键的。以 Chipotle 为例,这个大型连锁快餐店自 2009 年的第一版 App 上线后,直到 2013 年才推出第二版 – 四年的延迟归咎于沟通低效。不要忘记,使用者期待见到是一个性能和设计上的不断完善的 App。

Tharwar 给出的建议是,在挑选合作公司是关注以下问题:

从过往的项目和客户那里,他们在技术和经验上分别学到了什么?

能否和客户本身的研发团队共同开发?

他们熟悉“敏捷开发“(Agile Software

Development)吗,能否做到例如紧密协作,密切沟通,频繁交付新版本等等。

他们曾犯过最大的错误是什么?

Tharwar 认为最后一点是最重要的, 这是个关于诚实度和透明性的测试。也会让你对相互间的合作方式有一个初步的试水。

误区4:我如果把App的开发外包了,那我什么也不用做了。

现实:创业公司作为客户,也要密切参与到开发过程中。

最完美的情况是让双方每天坐在一起工作,App 开发公司才能够切实理解你究竟想要什么。对于 Tharwar 的 App 开发团队而言,他们的目标是尽早以及不断交付有价值的软件。对于客户方而言,通过和软件开发公司的合作也是一个积累经验和为未来自己开发 App 准备的过程。一个优秀的移动开发团队甚至可以让你看清楚以后要雇佣什么样的员工,且在无形中提高你未来移动团队的质量。

误区5:一旦我把项目给这个开发团队,我就得永远依赖他们。

现实:你随时可以离开,也可以自己接管。

令人讽刺的一个现象是,最好的移动开发公司最后都销声匿迹, 因为他们教会了客户如何去建立自己的移动开发部门。“结对编程”(Pair Programming)让双方尤其是客户方的优秀的工程师们不断进步,当创业公司羽翼渐丰时,建立自己的移动开发部就不是难事了。

作为一个创业公司,你需要一个理解你公司,产品并且把你的成功和他们自己的成功结合在一起的伙伴。这样的伙伴不仅能够祝你在移动业务上势如破竹,更能给整个公司的业务带来新的机遇。

[本文编译自:firstround.com/36kr]

文章转载自 开源中国社区 [http://www.oschina.net]

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
怎么设置阿里云服务器安全组?阿里云安全组规则详细解说
阿里云服务器安全组设置规则分享,阿里云服务器安全组如何放行端口设置教程
6935 0
阿里云服务器ECS远程登录用户名密码查询方法
阿里云服务器ECS远程连接登录输入用户名和密码,阿里云没有默认密码,如果购买时没设置需要先重置实例密码,Windows用户名是administrator,Linux账号是root,阿小云来详细说下阿里云服务器远程登录连接用户名和密码查询方法
2875 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
4503 0
使用OpenApi弹性释放和设置云服务器ECS释放
云服务器ECS的一个重要特性就是按需创建资源。您可以在业务高峰期按需弹性的自定义规则进行资源创建,在完成业务计算的时候释放资源。本篇将提供几个Tips帮助您更加容易和自动化的完成云服务器的释放和弹性设置。
7768 0
windows server 2008阿里云ECS服务器安全设置
最近我们Sinesafe安全公司在为客户使用阿里云ecs服务器做安全的过程中,发现服务器基础安全性都没有做。为了为站长们提供更加有效的安全基础解决方案,我们Sinesafe将对阿里云服务器win2008 系统进行基础安全部署实战过程! 比较重要的几部分 1.
5466 0
阿里云服务器安全组设置内网互通的方法
虽然0.0.0.0/0使用非常方便,但是发现很多同学使用它来做内网互通,这是有安全风险的,实例有可能会在经典网络被内网IP访问到。下面介绍一下四种安全的内网互联设置方法。 购买前请先:领取阿里云幸运券,有很多优惠,可到下文中领取。
9435 0
腾讯云服务器 设置ngxin + fastdfs +tomcat 开机自启动
在tomcat中新建一个可以启动的 .sh 脚本文件 /usr/local/tomcat7/bin/ export JAVA_HOME=/usr/local/java/jdk7 export PATH=$JAVA_HOME/bin/:$PATH export CLASSPATH=.
2147 0
+关注
美人迟暮
Nothing for nothing.
1020
文章
212
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载