cAng^Er

          不懂我的人 , 離不了我 , 該了解了解我 !而懂我的人 , 更離不了我 , 因為他們愛我 。

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            30 隨筆 :: 16 文章 :: 18 評論 :: 0 Trackbacks

          要打造一流的Web產品開發團隊,在團隊成員基礎能力上一定要下功夫。對于Web前端產品開發來說,僅僅掌握Web1.0時代簡單的”網頁套接”是完全不夠的。我結合自己的團隊配備,特此羅列了Web前端產品工程師所涉及的技能列表如下:

          通過許多實際項目,個人認為一個完備的前端產品開發團隊,必須擁有如下的人才配備,也希望大家補充:

          • 團隊全體成員達到所有技能中的a級標準
          • 團隊全體成員必須掌握兩項技能中的b級標準,并保證所有的b級標準在該團隊中有50%以上成員能達到
          • 團隊全體成員必須掌握一項技能中的c級標準,并保證所有的c級標準在該團隊中有25%以上成員能達到

          具體技能描述:

          • 【必備】UserInterface
            1. PhotoShop/Fireworks Design
              a – 配合美工將草圖形成具體的符合WebPage的設計
              b – 有快速制作分層高品質PSD、PNG的能力
              c – 能迅速將PSD、PNG的內容構思成div+css或者table等HTML代碼
            2. Flash Design
              a – 基本動畫效果
              b – 復雜的交互體系設計,了解第三方swf輔助設計軟件
              c – 復雜的交互體系設計以及較強的對各類外埠資源(PNG、JPG、MP3、WAV等)的整合能力。精通部分第三方輔助設計軟件(AE、SwishMax、Swift3D等)
          • 【必備】Browser-side (Web Application)
            1. XHTML/CSS
              a – 基本的layout實現
              b – 嚴格跨平臺的layout實現以
              c – 優雅的HTML code,盡可能符合標準并有SEO的考慮因素。在任何平臺、瀏覽器下基本保持一致。不要求了解各種CSS的hacks,但要求知道遇到問題應該如何查閱資料以在第一時間內解決。能夠為JavaScript開發人員提供最好操作的DOM結構,讓JS開發人員在開發的時候認為”一切都已經準備就緒了”,而不是”捉襟見肘”。
            2. JavaScript/Ajax/DOM
              a – 基本的DOM操作,了解AJAX,可以實現數據通信
              b – 基本的DOM操作,能寫高效率的OOP代碼,以降低維護成本
              c – 基于需求,進行不同的開發,選擇合適的框架,做到代碼效率最高,用戶體驗最好,代碼下載量最小,并且可以在單獨甚至更多產品線中最大限度重用代碼
            3. Flash Developement
              a – 基于Timeline的ActionScript操作,能實現簡單交互
              b – 掌握a外,能實現數據層通信(與服務器以及本地SharedObject)
              c – 精通AS1-3,能根據需求進行各類RIA開發。無論是要求支持FlashPlayer8的,還是FlashPlayer9的,都能做到開發效率最高、靈活性最大(比如對HTML層的接口設計,等等)。
          • 【必備】Client-side (Desktop Application)
            1. Apollo
              a – 產品級的封裝,基本技術了解(如何打包、如何加入HTML和JavaScript等)
              b – 掌握a的同時,能利用Apollo的API獨立設計、開發OS的文件I/O功能。
              c – 掌握基本技能的同時,對”3D概念體系”有所認知。這里”3D”即:Design(設計)、Development(開發)、Deploy(產品部署)。能用Apollo
            2. Windows Presentation Foundation、WPF/E(Silverlight)
              (待定,歡迎補充)
          • 【增補】Server-side (修改:經考慮,這個技能不參與評級)
            本來列舉了”1、Server端簡單的技術、腳本”和”2、MediaServer(Red5)接口”作為”Web前端工程師技能列表“的一種(服務器、數據邏輯層技能的)評判標準。但似乎很多朋友對于前端工程師是否應該掌握Server端技能的必要性表示懷疑。確實,要掌握好上述的展現層技能不是意見容易的事情,而且前端工程師的確非常辛苦。但是,站在另一方面來說,辛苦的原因是什么,我不知道在你日夜奮戰div+CSS的時候思考過沒有。就我的經驗,前端的辛苦在于以下幾個方面:

             

            1. 重復勞動多,大量的div+css都是重復的,即便可以復制粘貼,但幾千行的div海洋中去尋找一個入口恐怕都非常痛苦
            2. 需求變更多,往往你折騰幾個小時終于把跨平臺問題解決好了,而且在IE6、7和Firefox下面都能顯示同樣的效果了,甚至連JavaScript交互都已經快搞定了。突然上面說需求要變。這無疑是莫大的痛苦。

            也許表面上看,這跟Server端技能無關,但我覺得有好的Server端的意識,一定會有所幫助(當然不可能解決所有的問題)。畢竟信息結構和數據庫是密切相關的,而Server是連接數據庫的唯一渠道(至少大多數B/S應用是如此)。掌握Server端的基本技能,對于同邏輯層開發人員設計接口是非常重要的。而且HTML表現層在開發時與數據的分離,也與Server端的各種模板技術有關。例如PHP中的Smarty模板(我曾經用的)、jsp的model2概念等等。HTML結構如何設計,如何讓HTML重用,甚至在HTML層進行OOP的開發(我現在在新產品線中設計的前端開發流程),都需要Server端的支持。最起碼,你要告訴php程序員你需要什么。如果你完全對PHP一無所知的話,那也無從談起了。
            此外,對于創業團隊,往往人手非常有限。為了讓運營成本降到最低,所有的技術人員都有義務對Server端技術有所了解。如果為了修改一個網頁的標題還要跑去喊PHP程序員連接Remote Server的話,那實在是增加了整個公司的運營成本。
            總結:我認為,可以不了解技術細節,但應該知道原理,最好能掌握一兩套設計思想(畢竟數據邏輯都在這里走,光看HTML和JavaScript,對人的見識還是有局限的,這種局限限制了我自己很久的時間),那將是一比寶貴的財富。

          • 【增補】Mobile-side(不參與評級)
            1. Flashlite
              (待定,歡迎補充)
            2. Java?
              (待定,歡迎補充)

          看到很多朋友留言說前端工程師沒前途,我在想,同時掌握移動設備的技能是否也是拓展前途的一個必要性?這里再多說幾句,關于技術人員的前途,目前在國內確實得用”慘淡”來形容。浮躁的氛圍讓技術人才往往過早放棄了自己的技術生涯,而爾虞我詐的整體道德水平也讓單純的技術人員痛不欲生(我身邊太多了,恩,不說具體細節了,呵呵)。

          作為一個技術人員,開發人員,在保持純粹地敬業心態(這是前提,這么沒有,啥也別談)外,更要學會如何保護自己,如何壯大自身,社會不會同情你,只有你自己才能保護你自己。

          posted on 2011-06-10 18:04 cAng^Er 閱讀(364) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 青岛市| 武川县| 淮阳县| 得荣县| 民乐县| 都安| 拉萨市| 莆田市| 玛纳斯县| 阳原县| 丘北县| 翁源县| 诏安县| 阿瓦提县| 万山特区| 绥宁县| 大同市| 渝中区| 永新县| 达尔| 临颍县| 荥经县| 固原市| 同心县| 泽普县| 涿州市| 柏乡县| 塔河县| 南陵县| 商城县| 永新县| 莆田市| 夏邑县| 鱼台县| 远安县| 芜湖市| 门头沟区| 霸州市| 杂多县| 古田县| 徐水县|