V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
dearzhzhao
V2EX  ›  程序员

本人后端老研发,想请教一下前端的快速上手学习路线!感谢!

  •  
  •   dearzhzhao · 2022-07-14 10:24:07 +08:00 · 8293 次点击
    这是一个创建于 644 天前的主题,其中的信息可能已经有所发展或是发生改变。

    本人在刚开始工作前两年时,搞过前端的开发工作,当时更多的还是直接使用 Html + CSS + JQuery ,现在转眼间已经有 5 年没碰过前端了,一直专注于后端的研发工作。

    最近忽然想没事的时候开发个自己的 Web 网站,于是乎问题就来了,我是重新从 Html + CSS + JQuery 这一套入手呢,还是根据现在一直比较火的 Vue 来开发网站界面呢?

    主要考虑两个问题:

    1 、较低的学习成本就可以快速上手( HTML 这一套玩法虽然对我来说上手难度较低,但是用 HTML 开发真的感觉好慢啊)

    2 、网站可以被搜索引擎检索( HTML 直接开发的网站被检索没问题,但是听说 Vue 这种很不容易被检索?)

    前端这块整体见识面并不广泛,所以除了上述提到的 Vue 之外,还有没有其它学习成本较低可快速上手的开发语言?欢迎多多推荐哈!

    感谢各位 V 友!

    81 条回复    2022-07-16 08:49:06 +08:00
    CarrySHI
        1
    CarrySHI  
       2022-07-14 10:33:20 +08:00   ❤️ 1
    vue 很容易上手(所谓有手就行)基本三到五天就能开始干了,千万别再想 jquery 了,让岁月的长河冲走他吧
    scout479
        2
    scout479  
       2022-07-14 10:35:50 +08:00
    建议直接看 antd ,然后过一遍 react/vue3 的官方文档就行了
    dearzhzhao
        3
    dearzhzhao  
    OP
       2022-07-14 10:38:05 +08:00
    @CarrySHI 哈哈哈,/捂脸哭。真的有这么简单嘛,Vue 我看更多的是在做后端的管理系统,对于前端 Web 的界面开发,应该是要用 Vue 什么框架比较好啊。
    lisongeee
        4
    lisongeee  
       2022-07-14 10:38:19 +08:00
    0. 用 vue 或者其他声明式 ui 框架,jq 不敢苟同,光是`模块热替换`这个功能,vue/react 就是碾压 原生 jq 的开发模式
    1. 学习成本,见仁见智,不做评价
    2. vue/react 这类前后端分离的单页面网站都是动态 js 渲染,seo 确实搜索不到,想用 seo 可以上服务端渲染
    3. react/vue/preact/svelte 快速上手成本感觉都一样
    lisongeee
        5
    lisongeee  
       2022-07-14 10:39:24 +08:00
    ljsh093
        6
    ljsh093  
       2022-07-14 10:46:32 +08:00
    jquery 虽说过时了,但是有些老项目在用的也得懂点
    lujiaosama
        7
    lujiaosama  
       2022-07-14 10:48:30 +08:00
    vue+nuxt.js. react 上手成本还是比 vue 高一点的, 至少 es6 和 typeScript 得玩得转. jq 就别惦记了, 对自己好点.
    iXingo
        8
    iXingo  
       2022-07-14 10:49:22 +08:00
    建议 next.js, 很简单,而且 SEO 友好
    vincent441
        9
    vincent441  
       2022-07-14 10:50:27 +08:00
    +1
    alphardex
        10
    alphardex  
       2022-07-14 10:51:03 +08:00
    个人认为前端真正有趣的部分是动画交互
    试试从 three.js 入手,会大大激起你对前端的兴趣
    brader
        11
    brader  
       2022-07-14 11:04:49 +08:00
    为了个博客不值得,我都直接用现成的,除非你想转前端开发
    ryougifujino
        12
    ryougifujino  
       2022-07-14 11:05:07 +08:00
    需要 SEO 的话,学了 Vue 后直接用 Nuxt 就行了。
    zjsxwc
        13
    zjsxwc  
       2022-07-14 11:24:09 +08:00
    uniapp
    wu67
        14
    wu67  
       2022-07-14 12:33:30 +08:00
    能用的话, vue 上手最快. react 稍微有点门槛. ts 是大门槛, 我指跟同事协作(不是说 ts 不行, 是说人的水平不一).
    Rocketer
        15
    Rocketer  
       2022-07-14 12:41:49 +08:00 via iPhone   ❤️ 2
    后端出身的话,angular 最友好
    qdxb
        16
    qdxb  
       2022-07-14 12:43:08 +08:00
    如果你的网站页面交互逻辑不复杂,我建议你还是 Html + CSS + JQuery 。否则可以看一下 Nuxt.js 这个框架( https://www.nuxtjs.cn/),需要对 npm 、webpack 、vue 都有点基础,没有基础上手肯定没 jQuery 快,如果对前端感兴趣可以稍微了解一下。
    panlatent
        17
    panlatent  
       2022-07-14 12:50:19 +08:00 via iPhone
    建议有后端经验想上手前端,直接拿项目 /demo 去实践, 但同时也要深入看书、文档之类的,系统性学习,把知识和技能整牢靠了。
    beginor
        18
    beginor  
       2022-07-14 13:08:04 +08:00
    后端出身的话算是有一定编程基础的啦,angular 最友好,angular/react/vue 都看了一遍,最后还是 angular 最香!
    Bazingal
        19
    Bazingal  
       2022-07-14 13:11:04 +08:00 via Android
    同样推荐 angular ,别相信什么学习曲线,有 java/.net 经验的学起来简直不要太简单
    nzbin
        21
    nzbin  
       2022-07-14 14:06:58 +08:00
    后端研发还是推荐 angular
    terranboy
        22
    terranboy  
       2022-07-14 14:11:56 +08:00
    看 nuxt.js 看 2 就行了 千万不要看 3 。坑太多了 还不完善
    enchilada2020
        23
    enchilada2020  
       2022-07-14 14:12:11 +08:00 via Android
    jQuery 的 API 还挺直观的 光是猜也能猜个大概是在干啥 但命令式写 UI 可太蛋疼了 洋洋洒洒几千行 尼玛根本不知道谁是谁
    laolaowang
        24
    laolaowang  
       2022-07-14 14:14:17 +08:00
    vue + nuxt.js
    dearzhzhao
        25
    dearzhzhao  
    OP
       2022-07-14 14:15:23 +08:00
    感觉大家给的建议,扩宽了很多的视角!我会结合大家的回复先自行调研一下,并会将对应的结果,也同步回复在评论区!感谢大家哈!
    大家有其它建议也可以继续在评论区指出,感谢各位 V 友呀!
    enchilada2020
        26
    enchilada2020  
       2022-07-14 14:16:59 +08:00 via Android
    @alphardex 同意 写 UI 爽的地方在于实时反馈很强 眼见 UI 一点点完善起来 变得越来越好看 写完的东西看得见就很有成就感 跟纯逻辑巧妙的爽感不一样
    那看得见的部分最有趣的当然就是精美的设计 流畅的动画和交互体验了
    ifdef
        27
    ifdef  
       2022-07-14 14:18:52 +08:00
    用 vue3 ,很爽,需要 seo 的话,用 nuxt 的 ssr
    itning
        28
    itning  
       2022-07-14 14:28:30 +08:00
    先 vue 然后 angular
    peter520
        29
    peter520  
       2022-07-14 15:05:35 +08:00   ❤️ 3
    本人前端老研发,想请教一下后端的快速上手学习路线!感谢!
    luvxy
        30
    luvxy  
       2022-07-14 15:14:26 +08:00
    前端想问问后端怎么学,就想达到一个应付普通 web 项目的地步
    suyuyu
        31
    suyuyu  
       2022-07-14 15:23:38 +08:00
    建议 react (
    blless
        32
    blless  
       2022-07-14 15:37:56 +08:00
    后端就建议别拿后端经验去套 js , 还有先把阮一峰的 es6 教程看一下。。https://es6.ruanyifeng.com/ 本后端刚开始写前端都懵逼了,原生古早 js 跟现在的 es6 还有一堆乱七八糟的 es2005 2xxx 根本不是一回事。然后再去看 vue 吧。。
    说前端混乱我觉得不是没有道理的,html css js 每个项目用的标准都不太一样,html 还是简单的,css 有各种 less sass ...js 就是什么 es6 es2005 es2015 啥的。然后框架 vue react angular 啥的,加上各种 babel npm 开发工具。。虽然写起来都不太难,但是整个体系下来感觉就是太混乱了。。
    gdrk
        33
    gdrk  
       2022-07-14 15:38:28 +08:00
    @luvxy +1, 怎么快速学会 java spring boot 的 curd...
    blless
        34
    blless  
       2022-07-14 15:41:29 +08:00
    @peter520 @29 Go gin web ,别整什么 java python 这种语法糖多的语言框架,你写一半不懂才知道要还要学会各种语法糖封装的各种组件遭不住的
    wunonglin
        35
    wunonglin  
       2022-07-14 15:43:25 +08:00
    直接 angular
    laolaowang
        36
    laolaowang  
       2022-07-14 16:14:49 +08:00
    @luvxy
    @peter520 可以学学 go ,我也是前端,自学 go 玩玩,感觉上手容易一点
    sjhhjx0122
        37
    sjhhjx0122  
       2022-07-14 16:20:27 +08:00
    后端肯定 angular 啊,如果 angular 能上手了,看 vue 也简单了,再学学 vue3 的新语法连 react 也基本学会了
    gaocc
        38
    gaocc  
       2022-07-14 16:56:21 +08:00
    有 js 基础还是推荐 vue2 。
    vue 设计思想很国人,数据双向绑定和配置方式的编码入手很简单。
    vue 前端项目搭建也方便,下个 node ,然后 cli 一站式,了解下 webpack ,es6 的模块化,然后了解 http 请求 axios 工具,或自己用 js 原生的 fetch 。
    然后依赖个 element ui (UI 框架),剩下就是用 ui 组件和 html 搭页面,画样式,再用 js 处理逻辑,处理数据增删改查
    gaocc
        39
    gaocc  
       2022-07-14 16:59:26 +08:00   ❤️ 1
    最早也是 java 全栈,给你贴个我的书签项目:
    前端: https://github.com/mengguagua/tagcc-vue
    后端: https://github.com/mengguagua/tagcc
    数据库文件没放 git ,看代码可以简单参考参考
    yunyuyuan
        40
    yunyuyuan  
       2022-07-14 17:01:10 +08:00
    @terranboy #22 哪里坑?除了不能 full-static 外,都挺正常的啊,我都写了个博客了
    clf
        41
    clf  
       2022-07-14 17:05:54 +08:00
    我比较推荐 Svelte ,我之前是用的 vue ,后续也会 react ,但在开发自己项目的时候,最轻松的还是 Svelte 。

    当然缺点也相对明显,整体生态没另外两个那么多,但已经满足了大部分的需求了。
    gaocc
        42
    gaocc  
       2022-07-14 17:06:52 +08:00
    @luvxy 那看后端选什么语言
    java 的话先系统学 java 语言,基础一定是要扎实的,不然处理问题能力真的不会强。
    然后学 mysal 数据库,这个简单过语法和用法就行。
    然后 java 项目框架类,直接用 springboot ,框架类知识简单看官网文档就行,遇到就查,熟能生顺
    数据处理用 mybatis ,同上,框架类知识简单看官网文档就行
    然后网络相关,http ,nginx ,ip ,端口,云服务器这类知道是什么东西,在整个架构什么位置就行
    现在基本就理顺了
    前端项目 到 nignx 到 服务器 到 后端服务 到 springboot 到 mybatis 到 mysql
    基础 web 差不多就够了,其它为了性能和安全,什么 redis ,集群,网关,数据库主从等个人项目差不多可以放放
    Dogtler
        43
    Dogtler  
       2022-07-14 17:41:18 +08:00   ❤️ 2
    快进到 css 劝退。
    后端一生之敌
    catchecken
        44
    catchecken  
       2022-07-14 17:41:35 +08:00
    @dearzhzhao 作为一个前端开发者。不得不说一句,前面几十个回答都有点玩笑的味道,没有认真回答。

    我建议使用 jquery 就好了。不要使用 vue 、react 等现代前端框架。
    bxb100
        45
    bxb100  
       2022-07-14 17:43:36 +08:00 via Android
    @Dogtler 我刚想说这个,框架 js ts 什么都贼容易上手,就 css ,切图,3d 着实难搞
    xsqfjys
        46
    xsqfjys  
       2022-07-14 17:49:14 +08:00
    @catchecken
    这是为什么呀
    DamonLin
        47
    DamonLin  
       2022-07-14 17:59:11 +08:00
    我最近也在学前端啊哈哈,就是撸一遍官方文档,然后 github 找 vue 的项目,自己模仿( copy )一遍,怎么调用组件等等哈哈
    DOLLOR
        48
    DOLLOR  
       2022-07-14 21:16:36 +08:00
    别学 jQuery ,现在学 jQuery 除了维护老项目,没有任何意义。
    要么学用框架 React 、vue 开发,要么学直接用原生 Web/DOM API 开发,而不是 jQuery 这个不上不下的。
    terranboy
        49
    terranboy  
       2022-07-14 21:25:39 +08:00
    @yunyuyuan 写博客能看出啥来 useFetch 问题多了 深度使用了再说吧
    gowk
        50
    gowk  
       2022-07-14 21:36:06 +08:00
    Alpine.js + htmx
    nonduality
        51
    nonduality  
       2022-07-14 21:45:47 +08:00
    推荐 Alpine ,简单,差不多介于 jquery 和 vue 、react 这类框架之间。
    yunyuyuan
        52
    yunyuyuan  
       2022-07-14 22:16:18 +08:00
    @terranboy #49 所以问题呢?
    herorahmanhero86
        53
    herorahmanhero86  
       2022-07-14 22:22:54 +08:00   ❤️ 2
    别听他们吹牛逼:说什么 3-5 天快速上手 vue ,那都是扯淡的,有那本事怎么不去上天,在这里找什么存在感!
    vue/react 本质上需要的是 ES6 基础,这个才是关键。
    我个人偏向 react ,因为 jsx 写起来比较舒服,不像 vue 那么多死板规矩,记起来很烦。当然了: react 的 redux 的学习曲线,相对比较陡峭,毕竟 react 偏向于函数式编程,更偏重于设计思想。 在数据流管理方面,vuex 要比 redux 更容易掌握,vue 感觉更偏向于工程实践。
    总之 vue,react 各有优缺点,看你怎么选了。
    haha512
        54
    haha512  
       2022-07-14 22:25:30 +08:00
    如果 seo 比较重要的话,首选还是 html+css+jquery 这套,vue react 等虽好,但 seo 确实是问题,即便通过 ssr 费劲巴拉的搞了,效果比传统这套还是差很多。

    新技术 不是万能药,合适的才是最好的
    xiangyuecn
        55
    xiangyuecn  
       2022-07-14 22:42:28 +08:00
    如果能利用上对应的生态支持,用 vue 来写会很快。

    没有生态支持,比如特殊定制的功能(完全依赖不到现有 vue 支持的任何东西),很多时候原生 js 手撸开发速度完全可以干翻 vue 。

    ✅复杂页面:vue+生态
    ✅简单页面:手撸原生 js ❌vue
    ✅某些功能:手撸原生 js ❌vue

    jQuery 目前的作用不大,一个 document.querySelector 就能取代平常用到的 jQuery 的大部分功能
    terranboy
        56
    terranboy  
       2022-07-14 22:45:34 +08:00
    @yunyuyuan 看一下 issue 里有多少关于 useFetch 的
    dagger8224
        57
    dagger8224  
       2022-07-14 22:45:59 +08:00
    如果是自己快速搭建网站的话可以考虑下 https://daggerjs.org ,上手难度远低于主流框架。
    bxtx999
        58
    bxtx999  
       2022-07-14 22:50:55 +08:00
    svelte
    terranboy
        59
    terranboy  
       2022-07-14 22:51:05 +08:00
    没学过 react vue 的建议学 react , 首先 react 学会了 vue3 很快就会了, 其次 下一波即将流行的 streaming ssr, react server component 概念都是 react 提出的 ,vue 只有跟随的份
    KnightYoung
        60
    KnightYoung  
       2022-07-14 22:52:07 +08:00   ❤️ 1
    https://roadmap.sh/
    看这个吧,应有尽有。
    damowang777
        61
    damowang777  
       2022-07-15 00:24:59 +08:00 via Android
    1. Vue 是最低的因为你可以选择只学想用的也比较贴近 HTML+JS 。不像 React ,一套一套的,但你要是搞得明白其中的逻辑也挺容易的(比如最新的 hook ,让 state management 省心不少,不需要第三方,但原理有点复杂)

    2. 考虑搜索引擎的话,其实没框架什么事( React ,Vue 什么的),主要是看渲染方案。原生框架主要是做一页式程序( Single Page Application, SPA )。爬虫的资源很少,所以只会爬取在限定时间内加载的东西,SPA 通常都是在客户端加载( Client Side Rendering ,CSR ),所以爬虫可能还没加载完就走了,但可以局部静态(把重要的內容先 hardcore 到页面)或使用预加载(服务器加载 Server Side Rendering ,SSR )来解决。

    如果是部落格不用搞那么复杂,建议用静态渲染的方案( Static Site Generator ,SSG),Vue 有 NuxtJS, VuePress ,等等。渲染出来的就是一堆静态的 HTML+CSS+JS ,直接挂服务器就可以了,不像 SPA ,需要运行环境。SSG 的缺点就是每次写新的文章都必须 Build 和 Deploy 一次,当然可以靠 Github Action 或其他方案来实现自动化。然后另一个优缺点(?)就是根本不需要后端 哈哈。

    其实更直接一点用 Vanilla HTML+CSS+JS 先搭建在慢慢优化,到时候就明白为什么要用 SSG SSR CSR
    MartinAgerAdams
        62
    MartinAgerAdams  
       2022-07-15 00:25:43 +08:00
    https://www.freecodecamp.org 让全球无数人学会前端。
    wxw752
        63
    wxw752  
       2022-07-15 06:18:45 +08:00
    五年老 java 表示现在好像直接冲 vue3+antd 就行了,普通中小公司还是 vue 用的广啊。

    (话说下份工作我一定找个一点前端都不写的)
    chenyu0532
        64
    chenyu0532  
       2022-07-15 07:17:23 +08:00
    本人老客户端,求楼主推荐后端学习路线。。
    MEIerer
        65
    MEIerer  
       2022-07-15 08:06:22 +08:00 via Android
    @alphardex 你这是⭕️退 OP 啊
    klo424
        66
    klo424  
       2022-07-15 08:18:48 +08:00
    同为后端,上手推荐 angular/react ,不推荐 vue ,因为 vue 跟后端固有思维不太符合。
    darknoll
        67
    darknoll  
       2022-07-15 08:42:40 +08:00 via Android
    都在玩你呢,建议学 react
    hoopan
        68
    hoopan  
       2022-07-15 08:46:58 +08:00
    我也是后端,之前学过 vue ,确实很简单,一周差不多了,再找个 vue 的简单项目,简单看下就差不多了
    xqk111
        69
    xqk111  
       2022-07-15 10:05:34 +08:00
    @alphardex 人家只是单纯想写个页面
    alphardex
        70
    alphardex  
       2022-07-15 10:06:41 +08:00
    @MEIerer 并不是,OP 完全可以无视我的意见听取大多数人学“后端式”的前端,当然如果真正想学前端的话,CSS 和 WebGL 是必经之路:)
    idragonet
        71
    idragonet  
       2022-07-15 10:19:17 +08:00
    VUE 为后端准备的前端!
    libook
        72
    libook  
       2022-07-15 10:50:06 +08:00
    这些年来,浏览器上出了大量新的 API ,jQuery 的绝大部分功能都可以用原生 API 替代了,你可以搜一下 You might not need jQuery ,了解了这些 API 之后,有些时候不用任何框架直接手撸页面也挺方便的了。

    前端知识和后端知识有个不同的地方,后端通常比较成体系,而前端知识比较分散,在我个人看来没啥捷径,只能把所有的文档(推荐在 MDN )看一遍,很多时候解决问题的关键信息就在文档的一些边边角角里。

    用框架的网站 SEO 有问题通常是因为页面是前端渲染的,搜索引擎抓下来的 HTML 里面没有有用的信息,只有在浏览器里加载运行 JS 才会渲染出来,这块可以看一下 Server-side rendering (SSR)。

    求快的话,可以找一些现成的网站系统代码拿来改,或者找些大而全的脚手架再自己往里面填内容。
    cxsz
        73
    cxsz  
       2022-07-15 10:53:04 +08:00   ❤️ 1
    @gdrk #33
    https://www.imooc.com/learn/933 慕课网的这个免费课还是不错的,基础的项目怎么运行、打包,分模块啥的都有了。

    curd 的话,基本就是写 xml 拼接 sql(mybatis),然后 dao 层调用,server 层调用 dao 层处理一些基础逻辑(分页啥的),然后 controller 写业务逻辑(接口),最后 aop 做一些统一的参数验证、加解密、日志记录啥的,filter 可以做登录鉴权之类的。

    上面那些封层是我比较习惯这么写的,也可以不分,直接一把梭,具体公司的项目,还是看公司组内其他人怎么写或者原来的项目结构是啥就用啥。

    数据库操作还有 jpa ,实际用起来和 mybatis 各有特点吧,jpa 个人觉得阅读性差,不好调试,但用 mybatis 的项目复杂了 xml 也看着头疼。
    tEgRaT
        74
    tEgRaT  
       2022-07-15 10:57:55 +08:00
    可以看看 freecodecamp.org ,有从浅入深的不错的前端学习线路,涵盖了前端的常用库和框架。
    MEIerer
        75
    MEIerer  
       2022-07-15 12:27:58 +08:00 via Android
    @alphardex 为啥这么说,css 我理解,webgl 是属于另一层了吧,gl 传统业务也用不上
    alphardex
        76
    alphardex  
       2022-07-15 12:55:34 +08:00
    @MEIerer 前端并不是只有传统业务,还有一种方向叫 creative coding ,多用于游戏、3D 、数据可视化等领域,如果不感兴趣也不能强求,老老实实学最基本的框架吧
    heng1025
        77
    heng1025  
       2022-07-15 14:33:42 +08:00
    前端快速上手项目集合 https://github.com/1r21
    sky857412
        78
    sky857412  
       2022-07-15 15:07:10 +08:00
    后端学习,建议 react ,react18 学会 useRef ,useState ,useEffect 就可以干活了,vue 的话还要学习很多语法糖
    MEIerer
        79
    MEIerer  
       2022-07-15 18:13:35 +08:00 via Android
    @alphardex 我当然知道,我是想说,OP 不是只想做个普通网站吗
    inhons
        80
    inhons  
       2022-07-15 18:28:14 +08:00
    SvelteKit

    新教程没做完,有兴趣可以试试: https://learn.svelte.dev
    l4ever
        81
    l4ever  
       2022-07-16 08:49:06 +08:00
    后端+jQuery api 调用工程师.
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5221 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 43ms · UTC 09:17 · PVG 17:17 · LAX 02:17 · JFK 05:17
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.