作为一个前端,有没有必要学习各种 JS 框架? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
aivier
V2EX    前端开发

作为一个前端,有没有必要学习各种 JS 框架?

  •  
  •   aivier 2015-08-11 14:51:30 +08:00 6281 次点击
    这是一个创建于 3790 天前的主题,其中的信息可能已经有所发展或是发生改变。
    先来自我介绍一下吧,前端妹子一名,工作时间不长

    最开始接触的 JS 框架是 jQuery ,感觉用着还挺好,很多功能很方便,后来看到各种 Backbone、AngularJS、React,有种眼花缭乱的感觉

    看到有人说这是前端必须学的东西,学了才能跟得上时代跟得上发展,可是看了一圈下来感觉各种框架除了 jQuery 以外似乎比纯 Javascript 更难理解,什么 MVC,面向对象,factory , module,完全搞不懂是什么...

    感觉好像还是纯 Javascript 容易理解和学习一点,曾经入门的时候学过易语言,因为限制太多不够活而学了 VB.Net ,用着用着还是发现不够灵活,学了 C#,现在 Javascript 算是看着文档能写出来一些东西的水平

    各位前辈有什么建议呢?到底有没有必要精通各种框架?还是把纯 Javascript 学精通再去考虑用框架节省时间?

    PS:我属于比较折腾那一类,别人的库不好用,就直接自己写一个
    14 条回复    2015-08-28 03:24:33 +08:00
    crs0910
        1
    crs0910  
       2015-08-11 15:32:17 +08:00
    你会这样问是因为你还没尝试用一下。
    花个周末找一个入门一下不就知道了。
    推荐用 Vue.js 来了解。
    现在的前端有点像做 app,后端提供统一的接口,前端调用接口获取和提交数据,然后做各种各样的事情。
    这意味着页面的状态啊结构啊都跟数据直接产生关系。一切页面变化是由数据变化来驱动的。
    而操作数据显然比操作DOM元素要简单很多。
    crs0910
        2
    crs0910  
       2015-08-11 15:34:26 +08:00
    学习同时进行就可以了。
    iyaozhen
        3
    iyaozhen  
       2015-08-11 15:36:21 +08:00
    还是要学的。不进则退呀
    w88975
        4
    w88975  
       2015-08-11 15:37:30 +08:00
    有必要,框架前端必学是正确的,框架本身是解决问题的,是效率的体现,如果什么都喜欢自己造轮子,那么效率低不说,而且很多时候未必能解决问题
    ChefIsAwesome
        5
    ChefIsAwesome  
       2015-08-11 15:42:26 +08:00   1
    框架的出现是为了简化开发中会遇到的问题。你不觉得某个框架有用,是因为你不知道那个框架简化了怎样的问题。
    我的建议是写好你的原生 Javascript,学习面向对象,设计模式这些基础知识。简单了解流行的框架。当你需要一个框架帮你解决问题的时候,能想起来他们的名字就够了。
    lingyired
        6
    lingyired  
       2015-08-11 15:43:57 +08:00
    - - jQuery 是一个库而不是框架。

    学习使用框架 MVVM / MVC / MV* 可以使得你的代码结构更理想,单页应用(Single page APP)比较需要基于框架来构建代码。

    如果是常规的展示型网页(由后端驱动,前端只做交互和模版的话)使用 jQuery 等库就可以了。

    看需求吧。 当作为一个职业前段的话,我觉得最起码 MV* 框架要会一个,可以帮助你理解整个 WEB APP 的代码结构。
    zhujinliang
        7
    zhujinliang  
       2015-0-11 16:11:14 +08:00
    1. 不学你没法跟人交流,没法找工作
    2. 了解就好,无非编程模型,深究作用不大
    3. 原生Javascript/css/html DOM/HTTP协议 要扎实
    4. 自己用的顺手就好
    5. 建议尝试自己写框架,并在不断使用中迭代
    6. 究其根本还是个人时间不够用的问题
    loading
        8
    loading  
       2015-08-11 16:15:07 +08:00 via Android
    先分清楚库和框架!
    aivier
        9
    aivier  
    OP
       2015-08-11 16:15:27 +08:00
    @crs0910 vue.js 看起来有点像 AngularJS,AngularJS的绑定看起来好像挺方便的,但是...总感觉那些负载的Factory,Services,Providers把很容易理解的代码搞得难以理解,官方例子那个点3次弹alertbox的没搞懂为什么要那样,onclick里面i++到3的时候alert然后重置不就好了么
    hahasong
        10
    hahasong  
       2015-08-11 16:15:38 +08:00
    先学好基础吧,jq的思想,原生js。再了解下模块化加载和相关的两类框架。了解下VUE就可以了
    了解原生js可以看看 js高程这本书
    aivier
        11
    aivier  
    OP
       2015-08-11 16:15:51 +08:00
    @loading Orz...已经搞不清楚了
    bingwenshi
        12
    bingwenshi  
       2015-08-11 16:20:23 +08:00
    > MVC,面向对象,factory , module,完全搞不懂是什么

    楼主根本就没有正式学过软件编程思想吧
    只会纯堆砌代码,跟建筑工人一样了,了解编程思想与架构设计,才能成为建筑设计师,而不是工人
    aivier
        13
    aivier  
    OP
       2015-08-12 09:12:40 +08:00
    @bingwenshi 那些东西看的头都大了也没看懂...之前试过看一些C++的书,看了一年还是不懂各种指针什么的
    loveminds
        14
    loveminds  
       2015-08-28 03:24:33 +08:00
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2719 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 13:48 PVG 21:48 LAX 05:48 JFK 08:48
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86