Aritra Roy 是一个全栈工程师,Android 极客,UI/UX 设计师,兼职的博客主。据我所知,是一个印度人。
Aritra Roy 是一个全栈工程师,Android 极客,UI/UX 设计师,兼职的博客主。据我所知,是一个印度人。他从 2014 开始投身到 Android 开发中,这是他写的一篇关于 Android 开发的经验。这是 2016 年写的,当时离他开始进入 Android 开发大概两年的时间。
这些是他两年多的 Android 开发积累的经验和总结。
刚开始,他并不喜欢开源的库,而是喜欢自己去实现。这是一个很糟糕的想法。有时候我也是这样的,包括现在。
如果当你开发应用的时候碰见了一个问题,而这个问题已经被别人解决掉了,那么为什么不利用它呢,你可以节省下来很多时间。
把更多的时间和精力放在业务逻辑上。
Github 上有很大很多开源的库随便供你选择,并且都是免费的。不要太兴奋而随便选择某一个库。
首先可以先看一下这个库的关注度,stars 越多越好。然后看看这个作者有没有创建其他更好的库。然后看看 issues 列表,那些打开的,关闭的,可以看出这个库的稳定程度。
你要确定你引入的库是要尽量稳定可靠的,高质量的,最好还是一直有人在维护的。
原谅我直接翻译了。
我们总是把大部分时间用在阅读别人的代码而不是自己写代码。如果你不是这样,那么从今天开始改变。
这个是他的一个观点,我是觉得不要去硬扣字面意思,他想表达的是要多阅读别人的代码,特别是优秀的代码,而不要一味的自己埋头写代码。
你今天写的那些代码,是你在之前曾经阅读多,学习过。你只是在实现你已经会的知识。你只有在阅读和学习别人的代码中,才能成长和进步。
Android 本身就是一个开源的平台,你可以去研究 framework 是如何实现的。Github 上有那么多优秀的库,你可以从中选择一个,看看它的开发者是如何实现它的。
如果把编码比作写作,那么代码标准就好比你的笔迹。
你一直在阅读别人的代码,而别人也在阅读你的代码。你总不希望你的代码把人吓一跳吧。特别是如果你在一个团队中,和别人一起写代码,那么就应该更加注意了。
大部分人还是属于团队开发的,即使再小的公司,再小的项目,也很少会是单独开发的。即使是自己的项目,或者你是一个独立开发者,也需要注意代码标准。不然你连你自己写的代码都不认识。
ProGuard 是一个混淆的工具,首先它会减小代码的体积。另外它会让代码再进行反编译后,不那么容易阅读。
总之,你没有理由不用它。
每当项目开始的时候,你需要选择一个适合的架构,比如 MVP。MVP 可以帮助你把代码分散在不同的层中,提高代码的可读性,更容易阅读。
如果你的角色只是一个 Android 开发者的话,可以忽略这点。因为公司配备了 UI/UX 设计师。而如果你是独立开发者话,就像作者一样,那么你是很需要有一个良好的 UI 设计的想法的。
干净,简单,漂亮的 UI 设计对于用户来说是那么的重要。你那些高深的程序设计,构架,设计模式,算法都是由 UI 包装起来的,用户看不见这些,他们只看见了 UI。
崩溃报告收集和应用使用数据是你一定需要的。
在任何时候,你不可能做到完美。用户会在各种各样的 Android 设备上启动你的应用,总有一款崩溃适合你。不要灰心。
崩溃报告收集工具能帮助你发现他们,解决他们。
应用使用数据可以帮助你分析用户的行为。这对于独立开发者很重要,而一般公司,产品经理或者运营会负责这方面的工作。
可以看出作者经常作为一个独立开发者的身份进行应用的开发,运营。对于独立开发者来说,运营一个应用也很重要。怎么运营推广一个应用,方式方法很多,但是,在此之前,你需要保证的是,你的应用是稳定可用的。不要花很多时间,经历,金钱,然后把一个半成品推送到用户跟前,那么用户除了选择卸载还能做什么?
写代码和写优质的代码是有很大的区别的。我们需要的是运行更快,使用更少的内存,更少的存储空间占用的代码。
现在的 Androd 应用一般使用 gradle 来构建。gradle 是强大的,但是很慢。gradle 的配置也总是给开发者带来一些麻烦。看来不光是中国开发者,老外也这样。花时间在优化 gradle 构建总会带来一些时间上的节约的收获的。
没有比测试更重要的事情了。并且尽量花时间写脚本来进行自动化测试。
Android 最大的问题就是碎片化了。Google 也没有很好的解决这个问题。很不幸,你需要去适配他们。
Git 算是非常主流的版本控制工具了。不会 git 都不好意思跟人打招呼了。当然,我是觉得有些人有点唯装备论了,Git 再好也只是一个工具而已。主要还是看自己的需求。
Android 的开源生态,让 Android 应用很容易被反编译,逆向工程。你需要有安全的意识,如何保护的各种 key,token 等信息。
没有百分之百的安全,你只能尽力了。
每个人都喜欢高端手机,但是做为开发者,你需要的是低端手机。有些时候,高端手机的性能或者一些特性掩盖了你代码质量的问题。
这个应该是适用于所有语言的开发者。要提高自己的编码能力,对设计模式的学习和理解很重要,这些都是前人们在大量的业务项目中总结出来的方法。
基本上,没有网的话,大部分开发者就废掉了。因为我们都是面向 stackoverflow 编程,面向 google search 编程,面向 github 编程。我们在网络上得到很多知识,得到很多解决方案。在我们得到帮助的时候,也是时候回馈一下。把自己学到的,解决的,理解的知识,经验,分享出去。
以上 18 点,是作者的一些经验和分享,也有我的一些瞎编。这是原文的链接 : https://blog.aritraroy.in/what-my-2-years-of-android-development-have-taught-me-the-hard-way-52b495ba5c51
- EOF -
本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动。
转载请注明:文章转载自 Binkery 技术博客 [https://binkery.com]
本文标题: 一位两年 Android 开发经验的总结
本文地址: https://binkery.com/archives/699003.html