两年Android开发教会我的那些事(一)

我还记得在2014年的时候,我决定开始进行Android开发,这是我一生中做的最正确的决定之一。到现在两年半的时间里,我有机会学习或改掉很多有关Android方面的事情。

当我最开始学习的时候,我没有一个导师或者一个人可以指导我去做正确事。我犯了很多错误直至后来浪费了大量的时间去整顿这些东西。

后来,在一年半后,我有机会和一些有天赋有经验的Android开发者一起工作,他们指导我,帮助我用更好的方式去做这些事情。这两个阶段都帮助我在这艰难的学习之路上学到很多。我学会了该做什么,但最重要的是不该做什么。

已经有相当长的一段时间我一直尝试去帮助其他可能和我用同样方式的开发者,有直接的,也有间接的帮助。这里是我的StackOverflowGithub

在这篇文章中,我将分享一些这些年我收集的精华。可能会帮助一些人很快入门,并且不会再犯那些我犯过的错误。

声明:在这篇文章中我将主要集中在Android以及一些编程概念和生产开发,因此如果你对其中任何一部分不熟悉的话,你可能不会想继续读下去。除此之外,只管开始吧。


1.不要造轮子

起初,我有一个不好的想法就是不使用开源库。不管我是否需要,我都想自己造轮子。然而这是一个非常不好的想法。

如果你在开发你的app中遇到了一个问题,并且如果这个问题已经在之前被某些人用很好的方法解决了,为什么不去使用他呢?这样你可以节约你很多时间啊。

专注更多在你的核心业务逻辑上。比如如果你想要在你的app上使用网络框架,你不必自己创造一个Retrofit。

精华:Android Arsenal维持了一个几乎所有的Android库。可以去那里找找看你想要的库。


2.明智地去选择Libraries

GitHub上有很多可用的开源库可以免费给你使用。但是不要因为太高兴而盲目地使用Libraries。

看看这些库有多少星星,星星越多越好。看看作者是否还创建了其他的库。看看这些issues(打开和关闭的),这些对于如何在生产中增强和稳定这个库可以给你一个更好的想法。

如果你能有空闲时间,你应该深入这个library的源代码,自己检查一下它是否值得这么做。

你应确保你使用的代码是可靠的,没有bug的并且是高质量的。

tip:使用Dryrun命令行去尝试直接托管任何一个库。


3.坐下来,喝杯咖啡然后读更多代码

我们读其他人的代码的时间应该超过我们自己写代码的时间。如果你没有这样做,从今天起开始吧。

不管你今天能写出什么代码,都只是因为你曾经在某天读过和学到过某些东西。这只是一个你已经学到了什么的反馈。你可以通过读和学习其他人写的代码成长和提升自己。

Android最好之处是它是一个完整的开源平台。深入源码看看他们是怎么实现这个框架的。Github上有成千的开源库。选择一个库,看看他的开发者是怎么实现它的。

精华:这里有一个精选的最好的库,这里是几乎所有android app可用的开源库的列表。


4.以上帝的名义,保持适当的编码规范

如果你把编码比作写作,那么编码标准就像你的笔迹。

就像你会读很多其他人的代码一样,其他人也将会读很多你的代码,你也不想吓坏他们,对吧?如果你在一个组织工作并且和很多开发者一起合作,请好好对待你的代码

写的简短、干净及可读性强,你和读你代码的人将会觉得很享受。你的代码读起来应该像读一个故事。

代码就是诗歌。

如果你的同事因为你写了一段代码而几天都不跟你说话时,不要抱怨。

精华:首先,你必须彻底贯彻这个这个


5.你需要ProGuard,是的,你需要它

永远不要犯这个错误:你的app没有使用ProGuard就在play商店上架了。ProGuard不止精简你的代码,它还可以混淆你的代码让他不容易被逆向工程师理解、复制以及操作

他完全免费而且绑定了Android SDK,绝对没有理由让你不使用

我已经看过很多开发者没有使用ProGuard就发布他们的app在android市场上。应该不到几个小时一个不太熟练的黑客就可以操控一个已经没有混淆但已经发布的app。

tip:如果你想最高保密,ProGuard就像纸板,然而你需要安全的话,DexGuard可以。


6.使用一个适合的结构

你将永远感激你自己在一开始选择了一个适合的结构

你可以使用MVP(Model-View-Presenter)结构将代码分成不同的易于管理的层级来解耦你的代码,从而提高了代码的灵活性,大大的降低维护时间。

这里有一个很好的代码工程供你开始。如果你很难掌握,这里有一个详细指南可供初学者参考。

精华:看看这个还有这个以及最重要的这个。所有的这些都可以极大地帮助你在你的项目里实现MVP。


7.如果用户界面看起来非常可笑,而且你必须向别人解释它,说明这个界面做的不好

如果你在任何一个公司只是扮演一个Android开发者的角色,你可能不需要太关心界面,因为有UI/UX设计师会去关心。

但是如果你是一个独立开发者,你需要谨记这个。我已经看过有些开发者开发了一个有好功能的app,但是UI看起来太可怕了,还有用户交互用起来太痛苦了。

设计一个干净、简洁及漂亮的界面很简单。你不能只像一个开发者一样思考,你应该更关注于发掘出藏在你内心中的设计师的角色。

试着通过设计一个漂亮的UI去给你的用户创造一个难以磨灭的印象,如此他们便可以比使用其他应用保持更多的回头率,并且你可以取得更多转化率(可能是会买你的付费版本)

你应该从你的设计中删减元素,而不是随便增加元素。

精华:你可以从很受欢迎的设计师Dribble或者MaterialUp身上获得灵感。如果你对设计感兴趣的话,这本书你可能会喜欢读的。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值