大家早上好,猪年春节将至,先跟大家拜个早年。
自从上个月发布了我编写了两年之久的开源项目趣享GIF的App版本,不少朋友都一直在博客、微信公众号上催问我什么时候开放源代码?为了能够尽量将源代码公开,我这一个多月也是没少忙活,基本上是每天下班就开始抓紧写代码,尽量能早一天是一天。
可能有些朋友不明白,项目不是已经开发好了吗,还有什么东西要写的呢?这是因为开源版和非开源版本在某些地方是不一样的,比如说非开源版本登录是使用的QQ、微信、微博这种第三方登录的方式,而开源版用不了,因为第三方登录一定要验证App的包名和签名才行,大家在各自电脑上打出来的APK包签名肯定是验证不通过的。
于是在开源版本中,我将登录方式改成了手机号登录,之所以我一直排斥做传统的账号密码登录功能,是因为这样还需要专门开发一套账号管理系统,包括设置密保问题,以及找回密码等功能,太过于麻烦。而使用第三方登录和手机号登录,就相当于把安全性问题交给了第三方解决,我这里就相对轻松了很多,用户登录也方便了很多。
手机号登录功能我一开始选用的是阿里云的短信服务,结果因为我开发服务器使用的语言是Ruby,而阿里云并没有提供Ruby的SDK,得用原始的HTTP方式来对接才行。但是阿里云短信服务的原始对接方式太复杂了,各种身份验证绕来绕去,我实在没搞定,最终换成了腾讯云的短信服务,在这方面着实花了不少时间。
除了修改了登录功能之外,我还调整了App的主题颜色,使用绿色作为开源版的主色调,还修改了几个由大家测出来的Bug。并且大家在试用了趣享GIF之后提出来了不少建议,本来我是想将这些建议也一一优化的,但是这样就肯定无法赶在春节之前开源出来了,最终我决定将这些建议缓一缓,先发一个初始的开源版,以后再慢慢进行版本迭代吧。
开源版本和之前发布的非开源版本功能基本是完全一致的,因此大家应该也体验的差不多了,我这里就简单再发几张截图吧。
可以看到,开源版的Logo以及整体App的主色调我都进行了调整。
手机号由于不方便在截图里面显示出来,登录功能就不跟大家演示了,总之如果这是一个已注册的手机号,那么登录成功后将会直接跳转至主界面,如果是未注册的手机号,那么会跳转到注册界面。
注册界面如下图所示:
由于这是非第三方登录的情况,我无法像第三方登录时那样自动获取到第三方账号的昵称和头像,因此昵称需要自己手动输入才行,头像使用的是一个系统默认的图标,当然大家后面可以再自行进行修改。注册成功会自动跳转到主界面。
浏览GIF界面如下图所示,这些大家应该都很熟悉了:
分享动画效果,可以将图片分享到QQ、微信、微博、或者保存到手机:
点赞动画效果:
发布GIF趣图:
应大家的建议,增加了一键回到顶部的功能,点击当前页面的Tab项即可一键回到顶部:
由于没有了第三方账号的头像,默认的个人主页界面可能并不会很好看,如下图所示:
但是你可以点击Fab按钮来对你的个人主页进行随意的定制,编辑出好看的个人主页:
设置界面如下图所示:
关于界面也进行了一些调整:
更多功能就不再向大家演示了,因为很多朋友对这个App已经很熟悉了。那么就话不多说,接下来进入到本篇文章最重要的部分,公开趣享GIF的源代码。目前趣享GIF已在GitHub上开源,大家可以随手点一下Star,算是对我的支持吧,项目主页地址是:
另外需要提醒大家一点的是,趣享GIF的源代码仅供学习和交流使用,严禁用于任何商业用途,否则我将保持一切追究法律责任的权力。当然,如果你是通过这个App的源码学到了很多知识,然后应用到了自己的项目当中,这种我是非常欢迎的,但如果只是在我的源码基础上稍微改了改代码或者界面,然后就拿去用作赚钱目的,这种行为是不被允许的。
本来考虑到服务器安全的问题,我有想过客户端与服务器接口通讯的这部分代码不进行开源,但是后来仔细考量之后我还是决定将所有的源代码都进行公开。我不知道这样会不会导致一些我没考虑到的服务器漏洞暴露出来,但是请大家不要试图对我的服务器进行攻击,我不是专业的服务器开发人员,这个服务器的存在只是为了方便大家更好地学习。
好的,该讲的差不多都讲完了,最后祝大家猪年大吉。