ºÝºÝߣ

ºÝºÝߣShare a Scribd company logo
×˜×™×¤×™× ×œ×¤×™×ª×•×— ×פליקציות מובייל ווב רן בן ×הרון
Ìý
Ìý
דפדפני מובייל
דפדפני מובייל
דפדפני מובייל ציון פיצ ' ר×™× ×¢×œ פי  html5test
יכולות ×“×¤×“×¤× ×™× ×ž×¢× ×™×™× ×•×ª local storage, application cache html5 syntax canvas css3 JSON parser websockets pushState
יכולות מכשיר ×ירועי מגע element.addEventListener("touchstart", func, bubble); ×ž×™×§×•× navigator.geolocation.getCurrentPosition(successFunc, errorFunc); מצפן וחיישן תנועה  * window.addEventListener("deviceMotion", func,Ìýbubble); ×ור×™×נטציה window.addEventListener("orientationchange", func,Ìýbubble); ×”×צת חומר×”  *Ìý DIV { transform: rotate(45deg) } * iOS  בלבד כר×’×¢
... לעניינו להבין מגבלות לתת הרגשה של נייטיב
להבין ×ת מגבלות המש××‘×™× ×›×— עיבוד רשת זכרון
×›×— עיבוד מעבד חלש מוביל ל : ×©×ž×ª×‘×˜× ×‘ :Ìý ×יטיות בפרסור קוד ×יטיות בהרצת קוד ×יטיות בתצוגה עיכוב בטעינת עמוד תגובתיות לקויה ×נימציות מקרטעות
JS  השוו×ת מהירות הרצת var  ul  =  document. createElement ( &quot;ul&quot; ) ; Ìý var  i ; Ìý for   ( i  =   0 ;  i  <   100 ;  i ++ )   { Ìý  var  li  =  document. createElement ( &quot;li&quot; ) ; Ìý Ìý var  text  =  document. createTextNode ( &quot;feds&quot; ) ; Ìý Ìýli. appendChild ( text ) ; Ìý Ìýul. appendChild ( li ) ; } http://jsperf.com/routine-js-functions פלטפורמה נבדקת הרצות / שניה Ubuntu Core i7 Firefox 7 Ìý 418,078 iPhone 4 iOS5 Safari Ìý 82,677 iPhone 3Gs iOS5 Safari Ìý 61,531 Galaxy S2 Android 2.3.3 Ìý 39,201 Galaxy S Android 2.3.3 Ìý 19,214
JS  השוו×ת מהירות הרצת var  ul  =  $ ( &quot;<ul/>&quot; ) ; Ìý  var  i ; Ìý  for   ( i = 0 ;  i < 100 ;  i ++ )   { Ìý Ìý  var  li  =  $ ( &quot;<li>feds</li>&quot; ) ; Ìý Ìý ul. append ( li ) ; Ìý  } http://jsperf.com/routine-js-functions (jquery) פלטפורמה נבדקת הרצות / שניה Ubuntu Core i7 Firefox 7 Ìý 41,289  iPhone 4 iOS5 Safari Ìý 6,902 iPhone 3Gs iOS5 Safari Ìý 4,607 Galaxy S2 Android 2.3.3 Ìý 9,914 Galaxy S Android 2.3.3 Ìý 4,846
JS  השוו×ת מהירות הרצת var  arr  =  document. querySelectorAll ( &quot;UL LI&quot; ) ;  var  i ,  len  =  arr. length ;  for   ( i = 0 ;  i < len ;  i ++ ){ Ìý arr [ i ] . className   =   &quot;bar&quot; ; } http://jsperf.com/traversing פלטפורמה נבדקת הרצות / שניה Ubuntu Core i7 Firefox 7 17,274 iPhone 4 iOS5 Safari Ìý 934 iPhone 3Gs iOS5 Safari 605 Galaxy S2 Android 2.3.3 1,763 Galaxy S Android 2.3.3 765
JS  השוו×ת מהירות הרצת var  arr  =  $ ( &quot;UL LI&quot; ) ;  arr. each ( function ()   {  Ìý  this . className   =   &quot;bar&quot; ;  }) ; http://jsperf.com/traversing (jquery) פלטפורמה נבדקת הרצות / שניה Ubuntu Core i7 Firefox 7 Ìý 9,053 iPhone 4 iOS5 Safari Ìý 546 iPhone 3Gs iOS5 Safari Ìý 364 Galaxy S2 Android 2.3.3 1,291 Galaxy S Android 2.3.3 528
×›×— עיבוד ×ופטימיזציה לקוד יעיל שימוש בנייטיב  JS ספריות יעודיות ל -webkit  כמו  zepto / xui שימוש ×נימציות  hardware accelerated
מגבלות רשת 4-6  קר×™×ות  HTTP  בו זמנית ×ין חלוקה בין ×”×•×¡×˜×™× ×œ×™×™×˜× ×¡×™ גבוה קישור ×לחוטי ×œ× ×מין
מגבלות רשת CSS3  ×‘×ž×§×•× ×ª×ž×•× ×•×ª הטמעת ×§×‘×¦×™×  (base64) ספריית סקר×™×¤×˜×™× ×ž×¦×•×ž×¦×ž×ª הת×מת גדלי תמונות שמיר×” לזכרון המכשיר Ìý appcache, local storage lazy loading
כלי  CSS http://css-tricks.com/examples/ShapesOfCSS/ http://www.colorzilla.com/gradient-editor/
זכרון מטמון iOS 4.3 UIWebView Android 2.2 Android 2.3 Blackberry 6 Memory 100MB 4MB 4MB 25MB Persistent 0 4MB 4MB 25MB
הרגשה של נייטיב Ìý
תנועה חלקה בין ×¢×ž×•×“×™× ×”×¦×ž×“×•×ª ל×ירועי מגע תזוזה ב×מצעות  translate
גלילה פנימית position: fixed -webkit-overflow-scrolling:touchÌý ×לטרנטיבה ב -JS
הת×מה למימדי מסך ×ž×™×ž×“×™× ×‘×œ×ª×™ ×¦×¤×•×™×™× ×‘×נדרויד שינוי ×ור×™×נטציה
מסך ×ž×œ× ×”×¢×œ×ž×ªÌýסרגלÌýכתובת  (window.scrollTo(0,0 ×ו מצב  standalone 44px 20px 416px
הת×מה ליחס ×¤×™×§×¡×œ×™× × ×™×ª×Ÿ לגילוי ב -JS window.devicePixelRatio וב -CSS  ×¢ &quot; ×™  media query @media all and (-min-device-pixel-ratio: 2){ }
Ìý
ביטול התנהגויות ביטול  scaling <meta name=&quot;viewport&quot; content=&quot;width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;&quot; /> ביטול  scrolling <body ontouchmove=&quot;function(e){e.preventDefault()}&quot;> ביטול  selection -webkit-user-select: none; -webkit-touch-callout: none;
חיווי טעינה ×œ× ×ž×•×ž×œ×¥  animated gif עדיפות ל -css animation  כמו  spin.js
סופר ×קסטר×” בונוס Pull to refresh browser history deep linking
דיבוג Ìý
סביבת הפיתוח שלנו Ubuntu Apache Aptana Virtual box
עבודה נוחה מול דפדפן דסקטופ ×›×™ ×ין כמו פיירב××’ ... הגבילו ×ž×™×ž×“×™× ×‘×©×‘×™×œ נוחות מפו ×ירועי עכבר ל×ירועי מגע השתמשו ב -moz השתמשו ב user agent switcher הוסיפו יכולת לעקוף הגדרות מתוך ×” -querystring
דיווחי לוג ב -iOS  יש  console.log חסכו ב×ורך מחרוזות  -  ×ין הרבה ×ž×§×•× ×¤×œ×˜×¨ו ×“×™×•×•×—×™× ×¢×œ פי סביבה נסו ×ת ×” -Webkit Remote Debugging
הרצה במכשיר גלישה מקומית מהמכשיר ב×מצעות תוכנת פרוקסי ניתן ×’× ×“×¨כו לנטר פעילות רשת סימולטור ×ייפון  - xcode  במ×ק ×מולטור ×נדרויד  -  מגיע ×¢× ×” -SDK
תודה ובהצלחה ! [email_address] Ìý רן בן ×הרון
×נחנו ×ž×—×¤×©×™×  FED ×™× ×ž×•×›×©×¨×™× [email_address] [email_address] Ìý רן בן ×הרון

More Related Content

DoAT - mobile web-app development

Editor's Notes

  1. קצת על דו×ט ×חר×™ יצירת עשרות ×פליקציות מוביל ווב , ×× ×™ רוצה לשתף ××ª×›× ×‘×œ×§×—×™× , בשיטות פרקטיות ×‘×”× ×נחנו × ×•×”×’×™× ×”×”×¨צ××” הזו מיועדת ×œ×ž×¤×ª×—×™× ×ž×ª×§×“×ž×™× ×™×—×¡×™×ª שכבר התנסו בפיתוח למובייל ווב ×ו בהת×מת ×תר×™× ×œ×“×¤×“×¤× ×™ מובייל
  2. http://www.comscore.com/Press_Events/Press_Releases/2011/8/comScore_Reports_July_2011_U.S._Mobile_Subscriber_Market_Share
  3. http://html5test.com/results-mobile.html
  4. touchstart, move end gestures - swipe zoom pinch mutiple touchstart
  5. on iPhone - there&apos;s a big difference between Mobile Safari and UIWebView within a native app Ìý
  6. תלוי במנוע JS ובמהירות עיבוד של המכשיר השוו×ות jsperf benchmark js Link to tests - vanilla vs jquery vanilla .class.add/toggle/remove document.querySelector Parsing time And some popular js methods http://carlos.bueno.org/2010/02/measuring-javascript-parse-and-load.html Also SPIN.JS cause animated gifs are cpu intensive- prove it phone gap - safari vs uiwebview performance http://www.blaze.io/mobile/iphone-vs-android-45000-tests-prove-whose-browser-is-faster/ בנוסף , ×™×©× × ×”×‘×“×œ×™× ×ž×©×ž×¢×•×ª×™×™× ×‘×™×Ÿ UIWebView standalone safari w
  7. תלוי במנוע JS ובמהירות עיבוד של המכשיר השוו×ות jsperf benchmark js Link to tests - vanilla vs jquery vanilla .class.add/toggle/remove document.querySelector Parsing time And some popular js methods http://carlos.bueno.org/2010/02/measuring-javascript-parse-and-load.html Also SPIN.JS cause animated gifs are cpu intensive- prove it phone gap - safari vs uiwebview performance http://www.blaze.io/mobile/iphone-vs-android-45000-tests-prove-whose-browser-is-faster/ וןכמובן סקר×™×¤×˜×™× ×‘×ª×—×ª×™×ª השהיית פרסור
  8. cache manifest slide - CSS3 , ×—×™×¦×™× Ìýצורות ××™×™×§×•× ×™× ×¤×™× ×•×ª מעוגלות gradients צלליות mask הטמעה js/css base64
  9. cache manifest slide - CSS3 , ×—×™×¦×™× Ìýצורות ××™×™×§×•× ×™× ×¤×™× ×•×ª מעוגלות gradients צלליות mask הטמעה js/css base64 הצג ×ת lastfm שמיר×” על ×§×‘×¦×™× ×§×˜× ×™× ×יחוד מיניפיקציה ספר×™×™×˜×™× SVG lazy load ontouch scroll
  10. cache manifest slide - CSS3 , ×—×™×¦×™× Ìýצורות ××™×™×§×•× ×™× ×¤×™× ×•×ª מעוגלות gradients צלליות mask הטמעה js/css base64 הצג ×ת lastfm שמיר×” על ×§×‘×¦×™× ×§×˜× ×™× ×יחוד מיניפיקציה ספר×™×™×˜×™× SVG lazy load ontouch scroll
  11. http://www.blaze.io/mobile/understanding-mobile-cache-sizes/ check in uiwebview and safari separately
  12. ודרך ×גב - ×–×” הזמן לדבר על doat.com
  13. SVN / git photoshop in windows7
  14. use touche
  15. http://www.favbrowser.com/remote-debugging-with-safari-web-inspector-chrome-developer-tools/