SlideShare a Scribd company logo
1 of 31
Download to read offline
1




    放眼未來:新的技術
      前端工程開發實務訓練 (8/8)

          講師:蔣定宇 / josephj




        Copyright © 2012 FITPI. All rights reserved.
2


    未來你需掌握的相關技術
    ๏ GitHub - 開放程式碼及套件的社群網站。任
     何種類的程式開發人員都應該經常來尋找資
     源,可以節省大量時間!當然後面是由 Git 版
     本控管系統所支撐,你也應該要會。
    ๏ HTML5 - 提供網站與手機開發更多可能性,
     過去 Flash 才能做的、未來 HTML 也可以。
    ๏ Node.js - 讓 JavaScript 從瀏覽器端解脫,
     你可以用它來做更多事。(前面介紹過、不再贅
     述)
              Copyright © 2012 FITPI. All rights reserved.
3




       Git / GitHub
    版本控管結合社群力量,可以幫你省大量開發時間




          Copyright © 2012 FITPI. All rights reserved.
4



     Git 版本控管工具
    ๏ 版本控管:誰在什麼時間改了什麼東西都有清楚記
      載,可以隨時回到過去。

     ❖ 避免把程式寫壞、不知如何復原。
     ❖ 不論公司團隊、個人都需要!
    ๏ Git 的出現,完全將老牌的 CVS/SVN 打入冷宮。
    ๏ 作者就是 Linus (Linux 之父)
    ๏ Git 是工具,自己的電腦就可以獨立運作。
    ๏ 甚至常有人拿 Git 做佈署網站。

               Copyright © 2012 FITPI. All rights reserved.
5


                      P2P 架構
    使用 git clone 可以迅速地複製 Repository 到不同地方


                      miiiCasa



                                              git clone
      Richard
                              git clone

                git clone
                                                                            git clone
                                                          Joseph                        Hunter


                            Kevin




    每個 Repository 皆地位相等、獨立運作、也可再被 clone

                             Copyright © 2012 FITPI. All rights reserved.
可離線作業
6




                    git commit
    miiiCasa

               不影響其他 Repository
                                             即使沒有網路依然可以
                                            Commit、記錄我的變更
                                             「做⾃自⼰己的版本控管」

                                Joseph
                          vim foo.txt
                          git add foo.txt                       Hunter
                          git commit -m “typo
                          correct”


       Kevin




    git commit 僅在自己 Repo 增加記錄、不影響別的 Repo
                 Copyright © 2012 FITPI. All rights reserved.
加入遠端的變更
7




                                 git pull
    miiiCasa
               將原始 Repo 的變更抓回來用


               git pull                             此時這裡有我的變更 +
                                                     miiiCasa 的變更



                                       Joseph
                                                                         Hunter
                                         git pull




      Kevin



                    git pull 會將自動做兩個 Repo 的程式碼合併

                          Copyright © 2012 FITPI. All rights reserved.
加入遠端的變更
8




               git pull <remote> <branch>
    miiiCasa
                   將其他 Repo 的變更抓回來用

                                                      此時這裡有我的變更 +
                                                       miiiCasa 的變更 +
                                                         Kevin 的變更




                                              Joseph
                                                                               Hunter
                                        git pull Kevin master

               git pull Kevin master

       Kevin


                 只要是有相同的歷史,可以隨意合併指定的 Repo

                                Copyright © 2012 FITPI. All rights reserved.
9


                遞送自己的變更
               miiiCasa 有
                我的變更 +


    miiiCasa
               Kevin 的變更
                                             git push
                              將我的修改傳送到 Origin

                   git push




                                          Joseph
                                                                              Hunter
                                           git push




      Kevin


                        可利用 pull/push 做雙向的合併(即同步)
                               Copyright © 2012 FITPI. All rights reserved.
10




              GitHub
     讓 Social Coding 不只是口號



         Copyright © 2012 FITPI. All rights reserved.
11
     全世界知名的 Open Source Project 都在 github




                Copyright © 2012 FITPI. All rights reserved.
12       提供非常多 Social Coding 的機制
         Open Source 也是在交朋友啊!


           別人修改、希望你 merge 的請求




                                                                   被關注與被 fork 的次數
                                             開 Bug 給你




     可直接 git clone 帶走 (不需註冊)



                非常鼓勵大家把程式碼放到 GitHub
             讓 Social 的力量促使你的 Project 更好


                    Copyright © 2012 FITPI. All rights reserved.
13


     在 github 建立團隊、與外界分享可 Open 的工具與專案




               Copyright © 2012 FITPI. All rights reserved.
14


     在 github 建立團隊、與外界分享可 Open 的工具與專案

                                                                             github.com
                   miiiCasa                                                     miiiCasa
                   private central                                             public central
                     repository                                                 repository




                                                                                  Clonn
        Joseph        Kevin                Richard                              contributor
        employee     employee               employee




       寫程式的不只是員工、還有公司外的開發者!
                              Copyright © 2012 FITPI. All rights reserved.
15


             HTML5
     ๏ HTML5 實際上包含了 HTML 的新標籤、
      CSS3,及占絕大多數的 JavaScript。
     ๏ 原本 HTML 的設計目標只是用來顯示文件與互
      相連結、並非用來製作像 Gmail 這樣的應用程
      式。HTML5 彌補了不足。
     ๏ Flash 是過去 Web 應用程式的霸主,因
      HTML5 的出現及 iPhone 不支援,未來會越
      來越不重要。
     ๏ 因瀏覽器相容性與實作不一致,使用 HTML5
      時必定得考慮相容性及產品定位。
             Copyright © 2012 FITPI. All rights reserved.
16


        值得關注的技術
     ๏ Canvas:繪圖
     ๏ FileSystem:讓 JS 也能處理 Binary
     ๏ WebSocket:與伺服器即時雙向溝通
     ๏ Local Storage:將資料存放於瀏覽器
     ๏ History API:不換頁網址更新
     ๏ Web Fonts:載入字型檔
     ๏ Audio / Video:網頁原生的播放器
              Copyright © 2012 FITPI. All rights reserved.
Canvas
17




     ๏ HTML 繪圖一直都存在著,像是 IE 一直有 VML 技
       術。但為了跨平台、大多數人的選擇還是 Flash。
     ๏ Canvas 是 2D 技術、比較成熟。也有 WebGL 的
       3D 技術。
     ๏ 像是縮圖、讓照片看起來平滑這些 Canvas 都有機會
       做到,但演算機制的套件目前較少。
     ๏ Google+ 使用者意見回饋可將當前網頁截圖丟到伺
       服器上 => Canvas 技術!
     ๏ YUI Graphics 相容於 SVG、VML、Canvas
      ❖ http://yuilibrary.com/yui/docs/graphics/
       練習:http://f2eclass.com/lab/html5/canvas.html
                   Copyright © 2012 FITPI. All rights reserved.
