Thursday, February 27, 2014

[節錄] 你還在賴床時,成功的人早就爬起來在用功學習了


 
回想一下,今天早上你做了什麼事呢?昨天呢?

前一晚熬夜所以放縱自己睡了一整個早上?晚起吃了早餐,時間又接近午餐的時候了?還是忙著收發 Email 和排滿開會行程?

其實,早晨時光是一段沒有被好好充分利用的時段,而且此時正是人精神最有創造力的時候;然而,許多人卻把時間花在收發 Email、開會,看似妥當利用時間,但這是並不是成功的途徑。
  • 成功的人怎麼利用早晨時光呢?
國際知名作家 Laura Vanderkam 的 What the Most Successful People Do Before Breakfast 中寫到,大多數成功的人,一早就能完全掌握自己的計劃,並且根據事情的優先順序來一一執行,能夠好好利用你的早上,就是在投資自己;這就是為什麼億萬富翁 Charlie Munger 能夠變得非常聰明:每天早上空出一小時,讓自己沉浸於學習
  • 早上時段專注力最好
大部分的人發現,在早上比較容易要求自律地完成任何事情,也就是比較能夠專注;舉個例子來說,大學教授 Roy Baumeister,是 Willpower: Rediscovering the Greatest Human Strength 的作者,他比大多數人花了更多時間在訓練意志力及自律。
  • 習慣了,就能儲備意志力
到公司上班和下班回家,是受到來自於同個精神力的兩種意志力控制,控制著你的思考流程及情感。
Baumeister 在訪談中說到:「你只有一個能量來源,但需要控制所有行為。不只是抵抗食物的誘惑,控制你的情感、思想,還有工作表現、做決策的思維等等,幾乎所有涉及生理與心理,都必須倚賴這份能量。」
要把事情強迫依照計畫上走,一開始是很需要意志力,但長期下來,反而能將意志力保存起來,只要變成習慣,事情就會是一個自動化的流程,也更加輕鬆簡單,不再需要意志力來控制了。
  • 向成功的人看齊:請培養早晨好習慣!
那早晨應該要培養什麼好習慣呢?
最棒的活動,是發自內心的意念,不需要在特定時間完成,但並不是像看電視一樣能立即獲得娛樂,也不是急切地要回復 Email,而是長時間下來,會有幫助的、能夠規律實行的活動。
你一定很好奇,那大部分成功的人都做些什麼呢?

1. 對工作有助益的:計劃、制定決策以及專注於目前的工作
早上是最不會被打擾的時段,也是最能夠專心於工作的時候。另外,盡可能利用你的早上 6 點到 9 點,管理並調節職場壓力,就如同芝加哥大學的歷史博士 Charlotte Walker 所說,「每天我都有工作,但在早晨,我會認為我有一個職業。」換個角度思考,你就能以更好的心境來面對一天的挑戰。

2. 培養良好的關係:陪伴家人朋友,他們是上天給予你最好的禮物
幸福家庭的祕訣是什麼?
答案其實很簡單,就是陪家人一起吃飯
每天在外奔波,早出晚歸,你有多久沒有和家人朋友好好吃頓飯了?加班到很晚沒辦法共進晚餐,那就早點起床幫他們準備早餐,即使你已經出門上班,家人也能感受到你的用心與溫暖。

3. 投資自己:實踐精神性與具有創造性的活動
早上的時候大家都在睡覺,這樣想,你就不會覺得自己是不是錯過了什麼重要的事情,因此也能夠好好利用這段時間來培養自己,別小看這段時間,好好利用它一定會對你一整天精神能量一定會有十分正面的影響!
我們會想要賴床,是因為大腦告訴你:一旦起床你得面對所有該要完成的事情。當大腦傳遞如此沉重的訊息時,你會想要逃避,想要繼續留在被窩,這顯然是一種惡性循環。何不反向思考一下,試著去想像你一天所期待的事情,那你就會很樂意離開被窩,大腦思考的決定權是在於你自己,想像著開心的事情,欣賞並把握早晨的時光吧!
培養好習慣,投資自己,就從早晨開始吧!


