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

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

  •  
  •   ufologist ·
    ufologist · 2013-07-26 20:30:57 +08:00 · 7215 次点击
    这是一个创建于 4141 天前的主题,其中的信息可能已经有所发展或是发生改变。
    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  
       2013-07-28 22:17:46 +08:00
    呵呵
    subpo
        32
    subpo  
       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
        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   ·   实用小工具   ·   5367 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 09:20 · PVG 17:20 · LAX 01:20 · JFK 04:20
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.