当前位置: 首页 > news >正文

今天作为一个Android开发者,你迷茫了吗?

我们的态度是:每天进步一点点,理想终会被实现。

前言

想写一篇关于Android开发者忧虑的文章很久了,今天才提起勇气写。最近不管是在微信、QQ群,还是在各大博客网站,都随处听得到Android开发不景气的声音,而现在的大数据、人工智能的火爆程度,很大程度上对Android开发者不免有一定的影响,写这篇文章主要的目的是表达一下自己对目前Android开发的一点看法,仅仅是个人观点。

Google 2005年8月17就已经收购了Android,距今已经有10余载,纵观这10多年的发展可以说是天翻地覆。Android 全球已经超过10亿部,超过70%以上的市场份额,Android依然是Google的核心,这么大的用户数据是不可能放弃,只能越做越好。可能很多人会说会不会像以前的塞班系统?答案可以很肯定的告诉你不会,有一下几点原因:

1.塞班闭源,而Android开源

2.开源,很多公司都在深度定制系统

3.和10年前对比,现在的Android系统是越来越完善

4.有了塞班的示例,Google没那么傻会走相同的道路

5.Android丰富的学习资源、社区

6.假如没有Android,国内估计就没得小米、锤子等手机

。。。

个人观点,假如Google没有收购Android,估计Google没有像现在那么出名,也没有现在的辉煌、规模。那么,Android的未来具体究竟会发展成什么样子,智能家居,人工智能,VR技术,AR技术,安防。未来,安卓会更加的人性化和智能化,以及安全化,视觉体验化。

因此在这样的大环境之下,Android 移动开发必然还是能在众多开发中占领一席之地的,所以Android消亡是不用担心的。

行业形势

Android 的形势与环境

如果你是一个Android开发者的话,你一定听到了很多的风言风语,总结几句话的意思就是Android已经不再火爆了,Android学了出来找不到工作,Android是不是要被遗弃了等等,很多的不顺耳的言论。但是我们不得不承认这样一个事实:

Android确实不是当年盛况,已经不再像前几年前那么火爆。一种语言如果经历过盛极一时,那么必然有这样的一条曲线,像我们学的正弦曲线先急速上升,然后到达顶点,然后再下降,最后再趋近一个平稳的值。那么这一两年就已经是在一个饱和值之间浮动,因此在这样的形式下,可能对于个人开发者相应的要求就要高一些。以前是只要你会Android四大组件的都是个香饽饽,那样的时代已经过去了,随着人机交互的体验要求,App的用户体验的要求、流畅度等等,已经不可同日而语。在这样的大环境下,那么对我们的Android开发工程师也是同样的改变。

在这样的情况下,由于饱和,随处都能招到初级的工程师,公司有了选择的余地,所以肯定会去选择更加优秀的,这就必然导致了我们经常说的,Android开发者已经烂大街了,其实不然,只是公司的要求变高,市场饱和,门槛变高而已。所以这就要求我们更加的精于技术,据我了解,中、高级的工程师还是很受欢迎的。

移动端的发展

React Native的出现

移动端在短短几年之间就发展如此迅速,典型的代表就是Android、IOS,发展如此之快,又如此的火爆。既然都是移动端,为什么每开发个APP就需要两个端分别开发,作为IT行业肯定有各方面的大佬会想尽办法来兼容两个端,一套代码,两个端都可以运行;

那么,肯定知道大名鼎鼎的FaceBook开发的语言React Native,这款语言是能兼容Android、IOS的系统,开发一套代码,可以两个端运行。在这之前一度给开发者带来了多么大的希望,得到了众多开发者的青睐,但是我想又很多的人不知道ReactNative开发到底有没有坑,到底像不像道听途说的,提高了效率,降低了成本,这是我之前看的一篇文章上一位大佬实际开发之后的感受:React Native技术的优劣,有兴趣的老铁可以看看。因此,个人观点,你作为一个Android开发者,学习更多的兼容平台的语言,肯定是加分的。但是也要看你时间、经历等因素,以及适不适合。假如你现在Android都还没学到多少,或者还在初级阶段,然后就想着又去把React Native给学好,我建议先把当前工作中需要的语言学精通,然后再去扩展学习,是最优的抉择。不要看着什么新的出来,都去尝鲜了解个一知半解,最终发现自己没有一项精通的,就得不偿失了。

Google推出Kotlin

Google进来在大力推广Kotlin,Kotlin不可否认得到了Google的大力支持,以及语言本身的特点,个人觉得有一下几个特点是很受欢迎的:

  • 代码的大幅度精简
  • 100% 兼容 Java 代码
  • 函数式编程
  • 各种语法糖