延伸閱讀:
受夠了生活一團亂,就學學成功人士的好習慣
下班後頓失重心?養成這 14 個習慣,就能擁有創意的人生
不要自找麻煩了!小心這六個壞習慣,搞砸你的工作效率


(資料來源:FarnamStreet;圖片來源:My Sight, as You See., CC Licensed)

Source: http://techorange.com/2014/02/26/what-the-most-successful-people-do-before-breakfast/

Tuesday, February 25, 2014

[節錄] 台下聽眾要睡著了?《 The Next Web 》創辦人傳授完美演講秘訣

 
完美的演說或展示應具備哪些因素?
科技媒體 The Next Web 聯合創始人 Boris 參加過許多大會,聽過不計其數的演講,也見過演講人犯過了許多低級的錯誤為此,他總結了演說需具備的要素,如果你要做類似的演說,希望能有所幫助。
  • 你是誰?
這點經常被忽視。這並不意味著聽眾就不知道你是誰了,因為每個大會前簡單的介紹還是有的。但是如果演講人用一兩句話談一下個人情況對話題的重要性,將對聽眾吸收你的內容很有幫助

  • 幫助聽眾找到你
很多演講的末尾都會有一張有演講人聯繫方式的幻燈片,但是,時間一般而言都太短了吧?聽眾根本來不及記,更不用說去聯繫你了。
好的方法是在開頭和結尾的幻燈片上都放上你的聯繫方式,如果能在每頁的底部都放上你的郵箱和名字就更好了當然,聽眾也應該在演講快結束時準備好手機拍照,這樣就不怕來不及記了。

  • 真實的故事
大家都愛聽故事我見過最好的演說根本不像演說,而是親身經歷者所講述的一個個動人故事親身經歷的更好,有趣的更好。

  • 訊息重要,娛樂也重要
娛樂你的聽眾!
他們既然如此耐心地聽你講話,為何不獎勵他們一些有趣的話呢?不用每一分鐘都很嚴肅地講,聽眾聽得愉快時,他們會聽得更認真

  • 完美的時間掌控
當你在進行演說時,其實是在藉用時間。把握好時間是對別人的尊重以及對​​別人信任的回報。你演說的目的是讓聽眾覺得有收穫,值得花時間去聆聽。原計劃 30 分鐘的演講,你只用了 25 分鐘甚至是 15 分鐘,那也沒有關係。此時你盡可以向聽眾徵求問題。你的演說越好,聽眾的問題也會越多。

  • 可以帶回家的東西
每次演講,我都會想一些實用的東西-聽過的人回到工作中馬上就能派上用場的。
靈感很重要;干貨,也就是講實際的,同樣重要

  • 重複沒關係
你覺得大家都很認真地在聽你演講,但事實上他們可能只聽到 30% 的內容。
分心也好,沒跟上節奏也好,但適當的重複總是沒錯的比如你要解釋某樣東西,開頭說了一次,中間舉兩個實例,最後再重複或強調一遍,這樣差不多就夠了。

  • 幫助他們記住至少一樣東西
演講人很容易「灌輸」過多信息。你很希望在演講中分享自己的真知灼見,但大多數人吸收不了那麼多,尤其當你只是眾多演講人中的一位時。
如果有 10% 的人仔細聽了,記住了其中的一兩點,回去應用到他們的生活中,那就已經相當不錯了。用簡單明瞭的故事,去重點闡述一件聽眾能夠記住並立刻對他們產生影響的事情

  • 與聽眾的溝通
當你在演講時,你希望讓聽眾感覺你在對每個人單獨說話。
我有個很有用的小技巧,就是上台之後,我會看著觀眾。不是看一兩秒,而是越長越好,讓我可以與每個人進行眼神交流,有時還會微笑、招招手。這招屢試不爽的原因是,在一個很大的地方,觀眾並不知道你真的在看誰,因此只要你看著某個方向,眼神不要走得太快,面帶微笑,周圍的人可能都會覺得你在看自己。這樣就會達到好的溝通效果

  • 總結
