两年沉淀,我的开源项目已上线!

Posted 郭霖

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了两年沉淀,我的开源项目已上线!相关的知识,希望对你有一定的参考价值。

今天跟大家谈谈情怀。

我从11年开始参加工作,一开始进入的是一家华为的外包公司,主要做华为的外包项目。而华为的项目也是别人外包过来的,而且主要来自于海外市场,我进入的项目组就是做这些海外市场的App的,包括阿联酋、俄罗斯等国家的电信项目。当时刚参加工作不久,而且项目都早已成形,我只是负责其中一些模块的维护而已,对整体项目的把控和理解都不够深入。当时的我根本无法预知,这竟然是我最后一次接触App项目的开发。

13年我进入了蜗牛游戏工作,转眼之间在这里已经工作快6年了。蜗牛的主要产品都是游戏,App方向的研发很少。而我在里面的主要工作就是开发给游戏使用的SDK,以及解决游戏在android平台上遇到的各种疑难问题,还有就是负责研究与Google相关的各种新技术。

说实话我倒是挺喜欢我的工作内容的,工作强度不大,也不怎么需要加班,而且有充足的时间可以研究各种新技术,有时候我会把自己调研的技术内容归纳总结成博客,从而形成了一种良性循环,这或许也是我在蜗牛一待就6年之久的原因。

但是我心中的那个情怀是一直存在的,我很喜欢开发App,也想参与开发一款大众熟知的App,只是我所负责的工作内容无法给我提供这个机会。于是我当时就暗下决心,既然在公司里没有机会,那么我就干脆自己开发一款App吧。这个念头是在16年写《第二行代码》的时候产生的,并且我将它定为了继《第二行代码》之后下一个我要挑战的目标。

确实我也是这么做的,自17年2月份起,我就开始着手这个App的开发了。由于是个人App,我并不指望会有多大的用户规模,只要有它存在的价值就足够了。因此我在一开始的时候就决定要将这个App开源,不管最后有没有用户,至少对于想学习Android开发的朋友们来说,它一定是有价值的。

不管怎么说,这个项目终究还是完成了,也是实现了去年我在年终总结时给大家的承诺。让大家等了这么久,前面又谈了这么多情怀,现在我们来谈谈这个项目到底是什么吧。

其实当初我只想着要做一个App,但至于到底做什么App,我自己也不清楚。现在已经不是移动行业的黄金年代了,你能想到的想不到的好idea早都被别人给做光了。我当时深思熟虑之后决定做一个好玩的App,尽量让用户在上面能找到点乐趣。

听起来好像是有点类似内涵段子这样的App(虽然现在内涵段子已经被封杀了),但是像内涵段子这种体量的App我是没有能力做出来的,因为除了技术因素之外还要牵扯大量的运营工作,需要有专门的运营人员来筛选和审核哪些内容是有趣的,哪些内容是无聊的,还要通过强大的推荐系统把有趣的内容推荐给用户。确实,想要通过代码来甄别一段文字或一张图片是否有趣的确太难了,但是我发现了一件事,就是通常GIF图都是比较有趣的,那么干脆我就做一个专门用于分享和浏览GIF图的App好了。这或许并不是什么完美绝佳的方向,但却是一个可施行的方向,于是App的主题就这么定下来了。

我给这个App起名为趣享GIF,Logo是一只长颈鹿,之所以选长颈鹿作为Logo,是因为长颈鹿的英文叫giraffe,不仅包含了GIF这三个字母,读音也和GIF类似。

两年沉淀,我的开源项目已上线!

整个App都是以Material Design的主题方式来设计的,为了UI效果更佳,里面使用到了大量的动画功能。

两年沉淀,我的开源项目已上线!

在登录方面我设计的比较特殊,趣享GIF是没有账号密码登录功能的,因为平时每次只要一让我输账号密码我就头疼。因此我在做这个App的时候直接把帐号密码给砍掉了,取而代之的是使用第三方登录的方式,QQ、微信、微博都可以。

两年沉淀,我的开源项目已上线!

可以看到,登录的时候也使用到了非常不错的transition动画效果。

