2024 该学前端还是学后端?
- 现状分析
- pragmatic-drag-and-drop
- 后端开发
现状分析
对于这个问题,个人作为Java后端开发者,那么当然是比较熟悉Java后端开发,从这么久的工作体验来说,因为个人也是比较熟悉Java后端,因此推荐大家学后端。当然,在日常工作中也不是一点也不接触前端,前端技术也还是需要一点的。比如前端页面基本的css样式、js、html、themleaf、ftl、jquery、bootstrap等。日常工作中前端设计以及前端页面也不是那么人手充足,大部分的后端管理页面也还是需要我们这些后端开发者自己来搞定的。就像这样的页面
不能说简单,但是也不能说很简单,总之,对于一个Java后端开发者来说,还是需要费点力气的。
当然,也正是由于自己是Java后端从业者,所以对于在前端的一些技术了解的不深,投入的时间不是很充足,比如 Node.js、vue.js、模块化、小程序等。这些往往是后端开发者的弱项。从目前TIOBE官网的数据来看,Java语言依然是占据前几的编程语言。大家感兴趣的可以自行去TIOBE地址查看:https://www.tiobe.com/tiobe-index/
pragmatic-drag-and-drop
下面个人从后端开发者的角度来了解一下这款关注性能,用于增强前端用户体验的拖放库 pragmatic-drag-and-drop ,可以说截止到发文的一周前也是刚刚了解到这款前端拖放库,然后查阅了一下官方文档,看到了官方文档中的一些实例,觉得确实比较强大,适合我们这些不太懂前端的后端开发者来操作,我带大家看一下这款前端拖放库如何好用,官方文档地址:https://atlassian.design/components/pragmatic-drag-and-drop/examples/
基于官方网址的 examples 来看pragmatic-drag-and-drop 支持
List
Board
Grid
Table
Tree
File
Drawing
Resizing
Virtual
可以说相比其他同类开源库,它支持更多的场景使用。另外从示例的操作体验上也比较流畅,有利于提升用户的体验,Github源代码库的地址如下:https://github.com/atlassian/pragmatic-drag-and-drop 大家有需要的也可以自行去下载体验
后端开发
那么下面再来聊聊后端开发的感受,可以说,作为后端开发,或者说作为Java后端开发来说的话,个人最大的感受就是后端开发可以有更多的精力去关注业务的实现,对于复杂业务逻辑的梳理,以及复杂算法或者是巨大sql的书写及性能调优等各个方面,可以说处处充满着挑战与成长。会让你在不知不觉之间技术能力获得提升,同时再每一次的处理问题或者说攻克难题时的成就感也是满满的。另一方面也会影响到你的自信力,会让你在痛苦与挫折的挑战中,不断成长,更加充满自信与耐力。
从这些方面来看,个人就比较推荐学后端。当然,这里也不是说前端开发就没有挑战没有成长。而是个人对于前端技术或者说前端可能会遇到的各式各样的问题场景不了解,当然,如果你喜欢设计,喜欢让你开发的系统变得更美观,前后端交互更流畅,那么也是同样推荐学前端的。整体来说,2024年,该学前端还是学后端,这个问题,取决于作为技术人的你自己。
关于Java后端相关的技术,下面简单说一下日常工作中或多或少会接触到的。
后端框架:Spring Framework,Spring框架包括Spring Core、Spring MVC、Spring Data等;Hibernate框架;Struts2框架;Spring Boot框架;
数据库:关系型数据库包括 Mysql、Oracle、DB2、SQLServer、DM等;非关系型数据库包括 MongoDB、Redis、Elasticsearch、Memcached等;
中间件:消息队列(MQ) 包括 RabbitMQ、Kafka、RocketMQ等;
容器技术:容器运行技术是容器技术的核心部分,负责容器的创建、运行和管理,包括 Docker 等;容器编排技术,随着容器化应用程序的增多,如何有效地管理和调度这些容器成为了一个挑战,包括 Kubernetes、Mesos和Swarm等都是知名的容器编排技术;
开发工具:包括 IntelliJ IDEA、Eclipse 等,个人推荐使用 IntelliJ IDEA ,插件丰富,功能比较强大;
版本管理工具:包括 Git,SVN等。
以上列举的只是日常工作中用到的Java后端相关技术,其实还有更多的技术,包括现在的通义灵码、文心一言相关AI编程,总之个人推荐学后端,后端的技术体系更全面丰富一些。大家觉得呢?