看完此文,如果你馬上能用到其中一點,這樣我們的付出就沒有白費。
我們也現學現賣,最後再總結並重複一次:簡單談談你是誰,幫助聽眾找到你,多說你個人真實的故事,娛樂你的聽眾,完美的時間掌控,多講可以帶回家的干貨,重複沒關係,幫助聽眾至少記住一樣東西,與聽眾溝通。
雖然標題上寫著 10 條,但是沒有人真的會去數是不是 10 條,只要你說的有道理。
你們是否記住其中一點了呢?

延伸閱讀:

[節錄] 大家都說要學 Coding,但我該先從哪種程式語言下手?

許多人都在提倡學習 Coding ,但卻很少人告訴我們,該從哪種語言下手。
美國知名媒體 Business Insider 最近一篇文章 <The 100 Best Jobs In 2014> 討論美國 2014 前百大最佳職業,第一名就是「軟體工程師」,平均年薪 90,060 美金(約 270 萬台幣、XX 港幣、XX 新幣、XX 馬來幣),而且相關人才需求在未來仍然持續成長。這幾年美國、亞洲興起大量程式設計學校積極培養軟體人才,因應需求。
但是,這麼多的程式語言:Javascript、Java、Python、C、C++、C# 、Ruby、Objective – C …… ,如果你是一個想成為一個軟體開發者的初學者,到底該先學習哪一種程式語言當入門第一課 ?
我請教幾位在不同產業的軟體工程師,他們都認為,在跳進任何一種語言前你最好先問自己:想成為哪一種應用的開發者,想做什麼樣的產品。想設計網站、開發 App ( 在 Android 上還是 iOS 上?)、遊戲 …… 還是現在只是想要學,還沒有具體要做的產品或專案?
  • 不知道要做什麼,只想學程式語言?
曾聽到一位設計師在演講中說:「最好的設計師不是先學技術,而是先想出欲創造的點子,再從產品的需求端拉技術進來」,學習程式也裡當如此。
但如果你和我一樣還不知道該創造什麼樣的產品,我認為可以從網頁端先開始,從學習過程中邊走邊看,找出比較想開發的產品和必須學習的語言和工具。而且,最好的程式設計師並不會只專注在一種語言上,而是必須具備學習「任何一種語言」的能力,並把「不斷學習」當作程式設計師的責任。就如同美國知名程式設計學校 Hacker School 的名言:
「 學程式永遠不會有畢業的一天。」
前端語言入門款:HTML、CSS、jQuery
回歸主題,我認為剛開始還是從網頁的基礎設計語言 HTML(正確稱呼為『標籤語言』) 、 CSS  先著手是最適合的,因為這幾種工具,對你理解網頁「視覺」上的設計上最快,也是最簡單的途徑。
去哪學最快?
1. Codecademy (免費)
目前在免費網站中,最知名的應該就是它了。上面所有的程式語言課程都是免費(HTML & CSS 、jQuery、JavaScript、PHP、Python、Ruby),互動式的界面做的不錯,也有討論區可以跟別的學習者一起討論問題,每個單元結束時都會有實作的作業可以及時了解學習成效。
Codeacademy 的缺點是,單元練習時的介紹文字稍嫌簡略,對初學者來說可能不夠清楚,需要去 Google 額外的資訊來補充、理解。
建議初學者先從 Web Fundamentals ( HTML & CSS)開始,結束後再往 jQuery…… 學習。
跟 Codecademy 的教學方式和特色都不太一樣,跟 Codecademy 不同的是,它是從「你想成為哪一種設計師、開發者」幫你做全盤的課程規劃,內容也相對完整許多。
舉例來說(下圖),你可以在「Tracks」選擇想學前端設計、網頁設計、iOS 開發、Android 開發、Rails 、PHP 等等課程,有許多基本的課像是 HTML、CSS、jQuery 都會在一些 Tracks 重疊。
另外,跟 Codecademy 不同的是,在 Treehouse 有真人(知名開發者)錄製的影片穿插在課程之間。
另外在幾個知名的線上學校裡,有幾個非常棒的電腦基礎課程(免費)也推薦給大家:
線上教育有幾個知名網站像 Udacity、edX ,裡面其實都有非常棒的電腦科學基礎教育軟體開發等課程。不只是教材(講義、上課影片)完整,而且師資也都是麻省理工學院、哈佛大學、北京清華大學、Cornell 大學、Caltech 等全球頂尖資工學府的教授,值得大家參考。
  • 我想成為前端工程師(網頁設計師)