当然,首次登录是需要注册账号的,注册的方式也很简单,昵称是从第三方账号那里获取的,如果你不想修改的话直接点击继续就可以了。注册完成后会直接跳转到主界面。

两年沉淀,我的开源项目已上线!

主界面有三个频道,分别是世界、关注、热门。世界频道是使用随机算法获取最新的GIF图列表返回给用户的,当然其实也不是完全随机,每个用户随着他发布GIF图质量的高低会有一个变化的权重值来评价他,权重值越高随机到的概率也越大。关注频道就很简单了,你关注了谁就可以在这里看到谁发布的内容。热门频道也很好理解,在这里会使用特定算法计算出最热门的GIF图列表返回给用户,影响是否热门的因素主要有浏览量、点赞数、以及评论数。

两年沉淀,我的开源项目已上线!

由于这是一个新注册的账号,目前还没有关注任何人,点击关注按钮就可以去关注一些系统推荐的用户了。这个推荐算法是根据用户的活跃度以及发布内容的质量来动态计算的,如果你足够活跃且经常发布一些优质GIF图的话,你的名字也会出现在这里。

两年沉淀,我的开源项目已上线!

接下来我们看一下如何发布GIF图,在主界面的右下角有一个FloatActionButton,也就是Material Design当中最经典的Fab按钮,点击Fab按钮即可开始编辑发布。

两年沉淀,我的开源项目已上线!

目前发布GIF的功能还比较简单,暂时只支持从相册选择GIF图和从SD卡选择GIF图这两种方式,默认是从相册中选择。当然,读取相册是一定要申请SD卡访问权限的,这里我在请求运行时权限时进行了非常棒的逻辑处理,保证不管用户是同意还是拒绝都会进行合理的界面提醒。大家在自己实现运行时权限处理的时候也可以参考我这种做法。

两年沉淀,我的开源项目已上线!

同意权限申请之后,界面中显示出来的图片都是你手机相册中现有的GIF图,默认我并没有让它们自动播放,因为所有GIF图一起播放会显得乱糟糟的。如果你想预览这些GIF图的播放效果,可以对着图片进行长按,然后就会播放了。

两年沉淀,我的开源项目已上线!

如果你想切换成从SD卡选择GIF图,可以通过点击右上角的Overflow按钮进行切换。这里我们在SD卡中选择一张GIF图,会自动返回到刚才的编辑界面。

两年沉淀,我的开源项目已上线!

只是选好了GIF图还不能发布,这里我们还得补充点文字说明才行,随便说点什么都可以,然后点击右上角的发布按钮即可完成发布。可以看到,在关注频道当中已经出现我刚刚发布的这张图片了。

两年沉淀,我的开源项目已上线!

当然,除了发布GIF图之外,我们更常见的可能还是浏览别人发布的GIF图。这就很简单了,随便点击一张图片就可以查看,这里打开GIF图时我也是使用了非常nice的transition动画。

两年沉淀,我的开源项目已上线!

在这里你可以对图片进行点赞、转发、以及评论。点赞动画效果也是相当炫酷的,这些都是用纯动画代码实现的,而不是使用的图片。

两年沉淀,我的开源项目已上线!

如果你觉得这张GIF图很有意思,想将它分享到QQ、微信、微博,或者是保存到手机,很简单,直接点击界面上的Fab按钮即可,这个时候会从底向上弹出一个透明对话框,然后我们就可以进行分享了。

两年沉淀,我的开源项目已上线!

你还可以通过点击发布人的头像进入到他的个人主页,这里会显示出他所发布过的所有GIF图。你也可以点击个人主页界面上的Fab按钮来关注或者取关这位用户。

两年沉淀,我的开源项目已上线!

刚才的个人主页界面非常漂亮,那么我们有没有自己的个人主页呢?当然有,回到主界面,然后在屏幕的左边缘向右滑动会拖出侧边栏界面,在这里点击个人主页选项就可以打开你自己的个人主页了。

两年沉淀,我的开源项目已上线!

默认情况下会自动使用第三方登录获取的头像来作为你个人主页的头像,然后对头像进行一个模糊处理来作为个人主页的封面背景,当然你可以随意进行定制,点击界面上的Fab按钮即可修改。

