0%

从Android开发转Java后端开发一年感想

去年12月份,我完成了进入目前公司的第一个Android项目。但项目最终并没有正式上线,公司也暂时没有新的移动端需求,出于个人意愿和公司需要我开始转到Java后端开发。到目前刚好一年的后端开发经验,我想总结下我的主观感受。

做Android开发有哪些不好的体验?

  • 兼容性要求
    需要兼容不同厂家、不同系统、不同的屏幕的Android设备。使你开发的App能够在每个用户的设备上都能正确流畅的运行是非常重要的事情,但从技术提升的角度来看,这样的工作毫无意义。
  • 额外的工作量
    国内的绝大多数App UI设计和交互设计都是使用iOS的规范。iOS风格的UI和交互方式。iOS开发直接使用系统控件,而Android端可能要花几天来实现。
  • 需求变更频繁
    需要变更也会影响到后端,但根据我的经验来说,每次需要变更前端都是改动最多的。
  • 开发工具
    Android项目从编译到运行需要几十秒到几分钟,而一个Java的后端服务只需要几秒就能运行起来。Android Studio 功能已经十分的强大,同时也十分的占资源。而对于后端开发来说,除了java这样重度依赖ide的语言,你都可以用很轻量的文本编辑器来开发。

我认为后端的开发体验好于Android开发

  • 写CURD比写UI页面简单,CRUD的工作量是很容易评估的,但是写UI的工作量取决于还原设计的难度和需要适配的设备。
  • 接口由自己定义,不用对接奇葩的接口,不规范的命名,不合理的数据结构,不规范的错误响应。
  • 开发调试方便,你写的程序在本地就能Run起来,而不用需要安装到手机上。
  • 相对来说后端比前端和移动端更受重视,因为后端掌握着数据和业务逻辑。

我从毕业开始做了3年多的Android开发,对于Android技术栈各个方面都有了一些积累。移动开发和后端开发之间的差异还是比较大的,选择转到后端开发意味着跳出舒适区,需要补习很多后端开发的知识。但从上面讲的开发体验角度来说,我觉得切换到后端开发是一件正确的事情。另外从大的环境来说,移动端的需求是越来越少的,并且我们有更多的新技术来替代原生开发,比如Web、React Native/Flutter、小程序等。市场已经不需要这么多的移动开发人员,必然会有大量的Android/iOS开发者转向后端和Web开发。

对于我来说,从Android开发切换到Java后端开发是比较顺利的,只花一点时间熟悉下 Spring Boot、Spring Cloud 相关的知识就可以开始写CURD接口了。

当然后端的技术栈上限是很高的,要成为一个优秀的后端开发人员还有很多的知识需要积累。