18



             FileSystem

     ๏ 包含多檔上傳、從桌面上拖拉檔案到頁面中
      (反之亦然)。
     ๏ YUI 的 Uploader 提供了拖拉上傳,就是一個
      很棒的 FileSystem 應用。
      ❖ http://yuilibrary.com/yui/docs/uploader

     練習:http://f2eclass.com/lab/html5/yui-uploader.html




                   Copyright © 2012 FITPI. All rights reserved.
19


         Local Storage
     ๏ 資料不一定要跟 Server 拿,若不常更新,則應儲
      存在瀏覽器避免浪費頻寬(對效能有幫助)。
     ๏ 過去要儲存資料在使用者的瀏覽器只能透過
      Cookie,但容量有限。Flash 提供的空間反而比較
      適合。
     ๏ HTML5 提供了多個資料儲存方案:
      LocalStorage、IndexDB、Application Cache。
     ๏ YUI 的 Cache 工具:整合了 LocalStorage。
      http://yuilibrary.com/yui/docs/cache/
       練習:http://f2eclass.com/lab/html5/yui-cache.html

                    Copyright © 2012 FITPI. All rights reserved.
20


              History API
     ๏ 過去不換頁技術(JSONP、AJAX)要能整合上一
       頁、下一頁或加到我的最愛只能用 # 來實作。
     ๏ 現在像 Facebook、Twitter、Github 都實作了
       History API:讓不換頁的網址能夠動態更換。
      ❖ 看看範例:https://github.com/josephj/module
         點選下面檔案任意連結並觀察網址。

     ๏ YUI 提供了 History API:
       http://f2eclass.com/lab/html5/yui-history.html

       練習:http://f2eclass.com/lab/html5/yui-history.html

                     Copyright © 2012 FITPI. All rights reserved.
