告别Android

2018年04月16日 342点热度 0人点赞 0条评论

经历

从去年暑假到今年4月份,已经搞了近一年的Android开发了,起初小学期做了一个拼图游戏,然后上学期花了3个月帮张老师做了个小项目,然后这学期,从开学至今花了一个月左右的时间把大创(源码)的大体框架给写完了,是时候甩锅给学弟了,我就先歇个大半年去搞搞别的吧。

不得不承认,这近一年的时间还是成长很多的,上学期用Java花3个月写的项目,这个学期用Kotlin花了1个月左右的时间就写出了比去年功能更强,更优雅的代码。

上个学期几乎成天都在自己造轮子,各种View和Utils都是自己在花时间实现,导致的结果就是开发速度缓慢,而且自己造的轮子往往性能和质量堪忧。

之前写Android都是用的Java,今年特地在寒假花了一个下午把Kotlin学了,然后开始用Kotlin开发,不得不承认,Kotlin配合Github上的各种轮子使整体的代码优雅太多了,代码量相比之前写的减少了至少一半,不得不说,当今搞Android开发,我还是推荐你用Kotlin。

由于后端也是我在写,这里就简单提一下吧,App的后端之前是用Java配合struts2框架来实现的,现在换成了PHP配合MedooGatewayWorker其中Medoo进行数据库处理,GatewayWorker用来实现socket长连接,这两个框架最大的优点就是够轻量,且性能够用。

由于我也没有搞过IOS开发,因此没法横向对比这两个哪个坑比较多,但Android绝大多数时间带给我的还是愉悦。

但是Android Studio实在太占电脑资源了,用起来贼卡,所以,暂时先ByeBye吧。

Android开发涉及的方面又多又杂乱,这里不方便做详细的展开,我就主要提一些值得注意的地方和好用的框架。

Gradle虽然好用,但时不时抽风。

以后没有一个会设计和制图的UI Designer,打死我也不去写UI,毕竟强迫症受不了。

开源推荐

  • 图片尽量用xml格式以节省内存,图标可以从阿里巴巴矢量图库下载SVG类型的并在Android Studio中转成xml格式

  • 拥抱链式编程

  • 各类MaterialDesgin

  • 导航栏

  • 一个贼好看的Side-Menu

  • 类似课表的WeekView

  • 搜索框floatSearchView

  • 进度条MagicProgress

  • 强大的SmartRefreshLayout可以实现各种特效的下拉刷新和上拉加载*

  • 毛玻璃效果Blurkit虽然我觉得毛玻璃的梯度只是整数有点不够满足我的需求

  • Bootstrap风格的控件*

  • 包含各种强大的工具类Util*

  • 一个好看又功能强大的EditText

  • 强大的制图控件MPAndroidChar*

  • 功能强大的Dialog*

  • 链式解决权限处理AndPermission*

  • 方便的裁图工具Ucrop

  • 简洁的Picker唯一的缺点是不支持链式

  • 优雅地处理StatusBar、ActionBar、NavigationBar,可以一行代码实现沉浸式状态栏ImmersionBar*

  • 类似QQ空间的点赞按钮ShineButton

  • BRVAH最牛的框架之一,几行代码解决RecyclerView的适配,且支持分组和多布局*

  • Logger让你的Log变得优雅又方便调试*

  • Glide强大的图片加载框架,可以加载本地和网络图片到指定的ImageView,并且缓存机制都帮你处理好了*

  • Gson可以自动转换和解析json,十分推荐*

  • StepView类似京东,淘宝的物流跟踪页面,没怎么用过,但感觉还可以

  • EventBus通过注解的形式,只需几行代码,就可以在Activity,Fragment等组件之间进行数据传递,再写不用写什么broadcast以及各种回调噩梦了!!唯一的缺点是调试的时候不太方便*

  • Okhttp用来处理网络请求

  • Retrofit基于Okhttp的网络请求框架,通过注解的方式定义请求方法*

  • RxJava响应式编程,优雅、简洁(虽然我现在还没有啃透),同理还有RxAndroidRxKotlin,分别对Android和Kotlin进行了一定的优化*

  • Anko可以在Kotlin代码中动态修改布局,方便地处理本地SQLite以及优雅地toast*

Plus

文章评论