前端编程比较难 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
YAP2
V2EX    编程

前端编程比较难

  •  
  •   YAP2 2015 年 6 月 10 日 2936 次点击
    这是一个创建于 3920 天前的主题,其中的信息可能已经有所发展或是发生改变。

    不小心瞄到这里,http://v2ex.com/t/197078

    看下回复,觉得大家都觉得前端工作比较杂,比较浅薄。

    现在的Web designer,美工俗称,专业的,得要用LESS/SASS,当然也有不用的。
    那前端开发工程师,我觉得至少得比Web designer了解的不同,多一点编程的东西,而不只是设计的内容。

    能够有机会接触真正的前端的编程的机会不是很多,用少量的库就解决问题了,即便是Angular之类的,也只限于使用一下,完成页面就行了这样,真正说用它们来支持一个大规模的应用,以及维护这样的应用的机会很少,因此觉得前端比较浅薄,工作杂,我以前是这样认为的。

    我曾经参与一个把桌面版的设计软件移植到web上的项目,开始也是想用库解决下问题,交代就完事了,结果用的非常流行的开源的2D设计的库,代码写的越多,越发现库的设计远远不足以应付真正印刷意义上的2D设计,甚至于库的整个设计的思想都是有偏差的,解决简单的2D设计没有问题,对于印刷出版还不行。

    而最重要的感受是,在写这样的一个上100KLOC的Javascript库,grunt什么的其实都只是工具,必要但是不是最重要的,重要的是,想要写好这样一个库,要考虑的设计问题很多,对于编程而言,并不是一个简单的事情,比一般的后端编程而言,写一个很好运行的复杂的web/Javascript app更难。

    你会发现你用过的一些开源的很流行的库,基本上都可用,但是不够用,当你尝试去修改它的时候,发现它的设计逻辑是错的,有些还有内存泄漏的问题,然后你还会发现,如果涉及到异步,你了解Ajax,Web worker根本不够用,因为这里还有和服务器端设计的一致性的问题,那种方式更自然,更优雅,需要很多考虑。

    然后,你如果用SVG/Canvas,你发现你需要考虑很多SVG特性和概念,就是最简单的色彩的表达,HSL是怎样的逻辑?文本的wrap如何计算?字体是如何表示,大小位置,度量单位如何表达,等等,都有太多的问题。

    我觉得如果认为前端杂浅薄,是因为我们接触前端的相当规模的编程比较少,如果真的接触了,你会觉得前端写不容易,维护更难。所以对前端开发的工作量不同,认识也不一样吧。Angular也好,Grunt也好,其实都是工具,真正要做出优雅的大规模的代码,对于编程的要求还是很高,我这样说是因为过去我也不确定,看了国外牛人写的流行的2D/Javascript库之后,我才知道,即便是如这样的牛人,在某些方面,也还是差的比较远,可见其不简单。

    目前尚无回复
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3158 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 35ms UTC 00:32 PVG 08:32 LAX 16:32 JFK 19:32
    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