前端发展很快,现在的前端已经不止前端了,做后端的如何发展?

2018-11-27 09:51:54 +08:00
 jingyulong

最近一段时间都在关注开源,开源也是现在的趋势。可以从 GitHub 上的项目看出。

在 GitHub 上看到很多 Start 的项目都是前端项目,而且利用前端可以做很多事情,比如 Electron 已经可以使用 JavaScript, HTML 和 CSS 构建跨平台的桌面应用了。利用前端的技术可以实现很多现实当中的需求,这在前几年来看是根本不可能的。

11691 次点击
所在节点    程序员
91 条回复
gongzili456
2018-11-27 16:53:53 +08:00
很多外行人喜欢使用前端,后端来描述程序员,我认为那是他们不懂这个群体。很多程序员自己也习惯使用前端或后端程序员来给自己定位,我认为这是给自己设限,是在自己的舒适区周围筑起高强。我认为只有解决问题的程序员,没有只解决一类问题的程序员。
pockry
2018-11-27 17:18:47 +08:00
说个题外话,我现在有个点很奇怪,JS 拓展领域很快,但为什么连个好用的爬虫框架都没有,目前说爬虫,最多的还是 Python Scrapy,但明明 JS 更适合做这事啊,解析 html、json 都是天生具备的,抓动态页面也必须要 phantomjs 或者 headless chrome 啊,有的还要 JS 模拟登陆啊,为啥到现在还干不过 Python 呢?
连爬虫都写不好,用 JS 做后端开发我觉得是想多了。
jsun
2018-11-27 17:47:39 +08:00
术业有专攻,一个人不可能精通所有领域,前后端还有各种框架,算法,数据库优化,底层渲染优化等等,随着系统的复杂性,工作细分一直都是一种趋势。
xnby
2018-11-27 17:54:32 +08:00
前端做后台的难度比后台撸前端代码难多了
passerbytiny
2018-11-27 18:03:47 +08:00
本段比较长,建议先看到底。

如果你要说是上层开发,那么前端吃掉后端是必然的,也是合理的。随着分工更细化,Java 和 C#,已经不再定位成全栈语言了,以后可以更专注于中层和底层的开发。

先说一下我理解的开发层次:
上层,主要是客户端、终端或者人机交互界面,另外也包括直观数据的增删改查、简单文件操作等,基本都是可以看见的(或者简单的说,就是非程序员——例如画图经理——也能告诉你要干什么的)
中层,数据建模、业务处理、工作流等等,基本都是不可见的,小规模程序基本用不到;
底层,语言、算法、通用(例如 Apache Common、Hibernate、Netty )工具等等,基本都是业务无关的,可见但是仅黑盒可见。

本着简化开发的目的,上层使用的技术应当是单一的,最好是所见即所得的。这一点以前的 PHP ( HTML+脚本)就很好,JavaEE 带了歪路,ASP.NET 跟着也歪进去了。(请注意,此时 PHP,以及只用来做增删改查的 JaveEE、ASP.NET ,都算作前端)现在只不过是 ES、TS、Node 等,替换掉了他们,并没有实质性的变革。JavaEE 原本的目的也是简单化——单一语言就跨平台的提供页面展示、数据模型、业务处理、底层工具等全栈功能,然而现实很骨感,大杂烩吃力不讨好,最终还是被抛弃了。

回到楼主说出来的现象和两个问题:
star 多,并不代表总体高。例如:富士康员工比苹果多,并不表示富士康赚的比苹果多。而且本身你也没给出来数据,受主观观点的影响,star 多这个结论也不一定对。
前端的技术肯定能做出复杂的应用,然而能做不代表就要用他。技术选型的唯一标准是好不好做,“能不能”是必要条件,但永远也不会是首要条件。
前后端压根就没有过界限。以前 PHP、JSP、ASP 开发要从 HTML 到数据库通吃,以后上层开发也要从 JS 到数据库都通吃,现在只不过是个过渡阶段。

楼主眼里的“后端”,肯定是要消失了,要么转为上层开发,要么深造后转成中层开发。不过,最大的可能还是转成管理或者转行。
keventseng
2018-11-27 18:21:26 +08:00
总有专攻的地方~~~知识点越广越好,但是保命技能还是专攻吧。
tailf
2018-11-27 18:32:31 +08:00
前端才是没什么发展的岗位,后端能够随着公司业务不断发展,不停涨薪。前端的可替代性强。
SoulGem
2018-11-27 18:35:38 +08:00
前端圈真乱:doge
supuwoerc
2018-11-27 19:50:41 +08:00
不敢说话(前端
jingyulong
2018-11-27 20:02:43 +08:00
@Neojoke 最近看的书是过去的好多倍,对于你说的这些话也深有感触。学习的确是一个不断发现问题,不断解决的过程。而且要有可以量化的目标,朝着目标努力的同时,不断的去改进。如果以前多看点书,或者早一点有人跟我讲这些话,其实可以少走很多弯路。唯一能做的就是把以后做的更好。共勉💪🏻
jingyulong
2018-11-27 20:06:24 +08:00
@YenvY 我也是学术探讨,不想引起语言之争😂不管你说的再小心,也无法避免的,鄙视链摆在这里
jingyulong
2018-11-27 20:08:20 +08:00
@sethverlo 这个星星是啥意思
azh7138m
2018-11-27 20:20:46 +08:00
@trait office online 虽然跑在 web 上面,但是比一众桌面应用强不少了,还有那个 Auto CAD 的 web 版本
sudoz
2018-11-27 20:27:25 +08:00
妄言 js 一统天下,前端取代后端的,说明对后端的了解还停留在 CURD 上
jingyulong
2018-11-27 20:28:56 +08:00
@passerbytiny 老哥的开发层次很有见解。我想问的也是这个,而且很赞同你说的技术选型逻辑关系。每个语言肯定有它的使用场景,定位也不同。在某种程度上,是现实中的需求决定者技术的发展规模及应用。你说的结论也很中肯,我觉得我会选择往中下层走。谢谢你。

另:一般程序员所说的到一定年纪就有瓶颈,要转管理或者转行这个观点我是非常不赞同的。现在的人功利心太强,而少了静下心来做事的人。工作和事业还是有很大区别的。
karllynn
2018-11-27 20:30:32 +08:00
问这个问题就是没水平的一种表现
66beta
2018-11-27 20:31:23 +08:00
说出来可能不信,我司 Java 基本就是 CRUD
而且一般来说 Java 工资都比前端高,只恨当初站错队苦(TT)
jingyulong
2018-11-27 20:50:11 +08:00
@karllynn 不想引起争议,如果有什么建设性的意见,欢迎提出。
jingyulong
2018-11-27 20:54:51 +08:00
@66beta 不讨论技术,讨论职业发展,没有永远的”站错队“,比 CRUD 做的更多,就有更多可能性。
66beta
2018-11-27 21:11:24 +08:00
@jingyulong 道理大家都懂,我只是说说真实的环境,夸张得说 99 %的码农就是流水线工人,项目架构工具智能化一点,可以淘汰掉一半人
不会 Java,但我有信心我去写不会比他们差,其实我也正在谋划把 API 层先接过来...

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/511818

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX