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

成为一个前端到底需要掌握多少技能?

  •  
  •   lovesan · 2018-10-16 09:06:00 +08:00 · 13325 次点击
    这是一个创建于 2232 天前的主题,其中的信息可能已经有所发展或是发生改变。

    写了 6 年后端了,一直想转前端,没去过大厂不知道大厂的前端都什么样,就是跟我合作过的前端我看他们好像啥都会啊。PS AI HTML CSS js PHP 还有一大堆的前端框架,前端都这么可怕么?? 作为一个后端,我只要学 JAVA/C#然后再学习下常见的框架什么的,像 java SSH、.net MVC 这种,在没有 DBA 的时候保证自己会用数据库,会做简单的存储过程之类的东西就好了。 有没有后端转前端的出来给传授下经验?这些东西我觉得要全学会也太难了点吧。。

    65 条回复    2020-07-02 18:30:31 +08:00
    90928yao
        1
    90928yao  
       2018-10-16 09:08:45 +08:00
    前端不是简单的一笔,掌握 js,掌握 css 不就行了 [狗头]
    galikeoy
        2
    galikeoy  
       2018-10-16 09:10:21 +08:00
    你说的这些还好吧
    galikeoy
        3
    galikeoy  
       2018-10-16 09:12:14 +08:00
    @90928yao 其实 css 深入挺难的[狗头]
    geying
        4
    geying  
       2018-10-16 09:14:23 +08:00
    不是 div + css ?
    murmur
        5
    murmur  
       2018-10-16 09:14:38 +08:00   ❤️ 1
    css 其实真的挺难的 不要以为 css 就是简单
    css 动画那部分也是属于 css 而且在不是特别分工明确的公司里 拆解动画和模仿竞品也是你的任务
    有的时候你拿到的不是个完整的设计稿 就是老板说这个好炫酷你也做一个把 甚至你可能看到的就是个视频
    waising
        6
    waising  
       2018-10-16 09:15:02 +08:00
    后端才是大啊,学都学不完,前端是变的快啊,跟不上节奏啊
    xcjx
        7
    xcjx  
       2018-10-16 09:15:11 +08:00
    6 年后端 转前端......

    大哥,我想问你 后端你到底是干着不开心 还是 觉得没前途?
    orange1
        8
    orange1  
       2018-10-16 09:15:47 +08:00   ❤️ 3
    学个主流 vue 全家桶,加个 node.js ,理解 MVVM 双向值绑定,脏值检测。jquery github 已经弃用,原生 js,ES5,ES6 这些必须。bootstap 响应框架。有兴趣就学多个 WebGL,three.js 3D 这一块。加油
    TomatoYuyuko
        9
    TomatoYuyuko  
       2018-10-16 09:18:17 +08:00   ❤️ 3
    基础三板斧,js 看到 es6 就够了,jq 应该会吧,三大框架掌握一套,工程化的东西做一下试试看,webpack 一把梭。
    css 了解下常用的框架学学做栅格,各种属性骚操作照葫芦画瓢都尝试下做个页面玩玩。
    差不多初级前端没问题了吧
    fhefh
        10
    fhefh  
       2018-10-16 09:19:06 +08:00
    可以看看爱前端的视频

    https://www.yunpanjingling.com 用这个搜搜~
    shintendo
        11
    shintendo  
       2018-10-16 09:24:17 +08:00   ❤️ 1
    LuffyGu
        12
    LuffyGu  
       2018-10-16 09:25:12 +08:00
    Ctrl+C, Ctrl+V
    maichael
        13
    maichael  
       2018-10-16 09:30:20 +08:00
    前端其实现阶段的框架大同小异,React、Vue、Angular 三个之中掌握一个就够了。

    最基本的还是要掌握 HTML+CSS+Javascript。然后就是一些工程化的工具,Webpack 之类的。最重要的还是前三者,Javascript 你有后端基础,不难,避开一些坑就好。前两者的学习曲线是入门无比简单,深入简直深坑。

    当然,这是在不谈历史包袱的情况下,如果加上历史包袱的话就会麻烦很多。
    print1024
        14
    print1024  
       2018-10-16 09:37:28 +08:00
    作为一个合格的程序员首先要掌握数据结构和算法,计算机系统,TCP/IP 协议,常用框架的源码阅读,英文文档阅读能力
    jin5354
        15
    jin5354  
       2018-10-16 10:09:58 +08:00   ❤️ 1
    老夫写代码 就用 jquery !
    sogood
        16
    sogood  
       2018-10-16 10:11:11 +08:00
    wizardoz
        17
    wizardoz  
       2018-10-16 10:19:41 +08:00
    后端程序员是学不会 css 的
    kidult
        18
    kidult  
       2018-10-16 10:21:38 +08:00
    就适配的问题就可以把后端搞疯
    ZZITE
        19
    ZZITE  
       2018-10-16 10:34:15 +08:00   ❤️ 1
    我见过被 CSS 逼疯的后端。
    jun0205
        20
    jun0205  
       2018-10-16 10:37:30 +08:00   ❤️ 1
    可以看看 2018 React 开发线路图

    https://github.com/adam-golab/react-developer-roadmap
    dd0754
        21
    dd0754  
       2018-10-16 10:39:02 +08:00 via iPhone
    为什么要想不开
    xinzhognyi
        22
    xinzhognyi  
       2018-10-16 10:41:37 +08:00
    @wizardoz 不是吧,我就是个 java 后端。简单的 css 样式和动画可以写。复杂的就怂了。学不会就有点夸张了。
    Raisu
        24
    Raisu  
       2018-10-16 10:50:25 +08:00
    我感觉,学东西先学他核心会快很多,虽然我也不懂前端的核心是什么。。。
    Danswerme
        25
    Danswerme  
       2018-10-16 10:52:28 +08:00 via Android
    css 这种东西简直要了我的命
    otakustay
        26
    otakustay  
       2018-10-16 10:59:08 +08:00
    后端你把 Spring 全家桶拆开来已经是 N 个框架了,然后你要掌握 MySQL 吧,会拆表拆库吧,掌握 MQ 吧,掌握一个 RPC 框架吧,掌握 ELK 吧,掌握 GC 策略选择吧,你不会疯吗……
    amumu666
        27
    amumu666  
       2018-10-16 11:10:35 +08:00
    主要是挺麻烦的。
    比如我现在做展示页面,连个设计都没有,领导说要立体感,要 xxx 效果,我特么想样式想半天。主要是我很清楚领导根本不知道自己想要什么。
    以前我也写接口,我们 java 也写 react,说白了就是会套 react 会 js 写逻辑 但是完全不懂 css html,react js 的奇技淫巧都不涉猎。但是觉得自己很牛逼,经常自作主张套个页面 改个组件啥的,把前端公共代码改的乱七八糟,很烦。
    misaka19000
        28
    misaka19000  
       2018-10-16 11:13:41 +08:00   ❤️ 2
    说明你不是一个合格的后端
    cyril4free
        29
    cyril4free  
       2018-10-16 11:14:55 +08:00
    对不起。。我看成了成为一个前任到底需要掌握多少。。。
    misaka19000
        30
    misaka19000  
       2018-10-16 11:15:45 +08:00
    @Danswerme #24 CSS 其实很简单,很多后端程序员之所以理解不了 CSS 是因为 CSS 和一般的编程语言不一样的地方在于它不是正交的,明白了这点之后再去学习 CSS 就很轻松了。CSS 是要靠反复的调整才能获得最好的效果的,而不像一般的编程语言那样可以直接在大脑中进行逻辑的模拟
    otakustay
        31
    otakustay  
       2018-10-16 11:33:16 +08:00
    @misaka19000 没错,程序员学不动 CSS 多数是因为不想放掉自己会的那些语言和程序逻辑能力,试图把这些东西当成“学习 CSS 的基础”,然而并不。反而完全放空了把自己当一张啥也不会的白纸,去学 CSS 就学进去了
    foolyf
        32
    foolyf  
       2018-10-16 11:41:54 +08:00
    前端三板斧:HTML + css + JS。 偏向可视化数据方向:
    riverxs
        33
    riverxs  
       2018-10-16 12:23:36 +08:00
    学不会 CSS 的估计也学不会 SQL,两者不都是 DSL 么
    lovesan
        34
    lovesan  
    OP
       2018-10-16 12:59:32 +08:00
    @xcjx 我就是觉得前端挺好玩的,至少做出来的东西是人家能看到的,随便搞出点东西就很有成就感。后端就没啥存在感了,而且太费脑子了,特别是算法这一块,为了出一个小功能可能要干好几天甚至更久,但别人就只知道后端那家伙干了一个多星期才弄出来一个功能或者一个接口。。。特别是甲方,“我要加个 XX 功能,这样再那样就行了,简单吧?”我:“简单你 MB ”
    duan602728596
        35
    duan602728596  
       2018-10-16 13:04:34 +08:00 via iPhone   ❤️ 4
    前端需要学的其实很多的。
    基础:
    1. ps、ai:这是辅助工具。切图或者制作或修改图标时会用到的。不要总指望美工给你全部搞好。
    2.html:前端基础之一。了解 html 的标签,并且在合适的地方使用合适的标签,不要除了 div 就是 span,这么写 html 早晚会 sb 的。对于 html5 的规范、网站无障碍等等也要有一定的了解。
    3.css:前端基础之一。前端模块化之后,css 能力其实是更加重要了,因为再也没有美工给你切图了,你负责的部分你不写 css 谁替你写?很多公司美工出图和静态页之后,css 其实还是要自己写的。
    4.js:前端基础之一。从 ES3 到 ES2018。canvas、webgl、播放器、陀螺仪、地理定位等等都会用到。
    5.node:前端基础之一。
    6.数学:数学是前端动画的基础,简单如加减乘除、复杂如各种公式,都可能用到。
    扩展:
    7.前端的构建工具和打包工具:gulp、babel、rollup、webpack。在开发库时,多个开发语言的可以考虑 gulp,打包使用 rollup。项目开发肯定选 webpack 了。
    8.各种库和框架:jquery、angular、react、vue 等等。
    9.css 预处理器和后处理器:less、sass、stylus,postcss 目前以我的经验来看开发提升的不大。
    10.服务器的工作流程:就是从浏览器发送请求开始,到后端的处理,再到浏览器接收到数据的这一段时间干了啥得有个数。
    11.数据库:原谅我只会 mysql。
    duan602728596
        36
    duan602728596  
       2018-10-16 13:17:18 +08:00 via iPhone
    还有,有些理论是错误的,虽然很多人这么说:
    1.html:全部使用 div 就能搞定一个网站:这是我在知乎上看到的话题,好多人还居然真的这么干。1.这么做不利于维护,语义化的标签不仅仅是给搜索引擎看的,也是给自己看的,2.某些标签上默认的动作,换个标签就需要更多的 js 去模拟,3.跨平台不是问题,现在跨平台的 css 样式真的简单得多,没有很大的问题
    2.切图没有用,只会 js 就好:使用前端三大框架和 webpack 后,对于组件化的开发来说,html、css 都需要自己写了。美工、切图给你写?不存在的,无论是前端的网站(使用服务器端渲染)还是后端所谓的管理平台(更没人给你写了),都是靠你自己的。

    现在 web 前端确实是各个领域的交点,原领域的不同,可能对前端的理解也有不同
    lovesan
        37
    lovesan  
    OP
       2018-10-16 13:23:11 +08:00
    @riverxs 不一样啊,SQL 不要求太高的话很简单,一些简单的查询、联查之类的很容易,存储过程、视图、触发器什么的都比较容易掌握,再难点就是拆表,虽然难但也不是不能克服,性能优化的活肯定是交给专业的来,我也不需要掌握,但 CSS 这东西我觉得就是给神设计的,自学了一个月,现在我只能在别人的基础上做简单修改,如果自己从头写加上适配浏览器简直要疯了
    lovesan
        38
    lovesan  
    OP
       2018-10-16 13:26:30 +08:00
    @duan602728596 确实,我在学习的过程中就没怎么用过其它标签,基本上一个页面就是 DIV SPAN 这些加上 img 之类的基础标签完成的,网上的大多教程也都是这么教的。。
    SummerWQM
        39
    SummerWQM  
       2018-10-16 13:38:29 +08:00
    C V 大法
    duan602728596
        40
    duan602728596  
       2018-10-16 13:40:16 +08:00 via iPhone
    @lovesan 标签也是注释,变量名、函数名都是 a1、a2 这么来,开发也闹心啊,一样的道理
    mars0prince
        41
    mars0prince  
       2018-10-16 13:51:19 +08:00
    你后端也不咋样啊,只会 java ssh,CURD。消息队列,RPC,缓存,大数据,都得懂吧
    lovesan
        42
    lovesan  
    OP
       2018-10-16 14:26:06 +08:00
    @mars0prince 大哥 只会 CURD 那是实习生吧,大数据确实不了解,因为接触不到相关的项目也没精力去学习,消息队列、缓存这都是必须掌握的吧,哪有做后端不了解这些的,不然怎么干啊。除了定向开发我也还做外包呢,不是所有项目接过来都是 SSH、SSM 的,二手的项目各种各样,另外。。跑题了,我只是想问如何学习前端,不是研究我后端水平如何,也不是来秀技术装 B 的,没必要先把我会什么东西做过多少项目都说出来吧,10 年前我还在写 C++呢,现在主要 JAVA 和 C#,这些乱七八糟的东西说出来除了装 B 以外跟主题有啥关系,你这喷得有点没道理了。。
    asAnotherJack
        43
    asAnotherJack  
       2018-10-16 14:29:37 +08:00
    PS AI 是设计的吧,前端主要还是 html css js,数不胜数的那些 js 框架就够你学的了
    Lawlieti
        44
    Lawlieti  
       2018-10-16 15:22:28 +08:00
    https://github.com/LawlietZe/SKill_Tree
    这里的写的挺好:)
    riverxs
        45
    riverxs  
       2018-10-16 15:45:09 +08:00
    @lovesan 额,我的意思是两者都是针对具体问题领域的生命语言,学习时更多应该去思考问题领域而非传统程序逻辑,把 CSS 的几个关键概念掌握了然后多多练习就差不多了,CSS 属性太多记住常用的,其他用到就查,参考 https://developer.mozilla.org/zh-CN/docs/Web/CSS
    bucky
        46
    bucky  
       2018-10-16 15:54:50 +08:00   ❤️ 1
    @misaka19000 谁说的 css 要靠反复的调整,你写代码呢还是买彩票呢?
    a87586179
        47
    a87586179  
       2018-10-16 16:53:02 +08:00
    =-=前端来告诉你,刚开始学的时候我也是看了一大堆东西,现在主要写的还是 HTML、css、原生 js 和 vue 全家桶
    cuzfinal
        48
    cuzfinal  
       2018-10-16 16:58:53 +08:00
    建议 angular 一把梭
    songkl
        49
    songkl  
       2018-10-16 17:00:23 +08:00
    @misaka19000 可以模拟的
    LeungV2
        50
    LeungV2  
       2018-10-16 17:30:54 +08:00
    看着比安卓简单,make 有空学学
    supuwoerc
        51
    supuwoerc  
       2018-10-16 18:05:58 +08:00
    jquery 就完事了!(滑稽
    tnt666666
        52
    tnt666666  
       2018-10-16 18:22:52 +08:00 via Android
    前端已凉,深度学习才是正道!
    molvqingtai
        54
    molvqingtai  
       2018-10-16 19:08:11 +08:00
    Raymon111111
        55
    Raymon111111  
       2018-10-16 19:25:15 +08:00
    觉得后端就拿点东西说明水平不行
    abcbuzhiming
        56
    abcbuzhiming  
       2018-10-16 21:03:53 +08:00
    @ZZITE CSS 是个非常难的东西,从设计到运用到 debug,其思路和一般编程完全不同,能同时精通编程和 CSS 的绝对是天才,基本上大部分时候你只能精通一样,而且对应的代价就是无法适应另外一样
    ech0x
        57
    ech0x  
       2018-10-16 21:38:15 +08:00

    是时候发张老图了。
    fiht
        58
    fiht  
       2018-10-16 21:44:52 +08:00
    随便找个 vue 的后台模板,删删改改看看效果,对着 elementUI 的官方文档学,不到一天我相信你就能写出像模像样的前端作品出来。
    mingyun
        59
    mingyun  
       2018-10-16 21:47:33 +08:00
    前端发展太快,跟不上
    jd186
        60
    jd186  
       2018-10-16 21:53:26 +08:00
    @ech0x
    font-size:16px;word-wrap:break-word;
    fanqianger
        61
    fanqianger  
       2018-10-17 04:03:33 +08:00
    嗯,今年我已经开始第七次学前端了
    q397064399
        62
    q397064399  
       2018-10-17 07:02:03 +08:00
    @ech0x #57 :doge 这个只有学过 css 的才懂,太难了,全靠手动去调,
    lovesan
        63
    lovesan  
    OP
       2018-10-17 09:55:26 +08:00
    @Raymon111111 我没说过后端只有那么点东西啊,只是干得累了,太费脑子了,最重要的是不懂技术的老板根本看不出来你干活了,前面我回复过了,为了一个在老板看来只是小小的功能或者改动,我需要做一周或者更长时间,做完了跟什么也没发生一样,而前端不同,无论用了多久,变化是看得到了,老板会认为你干活了。。
    pwstrick
        64
    pwstrick  
       2018-10-17 11:10:24 +08:00
    前端的技术栈目前来说越来越深,不仅要会 JavaScript、CSS 和 HTML,还要会网络通信、数据结构、算法,平时还得提升自己的编码造诣,学习设计模式、性能优化、安全、前端框架( React、VUE 等)和前端工程化( Gulp、Webpack 等)等等。平时可以看些书,例如《 JavaScript 高级程序设计》、《 CSS 权威指南》、《 HTML5 权威指南》等等。如果一下子无法接受那么多,可以先读读《前端程序员面试笔试宝典》,这书介绍的都是前端基础知识,可以先打打基础。博客园正好在做一个赠书活动,楼主可以去看看 https://www.cnblogs.com/strick/p/9789330.html。
    wisetc
        65
    wisetc  
       2020-07-02 18:30:31 +08:00 via iPhone
    前端的领域主要是用户界面和交互吧,在现代前后端分离的大趋势下,甚至 serverless,前端开发越来越重,有点软件开发的意味了,开发者首先得具备工程师的素质吧。然后是一门技术,抑或一种能力。问题越多越复杂,需要解决的事情越多,想要性能越好越优相应的能力就越有要求吧,干嘛看不起前端呢?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3232 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 13:08 · PVG 21:08 · LAX 05:08 · JFK 08:08
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.