前后端分离,是目前Web开发的主流模式也是趋势。而Java无疑是后端开发的王者(一条彪壮的鲶鱼,不知道吃什么长大的),PHP和.NET目前仍处于水深火热之中,更像是在夹缝中求生存,因为没办法和Java正面硬拼(假设Java部队有100w人,而PHP或者.Net部队可能只有十几万人,而这些人分散在各个IT公司)。大前端呢,最近几年发展很快,属于不断崛起的新势力!Java+大前端这一强强组合,面对其他没有前后端分离的竞争者,可以将其按在地上使劲摩擦(没别的歧视的意思,夸张手法,打个比方,就像Java部落有100w人,前端部落也100w人,其它一个部落可能才十几万人)。
PHP要生存,怎么办?不断的往H5移动端靠,不断的往所谓的全栈靠,让其作为一些前端开发人员的全栈补充技能,甚至有些公司的PHP程序员被要求掌握Python。全栈,很多时候变成了“全干”!许多公司为了节约成本,希望一个人可以干几个人的活,可是一个人是一个进程,让一个人开多线程去VS多人多进程?
.Net要生存,怎么办?开源、舍弃.net framework,推广新框架.net core,跨平台并大力推广,…可是国内的互联网公司们都不愿意冒险,不愿意摸着石头过河,而是希望有现成的经历过时间考验、市场验证的成熟技术方案…尽管相比于之前,微软算是给了很大的诚意,可是许多公司的决策层认为,选择这个会不会犯下技术大方向的错误,他们或多或少的从某些地方或者某些人口中会听到XX技术栈是目前比较主流的,有很多成熟解决方案和案例,然后他们表示再看看,观望一下…
其它的后端开发语言如果不和前端进行联合,在面对Java+前端的组合时很难对抗。(假设Java部落100w人,前端部落100w人,Python部落80w人,PHP部落和.Net部落、Android部落、IOS部落等等各20w人),在谁也没有比谁先进多少的情况下,人数和战力往往成正比。不管你是用什么语言做web开发,只要不拥抱大前端,就很难和拥抱了大前端的对手拼。Java就像一条不安分的鲶鱼,每次它突然出现在公司,都会感到一丝威胁,它似乎带有侵略性,一开始可能还能和你和平相处,当你放松警提时,可能会想方设法吃掉你或是把你赶出领地。有人的地方就有江湖,有江湖的地方就有派系,公司也是如此。
前后端分离后,不管你后端用Java也好、.Net也好,PHP也好,前端代码都可以不用动,后端是什么技术栈的项目都可以对接。不管是Java、.Net、还是PHP或是其它的,如果不做前后端分离会是很糟糕的,因为现在的界面需求越来越复杂,越来越追求用户体验,尤其是移动端,更是如此。前后端代码糅合在一起想要改造升级非常困难,前端人员很难帮得上,因为要看懂部分后端的代码和后端常用的视图引擎,前端的组件化和模块化也无法和具体业务进行很好的分离。
前端的兴起,搞得Android和IOS原生开发也失去了往日的辉煌,以前还有WP(一个坑程序员的技术,我当时还买过wp10的诺基亚手机,最终因为只能看mp4格式的视频(其它的软件要付费),无法点外卖、无法打车、无法用支付宝、微信无法支付…我愤怒而又绝望的扔到了河里),不管什么技术,没有人用,没有开发者、没有用户,你说它一文不值也不算太过分,因为技术是第一生产力,而前提是要给社会创造它应有的价值。做程序员也一样,你掌握的技术再牛逼,没有人用,就你一个人孤芳自赏,也是枉然!价值衡量的一个最粗暴的标准:就是用户数和影响力。通常技术影响的用户越多,影响面越广,它给社会带来的价值越大。
前端的发展,真的要感谢微软、感谢.net、感谢后端。为什么这么说?在WPF和Siverlight出现之前,前端根本就没有什么所谓的MVVM(vue 、react、 angular)。前端不断的在借鉴(抄袭)后端的架构、设计思想、语法和框架。而node.js的实现,让这一切抄袭变成了可能。看看现在css(less、sass 、scss、stylus)和js(typescript、ES6+)等都和C#、Java这样的高级语言一样要先预编译,也有了封装、继承、多态、组件化、模块化的概念,如此一来重前端的发展也逐渐成为可能,要知道这些东西,以前都是后端高级语言的专利。
作为一名普普通通的开发者,说什么大道理都没什么用,我们首先得考虑生存(稳定的工作和收入),面向RMB编程,其次是考虑做的东西是否有意义(对社会有贡献)。我们只是单纯的在互联网的大浪潮中生存,在其中分一杯羹,然而适应时势而已,因为我们是普通人。当然也不排除会出现一些可以左右互联网浪潮,英雄造时势的人物。
技术人员:时间投入=》技术回报=》金钱回报。回报率??
简单识别XX技术或者XX框架火不火:GitHub上搜一搜,看看星星数;求职网上走一波,瞧瞧职位数。
社会很残酷,互联网的竞争很激烈,所谓物竞天择适者生存。不要扯什么情怀,能当饭吃否?市场决定一切!在Web领域,移动端的快速崛起,PC端也逐渐显现其发展的疲态,不管我们愿不愿意接受这一事实。
我们先来看下目前前端可以做什么?
前端就业方向及相关技术栈
世界在变化,时代在发展,技术在革新!那个曾经会js、jquery和切图、会java三大框架,会用.net拖控件和.net mvc,会用php开发网站就能在web领域混饭吃的年代渐渐远去了,各种技术都在不断更新和发展,与时俱进,才能走得更远!
那些说什么互联网做web开发门槛低啊什么的人,要么自己是天才,要么自己不懂!那么多东西要学个不停,低吗?所谓的门槛低,是指学历低吧?不持续学习就很容易out,这年头,做程序员真不容易?每年多少互联网从业人员被浪潮吞没?一些人被逼跳楼了,一些人被逼猝死了,一些人被迫转业了,一些人还在互联网的浪潮里苦苦挣扎,还有一些人却成为了弄潮儿(这里,我解释一下,这指极少数技术出身后来成为大佬的领军人物,互联网大佬多数都是技术出身)…
当我不知道下一个风口在哪时,我选择赶往现在的风口,当然,前提是你得有这样的机会…
后记(个人经历):曾经我是一名.net铁粉,有多铁,直接跟公司摆明态度:你要是敢抛弃.net,我跑路给你看!结果公司:你不转就给我滚蛋!发觉我把.net当成情怀和信仰,经历N次跑路后,我待过的用.net技术的公司,现在都变成java技术栈了,若问待过多少家公司,依稀记得两位数…唯一在一家公司待满了两年,却是因为被迫转前端了(摆在面前三条路:1.再次跑路,继续做.net;2.去做前端;3.去转java),我终于妥协,我做前端还不行么?不管你以后后端换啥都和我没关系,我开始不再像年轻时候那样倔强和固执,否则换得公司会更多,奔四后就想开始寻求稳定…当时的感觉就是这样,永远不知道公司哪一天会突然转java(我也不知道为什么不是转其它的,反正我待的公司都是这样子,其技术组合无外乎就是Java做后端接口,然后前端分离,这样简单直接的方式,和PHP互不侵犯不一样,Java更像一条鲶鱼)!一开始我怀疑是公司的问题,所以几十人、几百人、几千人、几万人的公司我都换过,可后来发现结局都一样:某一天它们居然跑去搞java了,不愿意转java的我只能不断跑路…经历过N次跑路,我终于明白Not only .Net,做技术不止.net这一条路的。
公司要技术转型总会抛出一些危险信号:1.原班技术人马被撤。2.新引入其他技术(JAVA)的架构师,并扩大技术队伍。3.你所在的技术团队招人困难,规模缩减(其它技术团队在扩招)。通俗的理解就是:磨已卸好,驴安在?
再次申明:本文,只是作者个人观点和经历描述,并没有呼吁大家去学xx,转xx,大家都是成年人,有自己的思想和辨别能力的,我就是一个摇旗啦喊的人,也没有收人家钱!有不同观点的意见的也欢迎留言评论!O(∩_∩)O哈哈~毕竟我们都没有拿人家钱来当水军…
温馨提示:转技术有风险,在学有余力的情况下,多掌握一门技能是可以的。而每个人时间精力学习力都是有限的,如果公司要换技术,要么走,要么留,留就快速掌握公司要用得技术,并去钻研它,走,就继续做自己熟悉的技术。就跟你买股票买大盘和小盘一样的,买大盘还是小盘都可以。没有说做java一定很好,我有个大学同学一直做java,干垮的公司不下10家,总共换过二十余公司比我做.net时换得还多…
下面这段本来不想说,可是许多.Net程序员,认为我刻意去踩.Net,我就补充说明一下:
Java目前形式比人强,大多数公司的架构师都是Java技术栈的人,其实我恨Java,但是又不得不接受它,我花了那么多时间学.net,本来做.net做得好好的,它突然跑出来破坏了公司的技术生态,搞得我现在又要重新学其它的东西,我不是学习狂,谁不想好好玩,都是没有办法逼自己,是被国内的互联网公司逼的,被Java这样的鲶鱼逼的。可是谁不知道会不会某一天突然又出来新的XX,把Java给吃了,我期待着…
根据惯例,文章中只要提及某一门语言,哪怕说一丁点不是就会引来骂声一片,为此我郑重声明:PHP是宇宙最好的语言!.net神通广大,战无不胜,.net法驾中原,仙福永享,寿与天齐! Java NO.1。
纵观历史,很少有某一样东西一直形势比人强,如楚汉之争,国共之争,一时的兴衰并不代表未来!我并没有刻意贬.net,.net兴对我百利而无一害,看不起.net的恰恰是发工资的公司老板和决定我们薪资的公司决策层们!看不起.net的是那些线上线下的培训机构和大学(它们不开课),看不起.net的是那些找我做项目的客户,他们一听说我用.net做项目,就带着疑问的语气和我交谈…许多人可能没有经历过,不清楚其中的辛酸,可是这些我都经历过(去面试、去讲课、去谈项目、去推销书都有遇到这样的问题…)…我甚至曾经因为公司不用.net,跟公司领导干过架,跟公司java架构师干过架,当然,结局肯定是犹如小怪兽打奥特曼,被虐得不要不要的……这是我的经历和感触,可能是我运气不好而已,我也不怨天尤人,吐槽归吐槽,生活还是要继续~环境每天都在变化,改变不了环境,就努力适应,不把自己固定和局限在某一个技术领域。多年后,我在领英上发觉当年公司一些只会.Net的微软哥现在好多其它技术都会了(虽然人现在依旧在微软就职),时代在变,人也在变…我挑一位来看下他领英上的技能图,这位是我以前公司的上司,曾经的.Net超级粉(已就职微软10年),我的感觉就是Not only .Net,如下:
这些不是我臆想出来的,不信可以看看一些培训机构官网开的课程,培训机构是以市场需求为导向的,同以往相比课程上新增了Python,H5,新媒体短视频运营,UE,产品经理,影视制作,智能机器人。撤掉了平面,Android,IOS,.NET课程,如下图所示:
我只是把自己以前做.net时的经历说出来,不是每个人像我一样那么运气差的…是不是我的表达有什么问题?为什么都说我是在说Java多好,.Net和PHP如何不堪呢?感觉很多人误解我要表达的意思,所以我只好不断修稿…
是不是我把图文中所有java全部换为.net就可以了?做过.Net都知道,Java的东西加一个.net或者N就行了,额…我想想,诶?PHP程序员何在?为什么没有PHP程序员喷?文中明明说到了前端、PHP、Android、IOS,为什么大家只看到Java和.Net?就因为我之前做过.NET和Java吗?可我也做过前端啊!对此,我表示不服!这应该不是我的表达有问题,是一些开发者先入为主带有偏见在阅读?还是一些人脆弱的自尊心,让其不愿意面对和接受残酷的现实?
好吧,下次我出版一本《Spring Boot 21天入门到精通》、《你必须掌握的PHP》,去毒害Java、PHP程序员,最后来一句:对不起,我是卧底!要不是合作人中途撤场,现已出版!O(∩_∩)O哈哈~
说明:本文仅代表个人观点!不一定正确!以上图片均从传智播客官网转载!
写这个博文连包白沙都没有,若拿这些字数给出版社换稿费,还可以换两包和天下,本来就是嘛!至于吐槽我.net书写得烂的,我认可,可是国内技术书写得比我烂的多了去了,说最烂的书和一文不值的垃圾,我就不认了,多数读者能受益就有价值,一本书不可能满足每一个人,《圣经》也会有人觉得是垃圾,一样的道理么。出版社和读者都不傻,如果真烂得那么夸张,一本.net技术书也很难六次印刷,不是么?至于说发博文的都是半桶水的,我也认,我本来就是一个普通的开发人员,又不是什么大牛。如果都是大牛,然后都不发文章,会怎么样?
如果觉得我写的毒文章辣到了您的眼睛,对不起,请直接无视它,忘记它,文章内容不代表事实,你可以看成是故事。越来越少发文章了,因为发得好还好,发得不好,会被喷死,喷就算了,最重要的是居然还没钱,所以更愿意把时间都拿去学习、写稿、做私单换钱去了…
技术行业要不断地学习,学习肯定不要孤军奋战,最好是能抱团取暖,相互成就一起成长,群众效应的效果是非常强大的,大家一起学习,一起打卡,会更有学习动力,也更能坚持下去,欢迎大家关注我的公众号【老黑说java】专注分享SSM、Spring全家桶、 微服务、MySQL、MyCat、 集群、分布式、中间件、LinUX、网络、多线程,偶尔讲点运维Jenkins、NexuS、Docker、ELK。