21



                Web Fonts
     ๏ 藉由直接下載字型檔,讓網頁中的文字以此字體顯
      示、即使使用者未安裝也沒關係。
     ๏ 英文很容易實現,因為字數少:
      ❖ 請參考 Google Font API
        https://developers.google.com/webfonts/docs/
        getting_started#Quick_Start

     ๏ 中文字數太多不適合,但有人實作特殊技術(會分
      析網頁中有哪些字、再下載只有這些字的字型檔:
      ❖ 請參考 justFont 「就是字」
        http://www.justfont.com/
                       Copyright © 2012 FITPI. All rights reserved.
22


             <audio> 標籤
     ๏ 支援瀏覽器: IE9+ 及主流瀏覽器
     ๏ 支援格式:MP3, WAV, OGG。
     ๏ 問題:
      ❖ M4A 是目前 iTune 的支援格式。
      ❖ 不同瀏覽器支援的格式不同。
      ❖ 要偵測瀏覽器支援度太辛苦了!
     ๏ 從 IE6 支援到手機瀏覽器 - SoundManager2
      ❖ http://www.schillmania.com/projects/soumanager2/


                       Copyright © 2012 FITPI. All rights reserved.
<video> 標籤
23




     ๏ 跟 <audio> 標籤相比,<video> 支援度問題更多
      ❖ 支援瀏覽器:IE9+ 及主流瀏覽器
      ❖ 支援格式:(avi 不支援, dat 不支援...)
       ✦ WebM, Theora/Vorbis (*.ogg ; *.ogv) ,H.264 / AAC (*.mp4 ; *.m4v)

     ๏ 大部分的影音網站會將各種不同的影音檔轉為 FLV
      (Flash Video),利用 Flash Player 播放。
      ❖ 手機不支援 Flash,得有 H.264 檔以 <audio> 播放。
      ❖ 解決方案為 FlowPlayer:http://flowplayer.org/
     ๏ 若希望支援大量格式,使用者得裝 VLC Player。
      ❖ 手機的問題一樣得另外解...
                         Copyright © 2012 FITPI. All rights reserved.
24



          練習:<video>
         <video>
             <source src="video.ogg">
             <source src="video.m4v">
             <p>很抱歉!您的瀏覽器不支援 HTML5 Video</p>
         </video>



          有哪些屬性、方法、事件可以參考:
     http://www.w3schools.com/tags/ref_av_dom.asp



     練習:http://f2eclass.com/lab/html5/video.html

                    Copyright © 2012 FITPI. All rights reserved.
25



         前端的深入研究
     ๏ 物件導向:OOP (Object-oriented Programming) 開
       發可大量減少重複的程式碼。
     ๏ 模組架構:如何切分網站的架構更模組
       化,讓維護性更加強。
     ๏ JavaScript MVC 架構:新的開發模
       式、適合用在應用程式類的網站。
     ๏ 持續整合:代碼品質自動檢查、自動
       Build、自動化測試、API 文件化...
                 Copyright © 2012 FITPI. All rights reserved.
26




        前端的深入研究
     這些主題都很大,跟前端的 UI 也沒直接關係
     但能讓團隊的開發架構往正確的方向生長
          讓每個開發成員都受益


     目前一般公司的前端開發架構仍不算完整
      所以很需要這樣的人才:前端架構師。

            Copyright © 2012 FITPI. All rights reserved.
27
      努力寫 Prototype!
          證明可行性、拒絕空口說白話

       前端工程師面對的環境複雜(瀏覽器相異)
      應該避免用「猜測」的方式處理問題,例如:
     「應該是 IE 的 Bug」、「應該是 YUI 的 Bug」

        相較於後端可能需設置環境或編譯
     前端只要有隨手可得的記事本 + 瀏覽器即可試驗
     所以把問題單純化、快速寫個小範例就可證明了
        也許大多時候、猜測通常不成立。

     新技術的可行性研究也是需要 Prototyping 的!
              Copyright © 2012 FITPI. All rights reserved.
關於面試 F2E
28




         除了態度,我面試時會觀察以下項目

     ๏ 是否對開發有熱情:個人部落格、臉書、噗浪。
     ๏ 是否理解原理、不能只是會用特定函式庫。
     ๏ 是否有可展示的專案或作品網站。
     ๏ 是否重視程式碼維護性、大於 UI 炫麗程度。
     ๏ 是否有正確觀念:例如理解 Semantic、漸進式支
      援、無障礙等。
     ๏ 是否有軟體團隊合作經驗。
     ๏ 是否夠「硬」:元件架構、Closure、模組架構、
      MVC、版本控管、佈署議題、持續整合等。
              Copyright © 2012 FITPI. All rights reserved.
29


     台灣的前端交流聚會
      鼓勵大家多參加交流會,免費又可長知識

     ๏ JSDC (JavaScript Developer Conference)
       ❖ JavaScript 的年度盛會
       ❖ http://jsdc.tw/2013/
     ๏ JavaScript.tw
       ❖ 在台北、台中不定期舉辦小聚
       ❖ http://blog.javascript.tw/
     ๏ Node.js Taiwan Party
       ❖ Node.js 相關中文資訊
       ❖ http://nodejs.tw/
     ๏ 台灣工程師年度大拜拜 - OSDC.tw、COSCUP
                    Copyright © 2012 FITPI. All rights reserved.
30




     Q&A
     還有什麼需要補充的?




      Copyright © 2012 FITPI. All rights reserved.
31




      Thank You!




     感謝大家來參與前端工程實務訓練
     歡迎大家保持聯繫、多多互相分享
         Copyright © 2012 FITPI. All rights reserved.

More Related Content

What's hot

SeaJS - 前端模块化开发探索与网站性能优化实践
SeaJS - 前端模块化开发探索与网站性能优化实践SeaJS - 前端模块化开发探索与网站性能优化实践
SeaJS - 前端模块化开发探索与网站性能优化实践lifesinger
 
讓 HTML5 走進 IPTV Framework
讓 HTML5 走進 IPTV Framework讓 HTML5 走進 IPTV Framework
讓 HTML5 走進 IPTV FrameworkJollen Chen
 
模块加载策略 - 2012 SDCC, 北京
模块加载策略 - 2012 SDCC, 北京模块加载策略 - 2012 SDCC, 北京
模块加载策略 - 2012 SDCC, 北京Joseph Chiang
 
程式人雜誌 2015年五月
程式人雜誌 2015年五月程式人雜誌 2015年五月
程式人雜誌 2015年五月鍾誠 陳鍾誠
 
移动Web开发框架jqm探讨
移动Web开发框架jqm探讨移动Web开发框架jqm探讨
移动Web开发框架jqm探讨newker
 
程式人雜誌 2015年三月
程式人雜誌 2015年三月程式人雜誌 2015年三月
程式人雜誌 2015年三月鍾誠 陳鍾誠
 
程式人雜誌 -- 2015 年1月號
程式人雜誌 -- 2015 年1月號程式人雜誌 -- 2015 年1月號
程式人雜誌 -- 2015 年1月號鍾誠 陳鍾誠
 
OPOA in Action -- 使用MagixJS简化WebAPP开发
OPOA in Action -- 使用MagixJS简化WebAPP开发OPOA in Action -- 使用MagixJS简化WebAPP开发
OPOA in Action -- 使用MagixJS简化WebAPP开发leneli
 
更好的文件组织
更好的文件组织更好的文件组织
更好的文件组织Kejun Zhang
 
面向未来的重构
面向未来的重构面向未来的重构
面向未来的重构Kejun Zhang
 
基于Ivy ant的java构建初探
基于Ivy ant的java构建初探基于Ivy ant的java构建初探
基于Ivy ant的java构建初探Anson Yang
 
Html5开发android应用程序概述
Html5开发android应用程序概述Html5开发android应用程序概述
Html5开发android应用程序概述kevin_yanggl
 
網頁三本柱之Html與css
網頁三本柱之Html與css網頁三本柱之Html與css
網頁三本柱之Html與cssAaron King
 
擁抱開源:企業應如何善用開源技術,才能得其利而防其弊
擁抱開源:企業應如何善用開源技術,才能得其利而防其弊擁抱開源:企業應如何善用開源技術,才能得其利而防其弊
擁抱開源:企業應如何善用開源技術,才能得其利而防其弊Yi-Feng Tzeng
 
給資安工程師開源授權觀念
給資安工程師開源授權觀念給資安工程師開源授權觀念
給資安工程師開源授權觀念Yi-Feng Tzeng
 
擁抱開源:企業應如何善用開源技術,才能得其利而防其弊-加強版
擁抱開源:企業應如何善用開源技術,才能得其利而防其弊-加強版擁抱開源:企業應如何善用開源技術,才能得其利而防其弊-加強版
擁抱開源:企業應如何善用開源技術,才能得其利而防其弊-加強版Yi-Feng Tzeng
 
Responsive Web UI Design
Responsive Web UI DesignResponsive Web UI Design
Responsive Web UI Designjay li
 
Modern Web Architecture Design Journey
Modern Web Architecture Design JourneyModern Web Architecture Design Journey
Modern Web Architecture Design JourneyYi-Feng Tzeng
 
A Modern Web Architecture for (GDPR) Compliance
A Modern Web Architecture for (GDPR) ComplianceA Modern Web Architecture for (GDPR) Compliance
A Modern Web Architecture for (GDPR) ComplianceYi-Feng Tzeng
 

What's hot (19)

SeaJS - 前端模块化开发探索与网站性能优化实践
SeaJS - 前端模块化开发探索与网站性能优化实践SeaJS - 前端模块化开发探索与网站性能优化实践
SeaJS - 前端模块化开发探索与网站性能优化实践
 
讓 HTML5 走進 IPTV Framework
讓 HTML5 走進 IPTV Framework讓 HTML5 走進 IPTV Framework
讓 HTML5 走進 IPTV Framework
 
模块加载策略 - 2012 SDCC, 北京
模块加载策略 - 2012 SDCC, 北京模块加载策略 - 2012 SDCC, 北京
模块加载策略 - 2012 SDCC, 北京
 
程式人雜誌 2015年五月
程式人雜誌 2015年五月程式人雜誌 2015年五月
程式人雜誌 2015年五月
 
移动Web开发框架jqm探讨
移动Web开发框架jqm探讨移动Web开发框架jqm探讨
移动Web开发框架jqm探讨
 
程式人雜誌 2015年三月
程式人雜誌 2015年三月程式人雜誌 2015年三月
程式人雜誌 2015年三月
 
程式人雜誌 -- 2015 年1月號
程式人雜誌 -- 2015 年1月號程式人雜誌 -- 2015 年1月號
程式人雜誌 -- 2015 年1月號
 
OPOA in Action -- 使用MagixJS简化WebAPP开发
OPOA in Action -- 使用MagixJS简化WebAPP开发OPOA in Action -- 使用MagixJS简化WebAPP开发
OPOA in Action -- 使用MagixJS简化WebAPP开发
 
更好的文件组织
更好的文件组织更好的文件组织
更好的文件组织
 
面向未来的重构
面向未来的重构面向未来的重构
面向未来的重构
 
基于Ivy ant的java构建初探
基于Ivy ant的java构建初探基于Ivy ant的java构建初探
基于Ivy ant的java构建初探
 
Html5开发android应用程序概述
Html5开发android应用程序概述Html5开发android应用程序概述
Html5开发android应用程序概述
 
網頁三本柱之Html與css
網頁三本柱之Html與css網頁三本柱之Html與css
網頁三本柱之Html與css
 
擁抱開源:企業應如何善用開源技術,才能得其利而防其弊
擁抱開源:企業應如何善用開源技術,才能得其利而防其弊擁抱開源:企業應如何善用開源技術,才能得其利而防其弊
擁抱開源:企業應如何善用開源技術,才能得其利而防其弊
 
給資安工程師開源授權觀念
給資安工程師開源授權觀念給資安工程師開源授權觀念
給資安工程師開源授權觀念
 
擁抱開源:企業應如何善用開源技術,才能得其利而防其弊-加強版
擁抱開源:企業應如何善用開源技術,才能得其利而防其弊-加強版擁抱開源:企業應如何善用開源技術,才能得其利而防其弊-加強版
擁抱開源:企業應如何善用開源技術,才能得其利而防其弊-加強版
 
Responsive Web UI Design
Responsive Web UI DesignResponsive Web UI Design
Responsive Web UI Design
 
Modern Web Architecture Design Journey
Modern Web Architecture Design JourneyModern Web Architecture Design Journey
Modern Web Architecture Design Journey
 
A Modern Web Architecture for (GDPR) Compliance
A Modern Web Architecture for (GDPR) ComplianceA Modern Web Architecture for (GDPR) Compliance
A Modern Web Architecture for (GDPR) Compliance
 

Viewers also liked

Node.js 入門 - 前端工程開發實務訓練
Node.js 入門 - 前端工程開發實務訓練Node.js 入門 - 前端工程開發實務訓練
Node.js 入門 - 前端工程開發實務訓練Joseph Chiang
 
CSS Animation:簡介 & 簡易 DEMO
CSS Animation:簡介 & 簡易 DEMOCSS Animation:簡介 & 簡易 DEMO
CSS Animation:簡介 & 簡易 DEMOJocelyn Hsu
 
阿盤的 Beamer 中英字型配方
阿盤的 Beamer 中英字型配方阿盤的 Beamer 中英字型配方
阿盤的 Beamer 中英字型配方Chen-Pan Liao
 
2016.3.22 從車庫的舊pc到百萬台伺服器
2016.3.22 從車庫的舊pc到百萬台伺服器2016.3.22 從車庫的舊pc到百萬台伺服器
2016.3.22 從車庫的舊pc到百萬台伺服器Chung-Hsiang Ofa Hsueh
 
浏览器工作原理浅析
浏览器工作原理浅析浏览器工作原理浅析
浏览器工作原理浅析癸鑫 张
 
Why API Security Is More Complicated Than You Think (and Why It’s Your #1 Pri...
Why API Security Is More Complicated Than You Think (and Why It’s Your #1 Pri...Why API Security Is More Complicated Than You Think (and Why It’s Your #1 Pri...
Why API Security Is More Complicated Than You Think (and Why It’s Your #1 Pri...ProgrammableWeb
 
不断归零的前端人生 - 2016 中国软件开发者大会
不断归零的前端人生 - 2016 中国软件开发者大会不断归零的前端人生 - 2016 中国软件开发者大会
不断归零的前端人生 - 2016 中国软件开发者大会Joseph Chiang
 
暴走漫画数据挖掘从0到1
暴走漫画数据挖掘从0到1暴走漫画数据挖掘从0到1
暴走漫画数据挖掘从0到1Michael Ding
 
Lean UX - 精實設計的入門
Lean UX - 精實設計的入門Lean UX - 精實設計的入門
Lean UX - 精實設計的入門Lex Wang
 
Google Map Android API V2 setup guide
Google Map Android API V2 setup guideGoogle Map Android API V2 setup guide
Google Map Android API V2 setup guideCAVEDU Education
 
用十分鐘學會 《微積分、工程數學》及其應用
用十分鐘學會  《微積分、工程數學》及其應用用十分鐘學會  《微積分、工程數學》及其應用
用十分鐘學會 《微積分、工程數學》及其應用鍾誠 陳鍾誠
 
教材摘要版 -Big data-海量資料的資料採礦方法-三星課程網陳景祥顧問-20130521
教材摘要版 -Big data-海量資料的資料採礦方法-三星課程網陳景祥顧問-20130521教材摘要版 -Big data-海量資料的資料採礦方法-三星課程網陳景祥顧問-20130521
教材摘要版 -Big data-海量資料的資料採礦方法-三星課程網陳景祥顧問-20130521Beckett Hsieh
 
20161024 R語言資料分析實務 (3)
20161024 R語言資料分析實務 (3)20161024 R語言資料分析實務 (3)
20161024 R語言資料分析實務 (3)羅左欣
 
機率統計 -- 使用 R 軟體
機率統計 -- 使用 R 軟體機率統計 -- 使用 R 軟體
機率統計 -- 使用 R 軟體鍾誠 陳鍾誠
 
用十分鐘將你的網站送上雲端
用十分鐘將你的網站送上雲端用十分鐘將你的網站送上雲端
用十分鐘將你的網站送上雲端鍾誠 陳鍾誠
 
20161003 R語言資料分析實務 (1)
20161003 R語言資料分析實務 (1)20161003 R語言資料分析實務 (1)
20161003 R語言資料分析實務 (1)羅左欣
 
如何用十分鐘快速瞭解一個程式語言 《以JavaScript和C語言為例》
如何用十分鐘快速瞭解一個程式語言  《以JavaScript和C語言為例》如何用十分鐘快速瞭解一個程式語言  《以JavaScript和C語言為例》
如何用十分鐘快速瞭解一個程式語言 《以JavaScript和C語言為例》鍾誠 陳鍾誠
 
系統程式 -- 為何撰寫此書
系統程式 -- 為何撰寫此書系統程式 -- 為何撰寫此書
系統程式 -- 為何撰寫此書鍾誠 陳鍾誠
 

Viewers also liked (20)

Node.js 入門 - 前端工程開發實務訓練
Node.js 入門 - 前端工程開發實務訓練Node.js 入門 - 前端工程開發實務訓練
Node.js 入門 - 前端工程開發實務訓練
 
CSS Animation:簡介 & 簡易 DEMO
CSS Animation:簡介 & 簡易 DEMOCSS Animation:簡介 & 簡易 DEMO
CSS Animation:簡介 & 簡易 DEMO
 
F2E, the Keystone
F2E, the KeystoneF2E, the Keystone
F2E, the Keystone
 
阿盤的 Beamer 中英字型配方
阿盤的 Beamer 中英字型配方阿盤的 Beamer 中英字型配方
阿盤的 Beamer 中英字型配方
 
2016.3.22 從車庫的舊pc到百萬台伺服器
2016.3.22 從車庫的舊pc到百萬台伺服器2016.3.22 從車庫的舊pc到百萬台伺服器
2016.3.22 從車庫的舊pc到百萬台伺服器
 
浏览器工作原理浅析
浏览器工作原理浅析浏览器工作原理浅析
浏览器工作原理浅析
 
Bigger
BiggerBigger
Bigger
 
Why API Security Is More Complicated Than You Think (and Why It’s Your #1 Pri...
Why API Security Is More Complicated Than You Think (and Why It’s Your #1 Pri...Why API Security Is More Complicated Than You Think (and Why It’s Your #1 Pri...
Why API Security Is More Complicated Than You Think (and Why It’s Your #1 Pri...
 
不断归零的前端人生 - 2016 中国软件开发者大会
不断归零的前端人生 - 2016 中国软件开发者大会不断归零的前端人生 - 2016 中国软件开发者大会
不断归零的前端人生 - 2016 中国软件开发者大会
 
暴走漫画数据挖掘从0到1
暴走漫画数据挖掘从0到1暴走漫画数据挖掘从0到1
暴走漫画数据挖掘从0到1
 
Lean UX - 精實設計的入門
Lean UX - 精實設計的入門Lean UX - 精實設計的入門
Lean UX - 精實設計的入門
 
Google Map Android API V2 setup guide
Google Map Android API V2 setup guideGoogle Map Android API V2 setup guide
Google Map Android API V2 setup guide
 
用十分鐘學會 《微積分、工程數學》及其應用
用十分鐘學會  《微積分、工程數學》及其應用用十分鐘學會  《微積分、工程數學》及其應用
用十分鐘學會 《微積分、工程數學》及其應用
 
教材摘要版 -Big data-海量資料的資料採礦方法-三星課程網陳景祥顧問-20130521
教材摘要版 -Big data-海量資料的資料採礦方法-三星課程網陳景祥顧問-20130521教材摘要版 -Big data-海量資料的資料採礦方法-三星課程網陳景祥顧問-20130521
教材摘要版 -Big data-海量資料的資料採礦方法-三星課程網陳景祥顧問-20130521
 
20161024 R語言資料分析實務 (3)
20161024 R語言資料分析實務 (3)20161024 R語言資料分析實務 (3)
20161024 R語言資料分析實務 (3)
 
機率統計 -- 使用 R 軟體
機率統計 -- 使用 R 軟體機率統計 -- 使用 R 軟體
機率統計 -- 使用 R 軟體
 
用十分鐘將你的網站送上雲端
用十分鐘將你的網站送上雲端用十分鐘將你的網站送上雲端
用十分鐘將你的網站送上雲端
 
20161003 R語言資料分析實務 (1)
20161003 R語言資料分析實務 (1)20161003 R語言資料分析實務 (1)
20161003 R語言資料分析實務 (1)
 
如何用十分鐘快速瞭解一個程式語言 《以JavaScript和C語言為例》
如何用十分鐘快速瞭解一個程式語言  《以JavaScript和C語言為例》如何用十分鐘快速瞭解一個程式語言  《以JavaScript和C語言為例》
如何用十分鐘快速瞭解一個程式語言 《以JavaScript和C語言為例》
 
系統程式 -- 為何撰寫此書
系統程式 -- 為何撰寫此書系統程式 -- 為何撰寫此書
系統程式 -- 為何撰寫此書
 

Similar to 前端的未來 - 前端工程實務訓練

Git 入门实战
Git 入门实战Git 入门实战
Git 入门实战icy leaf
 
Learning to Use Git | WeiYuan
Learning to Use Git | WeiYuanLearning to Use Git | WeiYuan
Learning to Use Git | WeiYuanWei-Yuan Chang
 
Git and Github basic with SourceTree
Git and Github basic with SourceTreeGit and Github basic with SourceTree
Git and Github basic with SourceTreeChu-Siang Lai
 
Git内部培训文档
Git内部培训文档Git内部培训文档
Git内部培训文档superwen
 
Git and git hub
Git and git hubGit and git hub
Git and git hub唯 李
 
COSCUP 2015 開源之道-Git工作坊教學簡報
COSCUP 2015 開源之道-Git工作坊教學簡報COSCUP 2015 開源之道-Git工作坊教學簡報
COSCUP 2015 開源之道-Git工作坊教學簡報Bachue Zhou
 
工程師必備第一工具 - Git
工程師必備第一工具 - Git工程師必備第一工具 - Git
工程師必備第一工具 - GitAlan Tsai
 
Git in a nutshell
Git in a nutshellGit in a nutshell
Git in a nutshellNelson Tai
 
AI 魔法師 - 繪圖詠唱初階班 (Stable Diffusion 101) @交大動畫社 [2023/3/13]
AI 魔法師 - 繪圖詠唱初階班 (Stable Diffusion 101) @交大動畫社 [2023/3/13]AI 魔法師 - 繪圖詠唱初階班 (Stable Diffusion 101) @交大動畫社 [2023/3/13]
AI 魔法師 - 繪圖詠唱初階班 (Stable Diffusion 101) @交大動畫社 [2023/3/13]Edison Lee
 
Git Essence Tutorial
Git Essence TutorialGit Essence Tutorial
Git Essence TutorialHo Kim
 
為自己學 Git
為自己學 Git為自己學 Git
為自己學 Git昀 李
 
Android 程式設計(4)
Android 程式設計(4)Android 程式設計(4)
Android 程式設計(4)Roy Wang
 
Introduction to git
Introduction to gitIntroduction to git
Introduction to gitBo-Yi Wu
 
Git 使用介绍
Git 使用介绍Git 使用介绍
Git 使用介绍medcl
 
寫給大家的 Git 教學
寫給大家的 Git 教學寫給大家的 Git 教學
寫給大家的 Git 教學littlebtc
 
Git tutorial for windows user (給 Windows user 的 Git 教學)
Git tutorial for windows user (給 Windows user 的 Git 教學)Git tutorial for windows user (給 Windows user 的 Git 教學)
Git tutorial for windows user (給 Windows user 的 Git 教學)Cloud Tu
 
Git基礎介紹
Git基礎介紹Git基礎介紹
Git基礎介紹Max Ma
 
Git+使用教程
Git+使用教程Git+使用教程
Git+使用教程gemron
 

Similar to 前端的未來 - 前端工程實務訓練 (20)

Git 入门实战
Git 入门实战Git 入门实战
Git 入门实战
 
Learning to Use Git | WeiYuan
Learning to Use Git | WeiYuanLearning to Use Git | WeiYuan
Learning to Use Git | WeiYuan
 
Git and Github basic with SourceTree
Git and Github basic with SourceTreeGit and Github basic with SourceTree
Git and Github basic with SourceTree
 
Git内部培训文档
Git内部培训文档Git内部培训文档
Git内部培训文档
 
Git and git hub
Git and git hubGit and git hub
Git and git hub
 
COSCUP 2015 開源之道-Git工作坊教學簡報
COSCUP 2015 開源之道-Git工作坊教學簡報COSCUP 2015 開源之道-Git工作坊教學簡報
COSCUP 2015 開源之道-Git工作坊教學簡報
 
工程師必備第一工具 - Git
工程師必備第一工具 - Git工程師必備第一工具 - Git
工程師必備第一工具 - Git
 
Git in a nutshell
Git in a nutshellGit in a nutshell
Git in a nutshell
 
AI 魔法師 - 繪圖詠唱初階班 (Stable Diffusion 101) @交大動畫社 [2023/3/13]
AI 魔法師 - 繪圖詠唱初階班 (Stable Diffusion 101) @交大動畫社 [2023/3/13]AI 魔法師 - 繪圖詠唱初階班 (Stable Diffusion 101) @交大動畫社 [2023/3/13]
AI 魔法師 - 繪圖詠唱初階班 (Stable Diffusion 101) @交大動畫社 [2023/3/13]
 
Git Essence Tutorial
Git Essence TutorialGit Essence Tutorial
Git Essence Tutorial
 
為自己學 Git
為自己學 Git為自己學 Git
為自己學 Git
 
Android 程式設計(4)
Android 程式設計(4)Android 程式設計(4)
Android 程式設計(4)
 
Introduction to git
Introduction to gitIntroduction to git
Introduction to git
 
Git 使用介绍
Git 使用介绍Git 使用介绍
Git 使用介绍
 
Git教學
Git教學Git教學
Git教學
 
寫給大家的 Git 教學
寫給大家的 Git 教學寫給大家的 Git 教學
寫給大家的 Git 教學
 
Git tutorial for windows user (給 Windows user 的 Git 教學)
Git tutorial for windows user (給 Windows user 的 Git 教學)Git tutorial for windows user (給 Windows user 的 Git 教學)
Git tutorial for windows user (給 Windows user 的 Git 教學)
 
Git基礎介紹
Git基礎介紹Git基礎介紹
Git基礎介紹
 
Git+使用教程
Git+使用教程Git+使用教程
Git+使用教程
 
Git入門介紹
Git入門介紹Git入門介紹
Git入門介紹
 

More from Joseph Chiang

Automatic Functional Testing with Selenium and SauceLabs
Automatic Functional Testing with Selenium and SauceLabsAutomatic Functional Testing with Selenium and SauceLabs
Automatic Functional Testing with Selenium and SauceLabsJoseph Chiang
 
From Hacker to Programmer (w/ Webpack, Babel and React)
From Hacker to Programmer (w/ Webpack, Babel and React)From Hacker to Programmer (w/ Webpack, Babel and React)
From Hacker to Programmer (w/ Webpack, Babel and React)Joseph Chiang
 
JavaScript Code Quality
JavaScript Code QualityJavaScript Code Quality
JavaScript Code QualityJoseph Chiang
 
YUI is Sexy (for JSDC.tw)
YUI is Sexy (for JSDC.tw)YUI is Sexy (for JSDC.tw)
YUI is Sexy (for JSDC.tw)Joseph Chiang
 
YUI is Sexy - 使用 YUI 作為開發基礎
YUI is Sexy - 使用 YUI 作為開發基礎YUI is Sexy - 使用 YUI 作為開發基礎
YUI is Sexy - 使用 YUI 作為開發基礎Joseph Chiang
 
Git - The Social Coding System
Git - The Social Coding SystemGit - The Social Coding System
Git - The Social Coding SystemJoseph Chiang
 
分享無名小站 API
分享無名小站 API分享無名小站 API
分享無名小站 APIJoseph Chiang
 
yui3 is Sexy - 使用 YUI 3 的 Sexy Part !
yui3 is Sexy - 使用 YUI 3 的 Sexy Part !yui3 is Sexy - 使用 YUI 3 的 Sexy Part !
yui3 is Sexy - 使用 YUI 3 的 Sexy Part !Joseph Chiang
 
建立前端開發團隊 - 2011 中華電信訓練所版
建立前端開發團隊 - 2011 中華電信訓練所版建立前端開發團隊 - 2011 中華電信訓練所版
建立前端開發團隊 - 2011 中華電信訓練所版Joseph Chiang
 
不用不可之 Fiddler Debugging Proxy!
不用不可之 Fiddler Debugging Proxy!不用不可之 Fiddler Debugging Proxy!
不用不可之 Fiddler Debugging Proxy!Joseph Chiang
 
Front-end Modular & Autmomated Development
Front-end Modular & Autmomated Development Front-end Modular & Autmomated Development
Front-end Modular & Autmomated Development Joseph Chiang
 
建立前端开发团队 (Front-end Development Environment)
建立前端开发团队 (Front-end Development Environment)建立前端开发团队 (Front-end Development Environment)
建立前端开发团队 (Front-end Development Environment)Joseph Chiang
 
Hack Day Sharing at D-Link
Hack Day Sharing at D-LinkHack Day Sharing at D-Link
Hack Day Sharing at D-LinkJoseph Chiang
 
桃園農工講「跑步環島」
桃園農工講「跑步環島」桃園農工講「跑步環島」
桃園農工講「跑步環島」Joseph Chiang
 

More from Joseph Chiang (19)

Let's Redux!
Let's Redux!Let's Redux!
Let's Redux!
 
Automatic Functional Testing with Selenium and SauceLabs
Automatic Functional Testing with Selenium and SauceLabsAutomatic Functional Testing with Selenium and SauceLabs
Automatic Functional Testing with Selenium and SauceLabs
 
From Hacker to Programmer (w/ Webpack, Babel and React)
From Hacker to Programmer (w/ Webpack, Babel and React)From Hacker to Programmer (w/ Webpack, Babel and React)
From Hacker to Programmer (w/ Webpack, Babel and React)
 
JavaScript Promise
JavaScript PromiseJavaScript Promise
JavaScript Promise
 
F2E for Enterprise
F2E for EnterpriseF2E for Enterprise
F2E for Enterprise
 
JavaScript Code Quality
JavaScript Code QualityJavaScript Code Quality
JavaScript Code Quality
 
YUI is Sexy (for JSDC.tw)
YUI is Sexy (for JSDC.tw)YUI is Sexy (for JSDC.tw)
YUI is Sexy (for JSDC.tw)
 
YUI is Sexy - 使用 YUI 作為開發基礎
YUI is Sexy - 使用 YUI 作為開發基礎YUI is Sexy - 使用 YUI 作為開發基礎
YUI is Sexy - 使用 YUI 作為開發基礎
 
Git - The Social Coding System
Git - The Social Coding SystemGit - The Social Coding System
Git - The Social Coding System
 
miiiCasa is Fun
miiiCasa is FunmiiiCasa is Fun
miiiCasa is Fun
 
分享無名小站 API
分享無名小站 API分享無名小站 API
分享無名小站 API
 
yui3 is Sexy - 使用 YUI 3 的 Sexy Part !
yui3 is Sexy - 使用 YUI 3 的 Sexy Part !yui3 is Sexy - 使用 YUI 3 的 Sexy Part !
yui3 is Sexy - 使用 YUI 3 的 Sexy Part !
 
建立前端開發團隊 - 2011 中華電信訓練所版
建立前端開發團隊 - 2011 中華電信訓練所版建立前端開發團隊 - 2011 中華電信訓練所版
建立前端開發團隊 - 2011 中華電信訓練所版
 
不用不可之 Fiddler Debugging Proxy!
不用不可之 Fiddler Debugging Proxy!不用不可之 Fiddler Debugging Proxy!
不用不可之 Fiddler Debugging Proxy!
 
Open platform
Open platformOpen platform
Open platform
 
Front-end Modular & Autmomated Development
Front-end Modular & Autmomated Development Front-end Modular & Autmomated Development
Front-end Modular & Autmomated Development
 
建立前端开发团队 (Front-end Development Environment)
建立前端开发团队 (Front-end Development Environment)建立前端开发团队 (Front-end Development Environment)
建立前端开发团队 (Front-end Development Environment)
 
Hack Day Sharing at D-Link
Hack Day Sharing at D-LinkHack Day Sharing at D-Link
Hack Day Sharing at D-Link
 
桃園農工講「跑步環島」
桃園農工講「跑步環島」桃園農工講「跑步環島」
桃園農工講「跑步環島」
 

前端的未來 - 前端工程實務訓練

  • 1. 1 放眼未來:新的技術 前端工程開發實務訓練 (8/8) 講師:蔣定宇 / josephj Copyright © 2012 FITPI. All rights reserved.
  • 2. 2 未來你需掌握的相關技術 ๏ GitHub - 開放程式碼及套件的社群網站。任 何種類的程式開發人員都應該經常來尋找資 源,可以節省大量時間!當然後面是由 Git 版 本控管系統所支撐,你也應該要會。 ๏ HTML5 - 提供網站與手機開發更多可能性, 過去 Flash 才能做的、未來 HTML 也可以。 ๏ Node.js - 讓 JavaScript 從瀏覽器端解脫, 你可以用它來做更多事。(前面介紹過、不再贅 述) Copyright © 2012 FITPI. All rights reserved.
  • 3. 3 Git / GitHub 版本控管結合社群力量,可以幫你省大量開發時間 Copyright © 2012 FITPI. All rights reserved.
  • 4. 4 Git 版本控管工具 ๏ 版本控管:誰在什麼時間改了什麼東西都有清楚記 載,可以隨時回到過去。 ❖ 避免把程式寫壞、不知如何復原。 ❖ 不論公司團隊、個人都需要! ๏ Git 的出現,完全將老牌的 CVS/SVN 打入冷宮。 ๏ 作者就是 Linus (Linux 之父) ๏ Git 是工具,自己的電腦就可以獨立運作。 ๏ 甚至常有人拿 Git 做佈署網站。 Copyright © 2012 FITPI. All rights reserved.
  • 5. 5 P2P 架構 使用 git clone 可以迅速地複製 Repository 到不同地方 miiiCasa git clone Richard git clone git clone git clone Joseph Hunter Kevin 每個 Repository 皆地位相等、獨立運作、也可再被 clone Copyright © 2012 FITPI. All rights reserved.
  • 6. 可離線作業 6 git commit miiiCasa 不影響其他 Repository 即使沒有網路依然可以 Commit、記錄我的變更 「做⾃自⼰己的版本控管」 Joseph vim foo.txt git add foo.txt Hunter git commit -m “typo correct” Kevin git commit 僅在自己 Repo 增加記錄、不影響別的 Repo Copyright © 2012 FITPI. All rights reserved.
  • 7. 加入遠端的變更 7 git pull miiiCasa 將原始 Repo 的變更抓回來用 git pull 此時這裡有我的變更 + miiiCasa 的變更 Joseph Hunter git pull Kevin git pull 會將自動做兩個 Repo 的程式碼合併 Copyright © 2012 FITPI. All rights reserved.
  • 8. 加入遠端的變更 8 git pull <remote> <branch> miiiCasa 將其他 Repo 的變更抓回來用 此時這裡有我的變更 + miiiCasa 的變更 + Kevin 的變更 Joseph Hunter git pull Kevin master git pull Kevin master Kevin 只要是有相同的歷史,可以隨意合併指定的 Repo Copyright © 2012 FITPI. All rights reserved.
  • 9. 9 遞送自己的變更 miiiCasa 有 我的變更 + miiiCasa Kevin 的變更 git push 將我的修改傳送到 Origin git push Joseph Hunter git push Kevin 可利用 pull/push 做雙向的合併(即同步) Copyright © 2012 FITPI. All rights reserved.
  • 10. 10 GitHub 讓 Social Coding 不只是口號 Copyright © 2012 FITPI. All rights reserved.
  • 11. 11 全世界知名的 Open Source Project 都在 github Copyright © 2012 FITPI. All rights reserved.
  • 12. 12 提供非常多 Social Coding 的機制 Open Source 也是在交朋友啊! 別人修改、希望你 merge 的請求 被關注與被 fork 的次數 開 Bug 給你 可直接 git clone 帶走 (不需註冊) 非常鼓勵大家把程式碼放到 GitHub 讓 Social 的力量促使你的 Project 更好 Copyright © 2012 FITPI. All rights reserved.
  • 13. 13 在 github 建立團隊、與外界分享可 Open 的工具與專案 Copyright © 2012 FITPI. All rights reserved.
  • 14. 14 在 github 建立團隊、與外界分享可 Open 的工具與專案 github.com miiiCasa miiiCasa private central public central repository repository Clonn Joseph Kevin Richard contributor employee employee employee 寫程式的不只是員工、還有公司外的開發者! Copyright © 2012 FITPI. All rights reserved.
  • 15. 15 HTML5 ๏ HTML5 實際上包含了 HTML 的新標籤、 CSS3,及占絕大多數的 JavaScript。 ๏ 原本 HTML 的設計目標只是用來顯示文件與互 相連結、並非用來製作像 Gmail 這樣的應用程 式。HTML5 彌補了不足。 ๏ Flash 是過去 Web 應用程式的霸主,因 HTML5 的出現及 iPhone 不支援,未來會越 來越不重要。 ๏ 因瀏覽器相容性與實作不一致,使用 HTML5 時必定得考慮相容性及產品定位。 Copyright © 2012 FITPI. All rights reserved.
  • 16. 16 值得關注的技術 ๏ Canvas:繪圖 ๏ FileSystem:讓 JS 也能處理 Binary ๏ WebSocket:與伺服器即時雙向溝通 ๏ Local Storage:將資料存放於瀏覽器 ๏ History API:不換頁網址更新 ๏ Web Fonts:載入字型檔 ๏ Audio / Video:網頁原生的播放器 Copyright © 2012 FITPI. All rights reserved.
  • 17. Canvas 17 ๏ HTML 繪圖一直都存在著,像是 IE 一直有 VML 技 術。但為了跨平台、大多數人的選擇還是 Flash。 ๏ Canvas 是 2D 技術、比較成熟。也有 WebGL 的 3D 技術。 ๏ 像是縮圖、讓照片看起來平滑這些 Canvas 都有機會 做到,但演算機制的套件目前較少。 ๏ Google+ 使用者意見回饋可將當前網頁截圖丟到伺 服器上 => Canvas 技術! ๏ YUI Graphics 相容於 SVG、VML、Canvas ❖ http://yuilibrary.com/yui/docs/graphics/ 練習:http://f2eclass.com/lab/html5/canvas.html Copyright © 2012 FITPI. All rights reserved.
  • 18. 18 FileSystem ๏ 包含多檔上傳、從桌面上拖拉檔案到頁面中 (反之亦然)。 ๏ YUI 的 Uploader 提供了拖拉上傳,就是一個 很棒的 FileSystem 應用。 ❖ http://yuilibrary.com/yui/docs/uploader 練習:http://f2eclass.com/lab/html5/yui-uploader.html Copyright © 2012 FITPI. All rights reserved.
  • 19. 19 Local Storage ๏ 資料不一定要跟 Server 拿,若不常更新,則應儲 存在瀏覽器避免浪費頻寬(對效能有幫助)。 ๏ 過去要儲存資料在使用者的瀏覽器只能透過 Cookie,但容量有限。Flash 提供的空間反而比較 適合。 ๏ HTML5 提供了多個資料儲存方案: LocalStorage、IndexDB、Application Cache。 ๏ YUI 的 Cache 工具:整合了 LocalStorage。 http://yuilibrary.com/yui/docs/cache/ 練習:http://f2eclass.com/lab/html5/yui-cache.html Copyright © 2012 FITPI. All rights reserved.
  • 20. 20 History API ๏ 過去不換頁技術(JSONP、AJAX)要能整合上一 頁、下一頁或加到我的最愛只能用 # 來實作。 ๏ 現在像 Facebook、Twitter、Github 都實作了 History API:讓不換頁的網址能夠動態更換。 ❖ 看看範例:https://github.com/josephj/module 點選下面檔案任意連結並觀察網址。 ๏ YUI 提供了 History API: http://f2eclass.com/lab/html5/yui-history.html 練習:http://f2eclass.com/lab/html5/yui-history.html Copyright © 2012 FITPI. All rights reserved.
  • 21. 21 Web Fonts ๏ 藉由直接下載字型檔,讓網頁中的文字以此字體顯 示、即使使用者未安裝也沒關係。 ๏ 英文很容易實現,因為字數少: ❖ 請參考 Google Font API https://developers.google.com/webfonts/docs/ getting_started#Quick_Start ๏ 中文字數太多不適合,但有人實作特殊技術(會分 析網頁中有哪些字、再下載只有這些字的字型檔: ❖ 請參考 justFont 「就是字」 http://www.justfont.com/ Copyright © 2012 FITPI. All rights reserved.
  • 22. 22 <audio> 標籤 ๏ 支援瀏覽器: IE9+ 及主流瀏覽器 ๏ 支援格式:MP3, WAV, OGG。 ๏ 問題: ❖ M4A 是目前 iTune 的支援格式。 ❖ 不同瀏覽器支援的格式不同。 ❖ 要偵測瀏覽器支援度太辛苦了! ๏ 從 IE6 支援到手機瀏覽器 - SoundManager2 ❖ http://www.schillmania.com/projects/soumanager2/ Copyright © 2012 FITPI. All rights reserved.
  • 23. <video> 標籤 23 ๏ 跟 <audio> 標籤相比,<video> 支援度問題更多 ❖ 支援瀏覽器:IE9+ 及主流瀏覽器 ❖ 支援格式:(avi 不支援, dat 不支援...) ✦ WebM, Theora/Vorbis (*.ogg ; *.ogv) ,H.264 / AAC (*.mp4 ; *.m4v) ๏ 大部分的影音網站會將各種不同的影音檔轉為 FLV (Flash Video),利用 Flash Player 播放。 ❖ 手機不支援 Flash,得有 H.264 檔以 <audio> 播放。 ❖ 解決方案為 FlowPlayer:http://flowplayer.org/ ๏ 若希望支援大量格式,使用者得裝 VLC Player。 ❖ 手機的問題一樣得另外解... Copyright © 2012 FITPI. All rights reserved.
  • 24. 24 練習:<video> <video>     <source src="video.ogg">     <source src="video.m4v">     <p>很抱歉!您的瀏覽器不支援 HTML5 Video</p> </video> 有哪些屬性、方法、事件可以參考: http://www.w3schools.com/tags/ref_av_dom.asp 練習:http://f2eclass.com/lab/html5/video.html Copyright © 2012 FITPI. All rights reserved.
  • 25. 25 前端的深入研究 ๏ 物件導向:OOP (Object-oriented Programming) 開 發可大量減少重複的程式碼。 ๏ 模組架構:如何切分網站的架構更模組 化,讓維護性更加強。 ๏ JavaScript MVC 架構:新的開發模 式、適合用在應用程式類的網站。 ๏ 持續整合:代碼品質自動檢查、自動 Build、自動化測試、API 文件化... Copyright © 2012 FITPI. All rights reserved.
  • 26. 26 前端的深入研究 這些主題都很大,跟前端的 UI 也沒直接關係 但能讓團隊的開發架構往正確的方向生長 讓每個開發成員都受益 目前一般公司的前端開發架構仍不算完整 所以很需要這樣的人才:前端架構師。 Copyright © 2012 FITPI. All rights reserved.
  • 27. 27 努力寫 Prototype! 證明可行性、拒絕空口說白話 前端工程師面對的環境複雜(瀏覽器相異) 應該避免用「猜測」的方式處理問題,例如: 「應該是 IE 的 Bug」、「應該是 YUI 的 Bug」 相較於後端可能需設置環境或編譯 前端只要有隨手可得的記事本 + 瀏覽器即可試驗 所以把問題單純化、快速寫個小範例就可證明了 也許大多時候、猜測通常不成立。 新技術的可行性研究也是需要 Prototyping 的! Copyright © 2012 FITPI. All rights reserved.
  • 28. 關於面試 F2E 28 除了態度,我面試時會觀察以下項目 ๏ 是否對開發有熱情:個人部落格、臉書、噗浪。 ๏ 是否理解原理、不能只是會用特定函式庫。 ๏ 是否有可展示的專案或作品網站。 ๏ 是否重視程式碼維護性、大於 UI 炫麗程度。 ๏ 是否有正確觀念:例如理解 Semantic、漸進式支 援、無障礙等。 ๏ 是否有軟體團隊合作經驗。 ๏ 是否夠「硬」:元件架構、Closure、模組架構、 MVC、版本控管、佈署議題、持續整合等。 Copyright © 2012 FITPI. All rights reserved.
  • 29. 29 台灣的前端交流聚會 鼓勵大家多參加交流會,免費又可長知識 ๏ JSDC (JavaScript Developer Conference) ❖ JavaScript 的年度盛會 ❖ http://jsdc.tw/2013/ ๏ JavaScript.tw ❖ 在台北、台中不定期舉辦小聚 ❖ http://blog.javascript.tw/ ๏ Node.js Taiwan Party ❖ Node.js 相關中文資訊 ❖ http://nodejs.tw/ ๏ 台灣工程師年度大拜拜 - OSDC.tw、COSCUP Copyright © 2012 FITPI. All rights reserved.
  • 30. 30 Q&A 還有什麼需要補充的? Copyright © 2012 FITPI. All rights reserved.
  • 31. 31 Thank You! 感謝大家來參與前端工程實務訓練 歡迎大家保持聯繫、多多互相分享 Copyright © 2012 FITPI. All rights reserved.