前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >浅谈就业季:程序猿的华丽转身

浅谈就业季:程序猿的华丽转身

作者头像
大葡萄
发布2018-09-05 16:07:20
5170
发布2018-09-05 16:07:20
举报
文章被收录于专栏:大葡萄元元大葡萄元元

莘莘学子刚度过人生“第一道门槛”,而将要毕业的大学生,自己就业问题也是茫然失措。西安作为多朝的帝都,浓厚的文化氛围培育出众多优秀人才,即将踏入社会的学子们对于西安本地的创业校友有认识了解多少......西安交通大学毕业也是蒲公英联合创始人雷升涛专门跟我们分享了蒲公英在应用的内测分发领域做的一些有趣的事情。

2014年初,我们团队的四个创始人在为别人开发了数十款 APP 后,决定要给自己做一款 APP。当时在石瑞家客厅,四个人开始创业。

起初我们做了一款小区社交 O2O 应用,对于创业团队来说,我们需要尽可能低的让用户试用我们的产品,并快速的给我们提出产品改进意见。但我们发现对一款 iOS 应用来说,如果每次迭代都需要一个漫长的审核周期,等待产品上架 AppStore 之后,才能让种子用户进行内测的话,时间成本就太高了。

如果不等待上架,那么我们就需要将用户的 UDID 添加到 Provison file 里,生成安装包,然后将安装包发给客户再帮助客户安装上应用。我相信对大多数内测用户来说,都不知道什么是 UDID,哪里去找它,也更不知道如何不通过 Appstore 安装 APP 了。我不知道有多少人因为教用户安装内测版本发狂过,所以这个人力成本也是很高的。

为了提高效率,我们需要有一个解决方案,让用户能够简单、方便、快捷、不依赖指导的安装上我们的 APP。而当时市面上没有现成的完全满足我们需求的产品,有的太慢,有的使用太为繁琐,于是我们就自己花了一个周左右开发了基于 itms-services 的蒲公英的第一个原型产品。

当时的情况是,蒲公英为团队 APP 内测提高了不少的效率。许多开发者对 iOS 测试应用的托管也有很大的需求,于是本着”独乐乐不如众乐乐”的心态,就公开出来了,没想到公开出来后数据量飞速上涨,于是我们开始逐渐把重心放在了蒲公英的开发上。

功能不断完善,但核心一直从未改变

经过我们过去这段时间在移动应用的内测分发领域的研究,我们认为在移动应用内测阶段有这样5个以高效分发为中心的核心需求。那么蒲公英是如何通过技术手段来满足这些需求的呢?

简单总结下,有以下五

-高效分发

针对高效分发,我们的解决方案是开发者上传安装包至蒲公英,蒲公英生成安装二维码,内测用户扫描即可安装 APP。

我们早期的服务是通过自己在机房部署的服务器来实现的,后来当用户量飙升之后,自己部署的服务器从计算能力和带宽上已经不能满足我们的要求了,于是我们把下载上传迁移到云存储上,这样一来上传下载的速度是有了保证,但是这样实在是太烧钱了,基本上是每个月烧掉一辆车的钱。现在我们采用了,云存储和自建存储配合,自建服务器和云服务器配合的方式,在保证了高速的上传下载之的同时也把费用降低了下来。

为了保证上传和下载速度,我们采用了 Redis 缓存,CDN 加速,Mac 集群,RPC 调用。

同时为了增加 ipa 和 apk 的解析速度,我们在解析算法和解析方式上也做出了很多努力,所以才有了现在让用户尖叫的体验。

-极速上传

蒲公英团队一直在解决问题,到完美解决问题的道路上不断探索。就上传 APP 来说,我们有3种上传方式:

用户可以通过网页直接拖拽上传。

用户也可以通过 Windos、Mac 客户端上传。

值得一提的是,为了进一步方便开发者,当你在 Xcode 中完成一个新的打包时,Mac 客户端也会主动发现新的 archive 并弹出通知,用户可以在通知中心直接点击上传就可以上传应用。

除了通过网页和客户端之外,蒲公英还支持通过API上传应用。

基于 API 的支持,你可以使用 gradle 或者 jenkins 来进行自动化构建和分发,我们开发者中心里也都有详细的教程。

当然蒲公英 API 基本上包含蒲公英所有的功能,有不少开发者都在基础上进行二次开发以扩展其应用内测能力。

-用户反馈

内测过程中,反馈是极为重要的,如果得不到反馈,可以说前面做的整个过程为0。然而,如何做到及时、迅速的反馈沟通,我们也提供了便捷的服务。

当开发者在集成蒲公英 SDK 后,反馈过程就可以直接在手机上操作了。用户通过摇一摇,或者其他手势激活问题反馈界面。内测用户可输入文字,留下邮箱,也可以使用语音输入。这些信息会和当前应用的截屏一起上传到蒲公英平台。开发者登录平台就能轻松获取反馈,根据这些信息改进产品,并和内测用户联系。降低了开发者获取用户反馈的成本。

我们有自己的 iOS 客户端,我每天都会花上一点时间来听用户对我们的反馈,虽然很多都听不懂啊,因为我们大约一半的用户都来自海外,很多语言是听不懂的,比如说伊拉克在我们的用户数量排名里面排第十,我也搞不懂为什么伊拉克战火纷飞的却会有那么多移动应用的开发者。

图中大家看到的麦克风,以及旁边的音量指示标志,都是通过贝赛尔曲线曲线绘制的,我们这样做的目的是为了尽可能的减小 SDK 的大小,进而减小开发者的安装包的大小。

-Crash追踪

APP 闪退应该是每一个开发者最不愿意看到的事情,据监测数据显示,每日因性能问题导致的活跃用户流失率达到了5%,62%的用户遇到过应用崩溃,应用崩溃的卸载率或达到90%。通常在用户场景下发生的闪退都是难以复现,难以查找原因的。

针对这一点,蒲公英 SDK 会在闪退的时候,记录并上传程序堆栈信息,并支持通过上传符号表来符号化堆栈信息。这样,开发者就不会漏过任何一次闪退,然后通过堆栈信息来迅速定位并解决问题。

-版本更新

对开发者来说,在内测阶段,产品需要持续的迭代更新。那么不断的通知用户安装新版本就成了一件很头疼的事情。

所以蒲公英 SDK 的另外一个重要功能就是支持版本更新,当开发者在蒲公英上提交了一个新版本后,内测用户就会收到邮件通知,网站通知,APP也会弹出提醒,这个时候,用户只需要点击“好的”,就能安装新版本。

蒲公英的功能、产品

下面两个图简要的概括了蒲公英的功能和产品:

完整的产品线,丰富的功能也是我们区别去同类产品的优势。历史版本数据,崩溃记录,用户的反馈记录,启动,安装等所有和内测相关的数据,蒲公英都会帮助开发者进行统计,用清晰明了的数据为开发者展现应用内测过程中的每一个细节。

运营数据

目前使用蒲公英的 APP 的总数为570,963,其中不乏一些大型企业:凤凰视频、唱吧、蘑菇街、嘀嘀打车、小米手环、易信等。而 Appstore 的 APP 总数约100万,可以说,蒲公英覆盖了大面积市场。

生命本不该浪费在一些无趣的事情上

有朋友曾经问我,编程有趣在哪里?我觉得编程最有趣的地方在于,它满足了我内心深处进行创造的渴望,有时候,当我通过想象来灵活的创建、重建、修饰我自己的城堡的时候,我甚至能感受到上帝在创造这个世界的时候的喜悦。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2015.06.15 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档