可能有的老铁就会说了,既然kotlin得到了Google的支持,语言又有比Java好的特点肯定会冲击一波;这里就说说我个人的观点:

  • 不要太着急去学习Kotlin,除非你空余时间充足
  • 一个语言替代另一个语言,是需要时间去沉淀,一般需要3~5年时间
  • 既然Kotlin有着诸多的优点,而且完全兼容Java代码,那么等到普及的时候再去也不迟 现在国内、外都是有很多大型的APP依然是Java,想QQ、微信、支付宝等APP,要想突然全部换成kotlin来编写,还是需要时间和成本的。以及总小型公司的老项目也是需要维护等等。
  • Kotlin的三方库可能还是不是那么的完善,未知BUG,社区活跃度等等都是些问题

综上所述,不可否认Kotlin有极大的可能成为Android开发最流行的语言,但是这还是需要一定时间,所以是否立即转Kotlin开发是否符合你自身,就需要老铁自己考量了。

Flutter

什么是Flutter?

2018年2月27日,在2018世界移动大会上,Google发布了Flutter的第一个Beta版本。Flutter是Google用以帮助开发者在Ios和Android两个平台开发高质量原生应用的全新移动UI框架,可以看一下视频介绍(http://v.youku.com/v_show/id_XMzQyNTE1NDMxMg==.html)。

有以下几个特点:

  • 热重载(Hot Reload),作为一个菜鸟安卓开发者,能热重载真的太舒服了,利用Android Studio直接一个ctrl+s就可以保存并重载,模拟器立马就可以看见效果,就这一点比原生安卓制作简直不知道高到哪里去了。

  • 一切皆为Widget的理念,对于Flutter来说,手机应用里的所有东西都是Widget,通过可组合的空间集合、丰富的动画库以及分层课扩展的架构实现了富有感染力的灵活界面设计。

  • 借助可移植的GPU加速的渲染引擎以及高性能本地代码运行时以达到跨平台设备的高质量用户体验。 这段介绍是直接抄下来的,虽然我并不知道什么叫可移植的GPU加速的渲染引擎,但是最终结果就是利用Flutter构建的应用在运行效率上会和原生应用差不多。

但是由于目前主要是使用在UI方面,不清楚后续的发展,我们暂时还是不要盲目的去跟风,毕竟这些还是要很多的大佬去实践,然后不断的优化、提升才能适合我们这些菜鸟级别的去使用。当然我前面也说过,如果时间很充裕,是完全可以去学习尝试的,多学多了解肯定是对自身有益。

人工智能、大数据的崛起

作为一个程序猿,那么肯定是知道这两年的人工智能和大数据的发展,不管是国家政府的支持还是IT界的发展,以及世界IT巨头公司,都是在大力发展人工智能、大数据,毕竟人工智能、大数据是被语言未来10年最火的语言。我想有很多人肯定和我一样,不管是点开各大开源网站、技术博客平台、技术交流群可能出现最多的词频就是人工智能,Python自然而然的就是火得一塌涂。

经常可以看到有很多博主,发布消息Python几月份成为了某某开源社区最火的语言等等,引发的一些的唇枪舌战,我们不讨论。但是我们从另一面可以看得出是有多么的火爆。可能这就导致了很多的Android开发者,或者不止Android开发者,都想去分一杯羹,都想去赶上这个热潮。这里我就说说我个人的几个观点,仅仅个人而言:

  • 了解如今的市场行情,需要掌握什么技能才能找到一份Python开发的工作,现在公司需要什么人才,这个就是你学习的一个方向。

  • 系统的学习规划:你要知道自己每天学习什么,因为接触过的新手比较多,很多人学着学着就放弃,或者他们不知道自己在学习什么,这样非常迷茫一点计划没有,肯定是学不会Python的,所以学习Python要知道每天学习什么,做什么案例。

  • 学习Python如果只靠自己学,基本学了也很难找到工作,现在Python开发的工作普遍很高,要求也高,都需要有工作经验的,如果单靠自己琢磨不仅浪费时间,而且很不专业。

所以可以想好自己是以后走这方面的路,还是说只是想尝试一下,跟跟风;如果只是跟跟风,我看还是算了吧,你真的闲暇的时候去看看就好,别花太多时间,如果有时间还不如研究在自己的领域,对你可能更加有利,那如果是下决心要转行,那你还是要考虑好当下的适不适合。

一句话总结

最后再说说我个人的观点,如果你是大佬,肯定有自己的安排,就不言论,如果像我一样还是菜鸟,那就请你多多还是老老实实的把一门语言精通,毕竟你去公司,老板给你开公司是按照你最精通的一门语言来给你开的,而不是你懂的语言多就给你开的多,你懂的多只能说是你的加分项,而不是必须项。另外,还是要多多关注到开源社区、Google等等网站,随时掌握着最新的消息,随之做应变。

经过上面的分析,我相信很多人都有自己的观点和主意,但是这里我还是简要的说一下,以上只是我个人的观点,不喜勿喷,感谢,口下留人。

温馨提示: 我创建了一个技术交流群,群里有各个行业的大佬都有,大家可以在群里畅聊技术方面内容,以及文章推荐;如果有想加入的伙伴加我微信号【luotaosc】 备注一下“加群” 另外公众号还有一些个人收藏的视频:

原创不易,如果觉得写得好,扫码关注一下点个赞,是我最大的动力。

关注我,一定会有意想不到的东西等你:

每天专注分享Android、JAVA干货

备注:程序圈LT

相关文章:

  • html select 和dropdownlist小结收集
  • Promise的使用及简单实现
  • Redis详解篇
  • 求int最大值以及int二进制
  • idea+tomcat 解决 debug超级慢 问题
  • ubuntu 安装时分辨率太小 导致无法继续安装
  • EntityFramework Core笔记:查询数据(3)
  • Entity Framework In Action--5 Domain model mapping(2)
  • 在IDEA中编译Maven项目
  • Python绘制数码管显示当前时间
  • ECSHOP 购物车数量更新时自动更新价格 不要重新点击更新数量按钮
  • 关于ansible远程执行的环境变量问题(login shell nonlogin shelll)
  • Effective C++ 学习笔记[1]
  • Spring Boot 2.0 with Spring 5 Kotlin support and Spring WebFlux functional
  • mysql表分区案例
  • 9月CHINA-PUB-OPENDAY技术沙龙——IPHONE
  • Google 是如何开发 Web 框架的
  • Bytom交易说明(账户管理模式)
  •  D - 粉碎叛乱F - 其他起义
  • Git学习与使用心得(1)—— 初始化
  • JAVA之继承和多态
  • JS函数式编程 数组部分风格 ES6版
  • leetcode-27. Remove Element
  • leetcode98. Validate Binary Search Tree
  • maya建模与骨骼动画快速实现人工鱼
  • scrapy学习之路4(itemloder的使用)
  • Spark学习笔记之相关记录
  • vue和cordova项目整合打包,并实现vue调用android的相机的demo
  • vue总结
  • 大数据与云计算学习:数据分析(二)
  • - 概述 - 《设计模式(极简c++版)》
  • 互联网大裁员:Java程序员失工作,焉知不能进ali?
  • 适配iPhoneX、iPhoneXs、iPhoneXs Max、iPhoneXr 屏幕尺寸及安全区域
  • 鱼骨图 - 如何绘制?
  • 测评:对于写作的人来说,Markdown是你最好的朋友 ...
  • ​ 无限可能性的探索:Amazon Lightsail轻量应用服务器引领数字化时代创新发展
  • ​软考-高级-系统架构设计师教程(清华第2版)【第9章 软件可靠性基础知识(P320~344)-思维导图】​
  • # Maven错误Error executing Maven
  • # Swust 12th acm 邀请赛# [ A ] A+B problem [题解]
  • #我与Java虚拟机的故事#连载19:等我技术变强了,我会去看你的 ​
  • $().each和$.each的区别
  • (2022 CVPR) Unbiased Teacher v2
  • (42)STM32——LCD显示屏实验笔记
  • (MonoGame从入门到放弃-1) MonoGame环境搭建
  • (附源码)基于SpringBoot和Vue的厨到家服务平台的设计与实现 毕业设计 063133
  • (接口封装)
  • (牛客腾讯思维编程题)编码编码分组打印下标题目分析
  • (五) 一起学 Unix 环境高级编程 (APUE) 之 进程环境
  • .htaccess 强制https 单独排除某个目录
  • .net MVC中使用angularJs刷新页面数据列表
  • .net 调用php,php 调用.net com组件 --
  • .net 微服务 服务保护 自动重试 Polly
  • .net(C#)中String.Format如何使用
  • .NET/C# 解压 Zip 文件时出现异常:System.IO.InvalidDataException: 找不到中央目录结尾记录。
  • .Net程序帮助文档制作