Java应用开发全栈工程师
1.全栈工程师
全栈工程师大家可能都知道,就是包括web前端,web后端,手机应用开发都有了解,而且都可以上手做的工程师。
2.Java全栈工程师
Java全栈工程师一般情况指的是web前端,web后端都会,可以上手开发的工程师
3.Java应用全栈工程师。
Java应用全栈工程师一般指的是APP原生应用开发,web后端服务开发。
我为什么建议成为一名Java应用全栈工程师
大家都知道计算机的软件开发所包含知识量太大,但是学习这些知识是可以有规律可寻的。
但是计算机的应用层软件开发可以这样来划分,无非就是操作系统开发(包括嵌入式操作系统)和网络服务开发两个方面。
1.操作系统开发可以划分为:系统开发和驱动开发。系统开发,每个操作系统都有它自己的语言,如果划分模块,有很多相似之处,可以映射,后面做介绍。驱动开发,是与硬件打交道,一般运用C或者C++开发。
2.网络应用开发可以划分为:服务后台开发和前端UI开发,服务后台开发,各大知名的语言都可以做,比如:PHP,Java,Python。前端开发,各大知名的脚步语言开发,常用语言,比如:JavaScript,html,css
现在说说我的建议,为什么
掌握android和java可以让工程师很快上手软件开发的任何东西,东西多,但是也要了解,也要有自己擅长的方向。原因是android开发就是一个操作系统的开发映射,它可以映射所有操作系统,知识结构是一样的,只是实现方式各有各的不同,所以研究操作系统应用开发,选择一个就可以了。可以这么来看操作系统那几大模块:(以Android为例)
1.应用层,代表:语言使用java
应用:App网络应用开发
2.计算机图型,代表:OpenGL
应用:游戏开发
3.音视频,代表:FFmpeg,WebRtc
应用:播放器,视频通话,直播
4.图像,代表:OpenCV
应用:人脸识别,车牌识别,美图美颜,OCR文字识别
这样就可以映射的去看其他的任何操作系统,对做什么开发都是有帮助的。
现在来说说JavaWeb后台服务开发,java后端本身就是一个操作系统,它的开发比Android就是多了几个重要的东西,是JavaWeb必须的选项,如:
1.MVC Http服务,代表:struts
应用:单机架构网站
2.分布式,代表:阿里巴巴开源项目Dubbo
应用:分布式系统,SOA架构服务
3.架构风格(微服务)代表:spring cloud
应用:微服务架构系统
所以成为一名全栈应用开发工程师,学习Java,对了解和学习其他的语言和技术都有优势。主要因为Java的广泛应用。
注意:从上面的分析,我们能够看出,不论是android应用开发,还是web前端开发,也可以说上面的操作系统各大模块开发,都可能依赖于web开发,因为现在的大多数应用都离不开网络,所以Android提供SDK,和上面的计算机图形图像,多媒体,其实都是提供SDK,所以学好web应用开发是基本,就连现在的大数据,hadoop,spark,机器学习说白了,还是有网络web来分布式处理数据,现在有很多人说转专业,人工智能。其实它也是基于web网络开发,所以学好web,去衍生学其它的,才是最佳方式,如果我们学好Android和JavaWeb就好像学好了应用开发的一个完整的知识面,是一个完全的面,不管做什么开发,他是几维空间的面,都可以看到这个面的知识结构,对于一个程序员知识体系总结,都有帮助。所以建议成为一名全栈应用开发工程师。