前端好难 -- 致即将开发移动 Web App 的新人们 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
ufologist
V2EX    程序员

前端好难 -- 致即将开发移动 Web App 的新人们

  •  
  •   ufologist
    ufologist 2013-07-26 20:30:57 +08:00 7720 次点击
    这是一个创建于 4466 天前的主题,其中的信息可能已经有所发展或是发生改变。
    http://www.douban.com/note/290965435/

    前端之难, 难于上青天...

    一个专业前端在知识的深度和广度上要求都非常之严, 肯定不仅仅是复制粘贴几段HTML标签, 网上找点CSS特效, 下载个jQuery插件什么的.

    看看我们在开发移动 Web App 时需要具备哪些知识
    1. 单页面开发
    2. 模块化
    3. MVC

    如果你立志做一名专业的前端, 你就会真正意识到我说的好难是有多难, 一切从头开始, 循序渐进.
    如果你仅仅是过来凑个热闹打打酱油, 请保持谦卑, 万事不要自作主张, 前端的坑比你想象的要多要深.

    一入前端深似海...
    56 条回复    1970-01-01 08:00:00 +08:00
    clc3123
        1
    clc3123  
       2013-07-26 21:01:50 +08:00
    首先是Javascript基础,现在mobile热了之后,js基础愈发重要。
    clino
        2
    clino  
       2013-07-26 21:26:07 +08:00
    我对这块也还没怎么入门,之前jquery学了一点,现在正在学angularjs
    awebird
        3
    awebird  
       2013-07-26 21:32:27 +08:00
    前端洗牌期,有机会有挑战,硬头皮上吧...
    zrain2009
        4
    zrain2009  
       2013-07-26 22:33:47 +08:00
    好吧,看了原文介绍SPA的部分,我就想问了,为什么不用jQuery Mobile呢?
    panlilu
        5
    panlilu  
       2013-07-26 22:36:36 +08:00
    @zrain2009 jQuery Mobile效率低的令人发指。。jQuery UI也是一副德行。。
    ufologist
        6
    ufologist  
    OP
       2013-07-27 11:45:50 +08:00
    @clc3123 是啊, 最根本的是将 Javascript 真正作为一门语言来学习
    ufologist
        7
    ufologist  
    OP
       2013-07-27 11:47:12 +08:00
    @clino 我推荐先从最基础的学起, 少一点魔法的框架, 不然可能造成只会用而不会解决问题
    ufologist
        8
    ufologist  
    OP
       2013-07-27 11:47:55 +08:00
    @awebird 希望此篇对你迎接挑战有好处
    ufologist
        9
    ufologist  
    OP
       2013-07-27 11:49:54 +08:00
    @panlilu 非常感谢 @panlilu 为了解答, 其实目前前端的形势更趋向于组合小巧的micro-framework而不是拿一个什么都提供的大架子, 这样解决问题的时候更能灵活调控
    tamamaxox
        10
    tamamaxox  
       2013-07-27 11:53:25 +08:00
    没人用backbone吗?
    darasion
        11
    darasion  
       2013-07-27 11:55:21 +08:00
    嗯。并且大部分人还认为前端无技术含量。
    raptor
        12
    raptor  
       2013-07-27 12:18:02 +08:00
    谁敢说前端无妓术含量的…bootstrap, less, html5, js, coffee, jquery, backbone, underscore, mustache, angular, ember, knockout…我看了头都大。
    LokiSharp
        13
    LokiSharp  
       2013-07-27 12:34:35 +08:00
    @raptor +1 ,这些东西看了就头大
    wodemyworld
        14
    wodemyworld  
       2013-07-27 18:12:56 +08:00
    难点在Javascript上,本身语言设计就不咋地,还得造一堆的轮子,轮子还全呈现在前端,你引用了GPL协议的第三方js,还得开源自己的,不像做server端的,全在服务器上呢,你引用了别人也发现不了,呵呵呵呵~额呵呵呵呵~
    Mcatt
        15
    Mcatt  
       2013-07-27 19:28:45 +08:00
    深似海,要写出个高质量的HTML好难
    ufologist
        16
    ufologist  
    OP
       2013-07-28 10:29:58 +08:00
    @tamamaxox 喜欢backbone的推荐看
    1. Javascript Architecture
    2. Step by step from jQuery to Backbone
    3. A Complete Guide for Learning Backbone Js
    Sivan
        17
    Sivan  
       2013-07-28 10:31:43 +08:00
    前端不是难,是杂……关注点太多会跟不上来。
    ufologist
        18
    ufologist  
    OP
       2013-07-28 10:33:27 +08:00
    @darasion 深有同感 +1, 是我们组最近有新人来, 我需要一遍又一遍的说一番, 因此促成了此篇, 其实也是总结自己前端的经历
    ufologist
        19
    ufologist  
    OP
       2013-07-28 10:35:50 +08:00
    @raptor 其实懂了最根本的技术点, 其他只是框架熟练度的问题了, 并且需要一停的从框架再反过来学习, 弥补自身的不足
    ufologist
        20
    ufologist  
    OP
       2013-07-28 10:38:41 +08:00
    @wodemyworld 难点其实所有点上都有, 只不是大多数人都更关心Javascript, 因为是"编程", 其实数据结构什么的更重要, HTML之于数据结构
    ufologist
        21
    ufologist  
    OP
       2013-07-28 10:41:29 +08:00
    @Mcatt 如果以后每个人都觉得写HTML好难, 那大家对前端的想法必然有所改观
    ufologist
        22
    ufologist  
    OP
       2013-07-28 10:44:04 +08:00
    @Sivan 其实不用关注太多眼花缭乱的框架什么的, 势必造成力不从心, 更重要的是基础, 找到合适的框架适可而止
    Mcatt
        23
    Mcatt  
       2013-07-28 10:57:33 +08:00
    @ufologist 不能同意更多!
    rrfeng
        24
    rrfeng  
       2013-07-28 11:02:29 +08:00
    纯路过
    看起来 js 需要被更好的替代了?
    refresh
        25
    refresh  
       2013-07-28 11:02:34 +08:00
    真心没觉得难,虽然我不是专业的前端,只是挺麻烦的,特别是浏览器适配,不过如果放弃ie6的话,事情会简单很多
    Perry
        26
    Perry  
       2013-07-28 11:04:18 +08:00
    是不是没提到设计。。
    deathfang
        27
    deathfang  
       2013-07-28 11:54:42 +08:00
    @ufologist 问下LZ对UI框架怎么看?如果团队专注前端的人数不多,UI组件基本要用写好的,这个时候怎么选择?
    看到国外一个 收费UI框架
    http://www.kendoui.com/
    echo1937
        28
    echo1937  
       2013-07-28 12:01:10 +08:00
    @Sivan 我也觉得,前段的核心问题是杂,而不是难.

    在IT领域,无论是语言还是框架,比前段部分难的很多很多.
    DaniloSam
        29
    DaniloSam  
       2013-07-28 18:41:29 +08:00   1
    呵呵
    ety001
        30
    ety001  
       2013-07-28 22:05:39 +08:00
    又要广又要深,真心有时候感觉力不从心。。
    subpo
        31
    subpo  
    PRO
       2013-07-28 22:17:46 +08:00
    呵呵
    subpo
        32
    subpo  
    PRO
       2013-07-28 22:18:10 +08:00
    只能说呵呵了
    tshwangq
        33
    tshwangq  
       2013-07-29 03:11:53 +08:00
    前端确实很难了。
    几年前开始的prototype, jquery只是web开始复杂化的序幕。
    spa的应用都要担心内存泄漏了。
    要弄出一个好的app,也不会比一个传统的native app轻松多少了。
    ufologist
        34
    ufologist  
    OP
       2013-07-29 08:51:33 +08:00
    @refresh 不知道朋友是不是说的做网页, 而不是前端...
    ufologist
        35
    ufologist  
    OP
       2013-07-29 08:52:43 +08:00
    @rrfeng 如果你喜欢ruby, 那么推荐去看看CoffeeScript
    ufologist
        36
    ufologist  
    OP
       2013-07-29 08:54:00 +08:00
    @Perry 设计领域确实没有提到, 我想设计领域可以参考Bootstrap
    ufologist/td>
        37
    ufologist  
    OP
       2013-07-29 08:55:48 +08:00
    @deathfang 这个框架我是相当看好, 第一眼看见就在持续关注, 如果这位朋友预算够, 可以选择商业产品, 如果不行的话, 就选择开源的吧, 类似Bootstrap这样的full stack应该比较适合你
    ufologist
        38
    ufologist  
    OP
       2013-07-29 08:57:15 +08:00
    @echo1937 非常赞同, 如果说到计算机领域, 还是更难更基础的东西, 什么编译原理啊, 算法啊, 数据结构啊比比皆是
    ufologist
        39
    ufologist  
    OP
       2013-07-29 08:58:26 +08:00
    @ety001 慢慢来吧, 从头开始有时候并不可怕, 总比突然卡壳的好
    ufologist
        40
    ufologist  
    OP
       2013-07-29 08:59:46 +08:00
    @tshwangq 非常赞同, 框架的开始只是解决问题的开始, 前端越被重视就越多问题需要大家来解决
    fooCoder
        41
    fooCoder  
       2013-07-29 09:25:47 +08:00
    读完全文。我也没发现难在哪里。我现在就是在做移动web app的。native的也做过,后端也做过。各有各的复杂点和方便的地方。
    fooCoder
        42
    fooCoder  
       2013-07-29 09:27:40 +08:00
    看了下回复,很同意是复杂而不是难的说法。
    clino
        43
    clino  
       2013-07-29 09:49:11 +08:00
    @ufologist 呃,我不是完全前端的,是前后端要一起搞的,所以想选一些比较省工作量的东东
    refresh
        44
    refresh  
       2013-07-29 10:04:29 +08:00
    @ufologist backbone,hybrid, handlebars, less, grund, expect之流,算前端不
    refresh
        45
    refresh  
       2013-07-29 10:05:28 +08:00
    手误,grunt
    tamamaxox
        46
    tamamaxox  
       2013-07-29 10:55:28 +08:00
    @refresh grunt 非常好用过
    chemzqm
        47
    chemzqm  
       2013-07-29 11:37:39 +08:00
    所以我用component,它用简单的方案解决了最复杂的工程性问题
    wity_lv
        48
    wity_lv  
       2013-07-29 14:10:30 +08:00
    “前端之难, 难于上青天...”

    曾经作为后端工程师,被公司项目各种折腾, 现在以深深陷入js, css, html这个大坑。

    Web端用过的东西:
    GWT, ExtJS, jQuery, Backbone, RequireJS, Jasmine, BootStrap, 960Grid

    去年又开始iOS, iOS端还是处在前端的形式。(应用除了h.264视频处理,其他部分都可用web app代替)。为什么不用js ? 我对解决mobile端的坑没信心。
    ufologist
        49
    ufologist  
    OP
       2013-07-30 12:48:40 +08:00
    @fooCoder 复"杂"的赞一个 +1
    ufologist
        50
    ufologist  
    OP
       2013-07-30 12:50:54 +08:00
    @clino 那你是可以选择带双向数据绑定的前端MV*框架, 比如你说的angularjs, google出品有底气
    ufologist
        51
    ufologist  
    OP
       2013-07-30 12:52:29 +08:00
    @chemzqm 请问你说的 component 是否指的是 http://component.io/, 同样喜欢, 那样做组件的方式赞一个 +1
    ufologist
        52
    ufologist  
    OP
       2013-07-30 12:55:54 +08:00
    @wity_lv 被同样坑过的人 +1, 前端处于快速变化期, 各种框架在更替, 还没有完全一体化的解决方案, 大家都在摸索/推翻以前的东西
    Keinez
        53
    Keinez  
       2013-07-30 12:59:04 +08:00
    一年前看张鑫旭的博客就知道前端不好做,光模块化这个问题就能搞死一堆人,还要解决JS优化,还要解决载入性能,还有各种乱七八糟的问题……所以我老老实实学了点CSS然后埋头做设计。

    以为会写HTML和CSS,会点JS库就是前端了?大错特错!

    附上地址:http://www.zhangxinxu.com/
    wity_lv
        54
    wity_lv  
       2013-07-30 14:59:53 +08:00
    @ufologist 多数前端还是用不到这么复杂的东西。,感觉现在前端还是设计重于技术。现在前端暂时不打算折腾,保持一个技术栈就ok。

    现在摸索出来的技术栈:
    Bootstrap, jQuery, backbone, jasmine, requirejs, bower
    后续打算:
    yeoman做前端构建
    coffeescript代替js,应对需要使用大量js的应用

    留个github, 互粉:https://github.com/lvjian700
    ufologist
        55
    ufologist  
    OP
       2013-07-31 13:06:33 +08:00
    @Keinez 非常感谢, 已经关注了张鑫旭的博客, 受教中...
    ufologist
        56
    ufologist  
    OP
       2013-07-31 13:10:36 +08:00
    @wity_lv 同意技术栈的说法, 一般的前端(网页)开发, 是不需要用到文章中提到的N多东西, 也就是希望大家了解下可能会碰到的各种问题(其实我也没有办法全部列出来), 俗话说你永远也不知道你不知道的东西, 视野非常重要, 另外已经关注这个朋友的 github, 相互学习
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2565 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 33ms UTC 10:28 PVG 18:28 LAX 03:28 JFK 06:28
    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