如果你想成為前端工程師上面提到的 HTML、CSS、jQuery 是少不了的,但另外你也必須了解一些後端語言像是 PHP 等等。一位資深程式設計師曾經給我的建議:「如果你是一個想成為前端工程師的初學者,我建議你先把『前端』學到精通,也就是非常熟悉 HTML、CSS、jQuery 。後端的東西,可以進去職場依公司慣用的開發語言的不同,再做學習。」
  • 我想成為 App 開發者
這就看你想在哪一種裝置上開發了,在 Android 上你必須要學習 Java ,在 iOS 上你必須要學習 Objective – C 。當然,如果你已經學會了 HTML 、CSS 、jQuery 等前端工具,你也可以用 PhoneGap 的技術做出 Android 、iOS App 出來(只是效能沒有 Native App 的好,除非你真的把前端的技術學到精通,才有可能用 PhoneGap 做到『幾乎』一模一樣。」
但以一個初學者而言,你必須要考慮到「直接」進入 Java 、Objective- C 的學習門檻相對於 HTML、CSS 、jQuery 來說是比較高的(其中 iOS 的門檻對於資訊背景出身的人比 Android 更高,因為在學校都教 Java、C++)。但除果你發願想成為一個 iOS 、Android 開發者,那這就是你的必經之路。
以下提供幾個學習資源:
iOS
2. Treehouse ( 可惜 Codecademy 上沒有 Mobile 方面的課程)
Android
1. Udacity 的 Java 課程非常適合初學者一步步學習。
2. Android 官方的開發教學
3. Treehouse( Android 和 iOS 的開發課程都有,但需要付費)
  • 如果我的小孩想學 Coding,也要從 HTML 開始?
當然不用,其實專門給小朋友學習程式的資源非常多,甚至有針對孩子學習而設計的程式語言,通常都把學習程式的氛圍遊戲化了,像是 Scratch。Scratcch 是美國麻省理工學院(MIT)的媒體實驗室(Media Lab)在 2006 年所推出,專門設計給年約 8 歲的小朋友學習的程式設計語言 ,讓小朋友以熟悉的堆積木方式更快進入程式語言的世界。另外還有一套從 Scratch 分拆出來的學習工具 ScratchJr,讓年紀更小的孩子,也能接觸程式設計。
ScratchJr 在學習與操作上,比 Scratch 來的更容易一些。與一般複雜的一行行程式碼不同的是,這套語言是以一種可愛的圖像區塊式的學習方式,在遊戲中的種種挑戰裡,完成程式設計概念的學習。讓小朋友即使在還沒學會閱讀、寫作前,就可以學會程式語言的操作概念了。
另外一個適合小孩接觸的程式語言是 Tynker,在課程中, Tynker 在設計上也偏向簡單有趣,讓小朋友經由視覺程式語言,來學習程式語言的邏輯和架構,但沒有那些開發者常用的那些困難的技巧,小朋友可以用視覺程式語言來建立演算法的區塊,使得他們學習用邏輯性的語言來思考與解決問題。
除了上述的資源,你也可以讓小朋友上美國知名的線上 Coding 學校 Code School 上學習更進階的知識。
如果你有不錯的學習資源,也請分享給大家吧!
 延伸閱讀:
(圖片來源:CodeEval )

Friday, February 21, 2014

[節錄] 把 Web 硬塞到行動端,連 FB 工程師都嫌,什麼是Native App & Responsive Design (RD)?

知名科技媒體《VentureBeat》 記者趕在 Facebook 工程主管 Jocelyn Goldfein 前往紐約與該公司工程師團隊談話之際,在紐約圖書館事先採訪了她,主要聊了 Facebook 做行動產品時所犯的錯誤與心得。以下是 Jocelyn Goldfein 的觀點摘編。
Goldfein 認為,Facebook 一開始的錯誤在於它把行動產應用當成了一個單純的 Web 終端,把所有現成功能一股腦塞進手機裏,希望通過 HTLM 5 的方式做行動產 App。正確的方式應該是在借鑒行動產端優勢,由行動產端從頭做起
是給原有產品增加一個新功能,還是重新開發一款獨立的產品?
Goldfein 認為獨立的 App 會有更大的風險,它也許會打破之前的產品假設,人們會以不同的方式看這個產品,比如她認為 Facebook 應用中的 IM 功能表現得仍很像聊天,但用戶表示他們不確定消息是否及時發得到,他們覺得這跟發訊息並不一樣,對方可能在登錄時才看得到。
獨立產品帶來新體驗更有說服力的例子當屬最近才推出的 Paper,該產品 UI 出眾,通過算法和編輯從用戶的訊息流中摘取重要內容推薦給用戶。將個人狀態、興趣內容等訊息放在一個管道下並不是最好的做法,Paper 提供了消費訊息的另一種選擇,而且 Goldfein 認為還有很多不同的方法抽取 News Feed 的數據和圖片。
說到未來的發展,Goldfein 認為隨著平板的興起,Facebook 會推出更多基於平板的體驗。
目前該團隊還在努力探索 Facebook Home 符合市場的產品形式,這種深入 Android 平台的方式是 iOS 無法比擬的。
穿戴式科技也在興起,這裏也將有 Facebook 的身影。她認為微軟的 Windows Phone 平台也將占據更多的市佔率。Facebook 還將保持對亞洲、非洲和南美等新興市場的重視,除了越來越多的智慧型手機用戶外,許多功能機用戶也是 Facebook 所看重的。
延伸閱讀:

今年一定要訂行動策略,但是該做 App 還是 Responsive Design 的網頁?


如果你是一個創業家、公司的開發者,在行動化的大趨勢下你一定會面臨到一個問題:我到底要不要為我的產品開發一個 App ?
但如果我告訴你,有一種技術,你單單用它就可以在智慧型手機、平板、Web 端「一次」把你網頁的內容全部優化到最好,會吸引你使用嗎?
好,接著你必須想再進階一點的問題:那我要開發一個 Native  App ,還是用「響應式設計」呢?再釐清兩個問題前,我們必須了解「Native App」和「響應式設計」的不同。
  • 什麼是 Native App?
Native App 原生語言程式是為了特定的操作系統而編碼,用的也是特定操作系統的開發套件(Platform SDK), 如 Apple iOS。因此它的性能和工具一向比 Hybrid App 優越。手機原生的功能:GPS 定位、掃描、相機等等,都必須要用 Native 語言開發才做的到。
  • 什麼是「響應式設計」?
響應式網頁(Responsive Design ,以下簡稱 RD),又稱回應式網頁設計,是一種用同一種方式開發出的網頁,卻能在任何一個裝置上(智慧型手機、平板、PC)完美「適應」螢幕的解析度、大小與網路速度,自動調整最佳的內容呈現方式。讓開發者更方便快速能提供使用者更好的體驗。
(下圖是 Google 對 Responsive Web Design 和行動版的介紹)
知名程式設計學校 Treehouse 對 Responsive Design 的詮釋(很清楚)

  • 用 Native App還是Responsive Design來設計產品比較好?
1. 成本
RD 的開發成本當然比請一個會開發 iOS 、Android 的開發者來的便宜許多,同時也快許多。另外,如果要開發行動版,其實製作過程很快,可能幾小時就完成了,但 RD 因為要對不同解析度做優化,自然花掉許多時間
開發成本比一比:Native App > RD > 行動版網頁
2. 流暢度、速度
Native 一定大勝,許多在操作的轉場、Loading 的速度,Native 比 RD 順暢非常多。另外,RD 有個缺點,就是需要大量 Jacascript、CSS 的載入,這對網路速度不快的台灣,絕對是一個拖累你使用者體驗的因素。
3. 行動端專屬的界面操作
如果你在行動端的產品上想做像是 Facebook Paper 的手勢操作(右滑、左滑、上移、下移……),RD 也辦不到,只能用 Native 開發 。
4. 審核
別忘了 Native App 後面還有 App Store 和 Google Play 要審核過你的 App 才能上架,在這過程中也必然會消耗你一定開發資源、成本和時間。
總結以上四點,我們可以說在 Native App 與 RD 開發間方式的選擇,就看你產品性質對行動端專屬的功能依賴深不深、口袋深不深、時間多不多來抉擇了。
但另外值得一提的是,在行動端的風潮已成主流後,你的網站「應該原本就是」響應式設計了,這不是一個選擇,這是必然需要優化的趨勢。


開發 App 用 Native 語言還是 Hybrid 好?Coder 你怎麼看?


正當大家興致勃勃地開始設計手機應用程式時,可能會遇到每個 Developers 和策略者都感到爭議的問題:「我應該利用原生語言(Native App),還是混合模式 (Hybrid App)來開發我的手機程式呢?」
  • Native VS Hybrid
Native App:原生語言程式是為了特定的操作系統而編碼,用的也是特定操作系統的開發套件 (Platform SDK), 如 Apple iOS。因此它的性能和工具一向比 Hybrid App 優越。
Hybrid App混合語言程式的部份代碼會以 Web 技術編寫,如 HTML5, CSS 和 JavaScript。這些程式都是被包裹在原生容器 (Native Container) 和透過手機上的瀏覽器引擎來呈現 HTML 和執行 JavaScript。 Hybrid App 的優點是一個編碼程式能夠跨越不同的作業平台,不需要為每個操作系統編寫特定的編碼。
該選哪種語言好?
Developers 也因此常徘徊於該選用擁有優越性能和工具的 Native App,還是單碼跨平台的 Hybrid App 的頭痛抉擇裏。究竟有沒有明確的答案顯示哪一個開發語言程式才是最強最佳的代表呢?
其實,隨著手機操作系統不斷的更新,如近期的新版本的 iOS 和 Andriod, 都令手機的 Javascript 運行速度改善了不少。
這種改進令到 Hybrid App 的性能得到相當的提升,而它們的工具設備也日漸成熟了。現在已經有許多成熟又吸引的工具方案,如原生用戶介面 (Native UI)裝置應用程式介面 (Device API),甚至有模擬器 (Simulators)開發套件管理 (SDK Management)裝置調試 (on-device debugging) 等等。
看來,人們對 Hybrid App 的開發已認真起來了。
當然, Hybrid App 的方案並不是完美萬能的,Native App 還有些地方是不能被取代,但現在 Hybrid 開發已經證明了它已經不遜於 Native 開發了。
要建造優良的 Hyrbrid App 是需要精心的策劃和考慮到裝置上的網絡平台獨特功能。在你準備向下個 Hybrid App 的大冒險前進時,有幾點是值得留意的:
1 . 關鍵特性,如 App 的性能
2. 把 Native 當做指引,從中學習
3. 選擇適當的開發工具,縮短與 Native App 的差距
  • 當然,你有選擇自由
Hybrid 和 Native 的爭論,就好像比較着蘋果和橙子哪樣較好,都是沒有贏家的。
就拿開發 Apple iOS Native App 來打過比例,你毋須思索都會自動想到用 IDE (XCode),一系列的程式庫和 Object-C 編碼程式設計工具 (CocoaTouch, CoreGraphics, CoreData 等) 的開發工具來編寫 iOS Native App。
如果我們把這些豐富的資源去和 Hybrid 用的 HTML, JavaScript 和 CSS 來作比較,這根本就是一件不公道的事!你還沒有把 Hybrid 的跨平台這種優點包括在內呢!
Hybrid 除了能夠單碼跨平台外,還能夠讓你自由地選擇你喜歡的應用程式組合,如整合開發環境 (IDEs), 程式框架 (Frameworks), 程式工具 (tools) 和應用程式服務 (Services)。比起只支援單一平台 Native App,Hybrid App 無疑是更自由和更有彈性的首選。

  • 性能是其中的一個設計重點
程式的性能對所有的 Apps 來說是非常重要的一環,可是 Developers 常常把這部份留到最後。就是先把整個應用程式做好再慢慢調整它的性能。對一般的桌上電腦還可以接受,可是在資源和電能都有限的行動裝置上調整性能就會非常困難了。
如何解決這問題呢?答案就是將性能引入初步設計策劃裏,而不是留到最後才開始慢慢調整。
例如你在編碼前已預先計劃了你的 App 將會以 60fps (Frames per second) 運行,那麼你大概需要 17 milliseconds per frame 去執行程式碼和更新用戶界面 (UI)。這樣的時間根本不能提供流暢的運行,還很可能會令你的幀 (Frame) 出現問題呢。為求 Hybrid App 有更好的穩定性,建議採用 30 或 40fps 比較自然的運行速度。
另一個影響 Apps 性能的因素就是用戶界面設計
影子效果,漸變色層,仿真的修飾設計是可以提高用戶界面仿真度,但也會同時消耗了很多裝置的資源啊。所以在設計用戶界面前先問問自己,這些資源消耗量大的仿真設計是必要的嗎?或是可以用消耗量較少的平面設計呢?
  • 從 Native 中學習
想拉近和你對手的距離,就要向他學習和熟悉他的招數。
設計 Hybrid Apps 也應如此的向 Native Apps 學習,嘗試熟悉 Native SDK 的環境反應和模擬它的設定。就拿 Apple iPhone 的滾動屏幕做例子,當你用手指頭在屏幕上下滾動,屏幕上的東西也隨著手指滾動的方向快速地移動。這樣的高性能和反應速度是怎樣做到的呢?就是用 iOS 的 UITableView, 它能夠重複地使用被移出屏幕的單元格 (Table cell),載入新的資料,然後再次在屏幕的另一邊出現。
這種不斷重複利用單元格的技術叫做 『用戶界面虛擬化』。這種技術給使用者在一個在龐大的資料庫中滾動的假象,其實真正用到資料單元格是很少的。因為用到的單元格不多,所以這種技術能令 App 的運行速度更快速和更節省電力。
你能從上面學到什麼關鍵能用在 Hybrid 上嗎?很多呢!當中就是 UITableView 的單元格滾動技術。把 UITableView 變成 HTML DOM 的元素,用這方法去仿效 UITableView 來用在 Hybrid App 上,那麼 Developers 就能以類似的方式來重複使用或把 DOM 虛擬化來改進 Hybrid App 的滾動體驗了。
Hybrid 的開發是非常吸引的,因為能夠採用你熟悉的網頁技術來建造你的 App。可是這同時也是一個陷阱呢!記住不要把 Hybrid App 當成一個迷你和獨立的網頁來設計啊。建造理想 Hybrid App 的最佳守則就是細心研究和觀察 Native 平台和 SDK 的設計,學以致用再 Hybrid Apps 的開發上。
  • 你需要適當的 Hybrid 開發工具
雖然開發 Hybrid Apps 的程式設計工具有很多,但一個優良的工具是會把網頁平台和 Native SDK 之間的的功能差距拉近。這樣子你就不需要擔心性能的問題了,因為這類的工具會在建設 Hybrid App 時把程式的性能元素包括在內。所以利用優良的工具能夠得到與 Native 模式相同的好處。
當然,你也可以自由地選擇適合你的開發工具並成功地建造你的 Hybrid App, 但當跨平台式和 App 的出品時間為你的首要條件時,你就應該選擇更優良開發工具來建造你的 Apps。
一個好的 Hybrid App 是不會在無意間產生的。就如同 Native App 一樣,建造優良的 Hybrid Apps 是需要把設計焦點放在性能和手機獨特的設計模式上。隨著手機網頁技術在近期不斷的提升,現已有很多很棒的跨平台開發工具。只要有稍微的性能設計和有合適的工具,要打造一個華麗的跨平台式 Hybrid App 已是一件輕而易舉的事了。
如果你還在做 Native App 的開發,何不試試跳槽到 Hybrid 來個全新的開發體驗呢?

Source: http://techorange.com/2013/11/28/native-app-or-hybrid/