两年沉淀,我的开源项目已上线!

可修改的用户资料包括4部分,昵称、个人简介、头像、封面背景。比方说这里我们修改一下封面背景,修改的方式分为两种,拍照和从相册选择,我们选择相册。这里我借助Glide库对相册的读取和加载进行了非常高效的优化,整个相册列表的加载、显示、滑动都特别迅速和流畅。

两年沉淀,我的开源项目已上线!

选择了一张图片之后会跳转到裁剪界面,由于各手机操作系统自带的裁剪功能参差不齐,这里我使用了Android Image Cropper这个图片裁剪开源库,以保证在每一台手机上裁剪功能都能保持一致性。

两年沉淀,我的开源项目已上线!

最后点击保存就可以修改用户资料了,可以看到个人主页上的封面背景已经成功修改了。

另外由于这是一个GIF专属App,我还在GIF图的播放控制上面花了不少心思,比如说可以点击图片暂停播放,再次点击继续播放。

两年沉淀,我的开源项目已上线!

除此之外还有一些好玩的功能,比如可以对GIF图的播放速度进行控制,在设置里面能够设定播放的倍速,这里我们选择2倍速度播放。

两年沉淀,我的开源项目已上线!

而如果选择1/3速度播放,那么效果如下所示。

这个App其实在很多细节方面我都花费了大量心思,除此之外,还有诸如搜索、草稿箱等等其他功能,但是限于篇幅的原因就不向大家一一展示,感兴趣的朋友可以待会自己下载下来体验一下。

到目前为止,趣享GIF已经包含了发布、浏览、关注、点赞、评论、分享、转发等几大核心功能,你会发现一个最小型的社交系统已经完成了。这也是我对它的基本定义,一款简单有趣的社交软件。当然,其实我原先设想的功能远不止这些,但是为了第一个版本能尽快上线,我砍掉了许多有特色的需求,比方说通过摄像头拍摄生成GIF图、通过录制手机屏幕内容生成GIF图等。这些需求我当然不会放弃,在后面的版本迭代中一定会实现,但是我会随心而做,并不着急赶版本,所以大家也不用催我。

这里我非常欢迎大家下载体验这个我花费了很多精力而编写的App,也非常欢迎大家多多分享你们认为有趣搞笑的GIF图,但是有一条红线千万别触碰,那就是严禁发布任何黄色暴力以及其他违反国家法律的图片。为此我还专门开发了一套非常完备的后台管理系统,所有违规的用户都会被处罚或者封禁,所以大家千万别去尝试这条不正之路。

通过大家反馈的Bug,我会尽快对代码进行重新整理,然后发布一份比较稳定的开源版本到GitHub上面,希望在一个月之内能完成吧,但是我也不敢保证,大家也不用催我,总之该来的一定会来,我做出的承诺有可能会迟到,但绝不会食言。

目前,趣享GIF已经在应用宝、华为、360、OPPO、VIVO、百度、豌豆荚、魅族、三星等主流应用商店(小米除外)上线了,大家直接在这些应用商店中搜索“趣享GIF”即可下载安装。不得不说现在App上架应用商店真是越来越难,还需要申请软件著作权才行,耽误了我近两个月的时间。当然如果你手机上没有安装上述商店也没关系,长按识别下图中的二维码即可直接下载(没有ios版本,用iPhone的朋友可以跳过了)。

用我自己的观点来说的话,一件重要的事情一定要做到有始有终才行。沉淀了两年时间完成的这个App,对我来说是一件事情的结束,同时也是一个新的开始。接下来我又要尝试去面对新的挑战了,而我认为工作的乐趣就在这里。

以上是关于两年沉淀,我的开源项目已上线!的主要内容,如果未能解决你的问题,请参考以下文章

个人博客系统项目-已开源

个人博客系统项目-已开源

个人博客系统项目-已开源

微软发布新品被指剽窃!交涉无果,两年开源项目被迫终结

微软新品被指剽窃!程序员开源两年的成功项目被迫终结

20 个新的且值得关注的 Vue 开源项目