שיטות לפיתוח אפליקציות ווב למכשירים ניידים - מובייל...
-
Upload
israeli-internet-association-technology-committee -
Category
Technology
-
view
22.980 -
download
1
description
Transcript of שיטות לפיתוח אפליקציות ווב למכשירים ניידים - מובייל...
www.w3.org/TR/mwabp
1
Mobile Web Application Best
Practicesאייל סלע
איגוד האינטרנט הישראלי , מנהל פרויקטיםהישראלי W3C-ומשרד ה
www.w3.org/TR/mwabp
...תוכנית
W3Cאיגוד האינטרנט הישראלי ו - מבוא
mobile web applications best practices-ה אודות
The Best practices
3
www.w3c.org.il
www.w3.org/TR/mwabp/
4
איגוד האינטרנט הישראלי
: שלוחת האיגוד הבינלאומי•
עמותה ללא מטרת רווח •
פועל לקידום האינטרנט והטמעתו בישראל
חברתית , חינוכית, מחקרית, כתשתית טכנולוגית
.ועסקית
www.w3.org/TR/mwabp
5
W3C
ארגון בינלאומי •
ארגונים 350-כ•
. פורום ניטראלי ליצירת תקני רשת באינטרנט•
:משימה•
להוביל את הרשת למיצוי הפוטנציאל על ידי פיתוח
פרוטוקולים וקווים מנחים שיאפשרו את צמיחתה .לטווח ארוך
www.w3.org/TR/mwabp
W3C השנה
סידרת מפגשים למפתחים
קבוצות עניין
פיתוח אפליקציה
סדנאות תגובה למומחים
(שלכם, שלנו)הרצאות אורח
קהילות/תמיכה בפעילות קבוצות
שילוב מומחים בקבוצות עבודה
...עוד
6
()
www.w3.org/TR/mwabp
Mobile Web-אודות הApplication Best
Practices
7
www.w3.org/TR/mwabp
.W3C-מסמך קווים מנחים של ה
שיטות לשיפור חווית המשתמש 35מגדיר
באפליקציות ווב למכשירים ניידים
8
www.w3.org/TR/mwabp
Candidate recomendationהמסמך נמצא בשלב
9
You are
here
crec3j.mp/w
www.w3.org/TR/mwabp
...הגישו דיווח יישום?למה לכם
כי חייבים להציג יישום בכדי שזה יהפוך לתקן-
כי האפליקציה שלכם תופיע בדוח היישומים-
הישראליW3Cכי אני אכתוב על זה באתר -
1cmo3j.mp/w10
www.w3.org/TR/mwabp
cmobp3j.mp/w
11
www.w3.org/TR/mwabp
...דיווח יישום?מי יכול להגיש
כל מי שפיתח אפליקציה-
(גם בדיעבד)מהשיטות במסמך חלקוישים -
12
www.w3.org/TR/mwabp
?מה מיישמים
13
www.w3.org/TR/mwabp
על מה אנחנו
?מדברים
14
www.w3.org/TR/mwabp
15
Web ApplicationWeb page(s) that provide an "application-like" experience
within a Web browser.
www.w3.org/TR/mwabp
16
(BP1) הבדל מאתר רגיל
include locally executable elements of interactivity and
persistent state.
:למשל
cmbp3bit.ly/wvalidator.w3.org/mobile/
/nextbus.com/webkit app.clichespotting.com m.jobscentral.com.sgapp.clichespotting.com
www.w3.org/TR/mwabp1cmo3j.mp/w17
/nextbus.com/webkit
+ User Agent Switcher
www.w3.org/TR/mwabp
touchsolitaire.mobi/app
j.mp/w3cmo15
www.w3.org/TR/mwabpapp.clichespotting.com
19
app.clichespotting.com
www.w3.org/TR/mwabpm.jobscentral.com.sg
20
m.jobscentral.com.sg
www.w3.org/TR/mwabp
Sencha touch (!!)
6cmo3j.mp/w
http://www.sencha.com/
www.w3c.org.il
www.w3.org/TR/mwabp/
22
תצוגה •
הזנת תוכן•
רוחב פס ועלות •
מטרות המשתמש•
מגבלות המכשיר•
מכשירים ניידים לעומת שולחניים–מגבלות והבדלים
cmbp3bit.ly/w
www.w3c.org.il
www.w3.org/TR/mwabp/
23
Best practices
www.w3.org/TR/mwabp
24
(3)נתוני האפליקציה 1.
( 1)ביטחון מידע ופרטיות 2.
(4)יידוע המשתמש ושליטתו באפליקציה 3.
(11)שימוש מוגבל במשאבים 4.
(10)חווית משתמש 5.
Delivery Context (5)-התאמה ל6.
(1)שיקולים נוספים 7.
(35כ "סה)
www.w3.org/TR/mwabp
25
(3)נתוני האפליקציה 1.
( 1)ביטחון מידע ופרטיות 2.
(4)יידוע המשתמש ושליטתו באפליקציה 3.
(11)שימוש מוגבל במשאבים 4.
(10)חווית משתמש 5.
Delivery Context (5)-התאמה ל6.
(1)שיקולים נוספים 7.
www.w3.org/TR/mwabp
אחסון השתמשו בטכנולוגיות ושיטות מתאימות ל
נתוני האפליקציה
26
www.w3.org/TR/mwabp
27
Use Cookies Sparingly.1
המעיטו את השימוש בעוגיות. 1
?מה
נשלחות לשרת בכל בקשה
יתכן ולא יהיה פעילות במכשיר
?איך
בנו אפליקציה פעילה גם ללא עוגיות
(URI decorationלמשל עם )D Sharon PruittImage by:
www.w3.org/TR/mwabp
השתמשו בטכנולוגיות המתאימות לאחסון מידע בצד הלקוח. 2
?מהעדיף להשתמש במנגנונים בצד לקוח לאחסון
.בעיקר בכמויות גדולות, מידע(start-up time ,Responsivenessמועיל ב)
?איך•BONDI
•5HTML - coff3j.mp/w-Offline
•Opera Widgets
28
by Remy Sharp - remysharp.com/demo/rubiks/
2. Use Appropriate Client-Side Storage Technologies for Local Data
j.mp/w3cmo7
www.w3.org/TR/mwabp
שכפלו מידע לשרת במידת הצורך. 3
?מהתצוגה אחידה במכשירים שונים
מגבה למקרה של אובן המכשיר(לא צריך לשכפל למשל העדפות תצוגה של מכשיר ספציפי)
?איך
טכנולוגיות לאחסון מידע צד לקוח מספקת גם
.בדיקת קישוריות
...דוגמא
29
Replicate Local Data.3
www.w3.org/TR/mwabp
Local storage + offline - demo
j.mp/mozoff
30
www.html5rocks.com/tutorials/offline/todo/
www.w3c.org.il
www.w3.org/TR/mwabp/
31
(3)נתוני האפליקציה 1.
( 1)ביטחון מידע ופרטיות 2.
(4)יידוע המשתמש ושליטתו באפליקציה 3.
(11)שימוש מוגבל במשאבים 4.
(10)חווית משתמש 5.
Delivery Context (5)-התאמה ל6.
(1)שיקולים נוספים 7.
www.w3.org/TR/mwabp
השתמשו במידע אמין והגנו –ביטחון מידע ופרטיות
על פרטיות המשתמש
32
www.w3.org/TR/mwabp
4. Do not Execute Unescaped or Untrusted
JSON data
33
D Sharon PruittImage by:
direct execution of a
datafeed that contains
unescaped user-
generated data =
security risk
Use JSON parser
4. Do not Execute Unescaped or Untrusted JSON data
www.w3c.org.il
www.w3.org/TR/mwabp/
34
(3)נתוני האפליקציה 1.
( 1)ביטחון מידע ופרטיות 2.
(4)יידוע המשתמש ושליטתו באפליקציה 3.
(11)שימוש מוגבל במשאבים 4.
(10)חווית משתמש 5.
Delivery Context (5)-התאמה ל6.
(1)שיקולים נוספים 7.
www.w3.org/TR/mwabp
מידע , פירוט שיחות, calendar-פרטי קשר ו, מדיה
חיבור לרשת, )!(מיקום , על המכשיר
(מספק אותןאינו הקפידו על ההמלצות הבאות אם הדפדפן )
35
... התייחסו יפה למידע רגיש
www.w3.org/TR/mwabp
*הודיעו למשתמש על גישה אוטומטית לרשת. 5
?מהשימוש ברשת מרוקן את הסוללה
...עולה כסף
?איךהמודיע על פעילות ברקעאייקון
בהרשמה , בחיבור ראשון)על שימוש רב ברשת הודיעו
(או בדפי העזרה
כ "סה,תדירות, כמה זמן)אופי החיבור ספקו מידע על
(שימוש
.
36
5. Inform the User About Automatic Network Access
www.w3.org/TR/mwabp
* ספק אמצעים לשליטה בחיבור אוטומטי לרשת. 6
?מהאפשר למשתמש למנוע חיבור אוטומטי לרשת
.(הציגו הודעת חיבור מעת לעת–כאשר זה מבוטל )
–אפשרי
אפשר למשתמש לשלוט במועדי החיבור או בפעילויות אשר יכולות
.להתחבר
37
Jeff SonsteinImage by:
6. Provide Sufficient Means to Control Automatic Network Access
www.w3.org/TR/mwabp
הודיעו למשתמש על שימוש במידע על . 7
המכשיר או פרטים אישיים
?מהבעת כניסה ראשונה לשירות או בגישה ראשונה
.למידע
?איך
יש בקשת רשות מובנת API-לרוב ל(recover gracefully ;confirmation dialog .)
38
MapQuest.com
7. Ensure the User is Informed About Use of Personal and Device Information
www.w3.org/TR/mwabp
אוטומטי Sign-inאפשרו . 8
?מה....כי יותר קשה להזין תוכן
?איך local storageאו , בעוגיות
(log out-לא לשכוח לשים לינק ל)
40
8. Enable Automatic Sign-in
www.w3c.org.il
www.w3.org/TR/mwabp/
41
(3) נתוני האפליקציה1.
( 1)ביטחון מידע ופרטיות 2.
(4)יידוע המשתמש ושליטתו באפליקציה 3.
(11)שימוש מוגבל במשאבים 4.
(10)חווית משתמש 5.
Delivery Context (5)-התאמה ל6.
(1)שיקולים נוספים 7.
www.w3.org/TR/mwabp
-מוגבלים בניידים
זיכרון
עיבוד
רוחב פס
42
אל תכבידו על משאבי המכשיר
www.w3.org/TR/mwabp
9. Use Transfer Compression
?מה.השתמשו בדחיסה של התוכן
.אבל זכרו שיש עלות של זמן וחיי סוללה
?איך
Gzip ...
1k-קבצים קנטים מ, וידאו, אדיו, תמונות: לרוב לא צריך לדוחס
43
9. Use Transfer Compression
www.w3.org/TR/mwabp
מזערו את גודל האפליקציה והנתונים. 10
?למהתרד יותר מהר
תפעל יותר טוב
?איךJavaScript-ו CSS ,HTMLהקטינו
(removal of white space and comments; shorter tokens (variables, method names, selector names)
44
10. Minimize Application and Data Size
compressorrater.thruhere.net
www.w3.org/TR/mwabp
Redirects-המנעו מ. 11
?מהלהעברת מידע HTML meta refreshאו HTTP 3xxלרוב נעשה שימוש ב (e.g. account authentication)
?איך.מהן להמנעפשוט נסו
)'טעון זה'שבכדי שהמשתמש ידע (אפשר להציג דף מעבר , אם צריך יותר משתיים
45
11. Avoid Redirects
www.w3.org/TR/mwabp
12. Optimize Network Requests
?מהיותר מועטותלשרת אך גדולותעדיף לבצע בקשות
(מאשר הרבה בקשות קטנות)
?איךבקשות קיבוץ
בקשות תעדוף
רמת הקישוריותפעילות בהתאם ל
46
12. Optimize Network Requests
www.w3.org/TR/mwabp
צמצמו שימוש במקורות חיצוניים. 13
?למהטיול לשרת= HTTP request= תמונה , CSS, כל קובץ סקריפט
?איךCSS ו-JavaScript בלבד אחדכל אחד בקובץ
OR
או שהם ישולבו לפני שהעמוד מוגש ללקוח
47
13. Minimize External Resources
www.w3.org/TR/mwabp
(Sprites)אחדו תמונות . 14
?איךsimilar sizes and color palettes.
That do not change often.
use CSS positioning and clipping.
דוגמאwww.yahoo.com
48
Image by: Kriplozoik
14. Aggregate Static Images into a Single Composite Resource (Sprites)
www.w3.org/TR/mwabp
CSS-שלבו תמונות רקע ב. 15
?מהCSS-אפשר לכלול אותן ב, במקום להוריד תמונות
?איך
data URI
: דוגמא
49
15. Include Background Images Inline in CSS Style Sheet
data:image/png;base64,
iVBORw0KGgoAAAANSUhEUgA
AABAAAAAQAQMAAAAlPW0iAA
AABlBMVEUAAAD/
//+l2Z/dAAAAM0lEQVR4nGP
4/5/h/1+G/58ZDrAz3D/McH
8yw83NDDeNGe4U
g9C9zwz3gVLMDA/A6P9/AFG
GFyjOXZtQAAAAAElFTkSuQm
CC
data:image/png;base64,iVBORw0KGgoAAAANSUh
EUgAAAAgAAAAhCAYAAADkrOp1AAAAGXRFWH
RTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllP
AAAAYFJREFUeNqEU7FOwzAQvXMuJSC1oqlKuo
aZkakrGyti5i+Q+AZ+goERiR9hYEJiZKVIFaqgtJV9
nO04SdO0TfQk5+75vedLgswM45vnDADuBOcCuy
4vkmaOCE/ZqJ+nabcbxzFh0Zx8fQPFpG6z0eD0JE
uPVUSglAJATyGaAxnm8WDY70WdBKIawd4RxUB
a81EnSRTFHUdAu7tQQBUB+QW5B7BwvSKFEB2
BpSCHAXsiZnQVV5dnKlauxAxlsyh7ggQFNKaSLg
mmRvAeDUJQMAxKBAw0CRwIxmHdwCv7U4iCV
UHYamFcyKZCGVLLbmhRMEHBD2jzFFCGlDruzY
BtGbiaA2JbhkDQvonNSZraoGCnhbYpNxXsvkrBBd
2mwMWgkHdYQAshhNQiz7hpYfYrQO1145YM8mf
9afGIkBVg82XJnzDsH76vFr+z8FWtQTzU1UX+yKu
fj+V8NtVGh0/Dgd38mLsvb5PL
buzz
www.w3.org/TR/mwabp
16. Fingerprinting Resource for chach
50
16. Cache Resources By Fingerprinting Resource References
?מה
לקבצים שמשתנים מדי פעם cacheאפשר לעשות
?איך
לתאריך רחוק מאוד בעתיד chase-הגדירו את ה-
שישתנה כשצריך לעדכן hashשל הקובץ URL-הוסיפו בסיומת ה-
.אותו
<img src="http://www.example.com/userimages/joeblogs-67f90da089da">
www.w3c.org.il
www.w3.org/TR/mwabp/
17. Cache AJAX Data
?מה
cacheאפשר לעשות , כפי שעושים עם תוכן רגיל
.AJAX-למידע שמגיע ב
?איך
כרגיל
Expires \ Cache-Control header -ו fingerprinting
51
17. Cache AJAX Data
www.w3.org/TR/mwabp
שלחו עוגיות רק כשצריך. 18
?מה
אז עדיף להימנע–תוכן סטטי אינו צריך עוגיות
?איךנפרד לתוכן סטטי pathתת דומיין או , דומיין1.
לעוגיות pathהגדירו 2.
52
18. Do not Send Cookie Information Unnecessarily
www.w3.org/TR/mwabp
19 .Keep DOM Size Reasonable
?איך paginationלמשל בעזרת
53
19. Keep DOM Size Reasonable
X Fail V win
www.w3c.org.il
www.w3.org/TR/mwabp/
54
(3)נתוני האפליקציה 1.
( 1)ביטחון מידע ופרטיות 2.
(4)יידוע המשתמש ושליטתו באפליקציה 3.
(11)שימוש מוגבל במשאבים 4.
(10)חווית משתמש 5.
Delivery Context (5)-התאמה ל6.
(1)שיקולים נוספים 7.
www.w3.org/TR/mwabp
בגלל מורכבות רבה יותר בשימוש במכשירים ניידים חשוב לשפר את חווית המשמש –
Latency
interaction method
data consistency
55
www.w3.org/TR/mwabp
ק'יק צ'להתחיל צ. 20
?איך Use Offline Technology (e.g. AppCache) –
Resources (HTML, JavaScript, CSS) stored
locally.
Use Local Storage: store a snapshot of last state -display it immediately on start-up
Minimize Number of Local Storage Queries before the first view can be displayed.
...דוגמא
56
http://www.flickr.com/photos/66475767@N00/4333416050/
20. Optimize For Application Start-up Time
www.w3.org/TR/mwabp
High responsiveness with Local storage - example
מבוסס על
IBM:Unlock local storage for mobile Web applications with HTML 5: j.mp/w3cmo3
j.mp/w3cmo2
www.w3.org/TR/mwabp
21. Minimize Perceived Latency?איך
Incremental RenderingJavaScript at the bottom + useful information that might be available is viewable while loading.
Keep the User Informed of Activity (progress bars)
Avoid Page ReloadsTo reflect changes in state or show different views
Preload Probable Next Views
...דוגמא
58
21. Minimize Perceived Latency
www.w3.org/TR/mwabp
kiva -דוגמא
10cmo3j.mp/w
59
www.w3.org/TR/mwabp
22. Design for Multiple Interaction
Methods ?מהשלושה סוגי אינטראקציה עיקריים
.להתאים לכולם–אם אי אפשר . עדיף להתאים לשיטת מכשיר היעד
?איך
Focus Based: (focus "jumps" from link to link)
.
Pointer Based: (Key-based navigation + pointer )
Selectable elements that are associated with each other need to be close
Selectable elements need to be large enough (pointer often moves in steps)
Selectable elements should have rollovers
Touch Based: (finger )Selectable elements may be widely spaced since the user can select them directly
Selectable elements must be large enough to be easily selected (list items - at least 30px)
60
Image by: Dennis Bournique
22. Design for Multiple Interaction Methods
www.w3.org/TR/mwabp
הימנעו משינוי הפוקוס בדפים דינמיים. 23
?איך
.focus()–רק כשחייבים וכזה לא פוגע בשליטה
61
Preserve Focus on Dynamic Page Updates.23
www.w3.org/TR/mwabp
fragment identifiers-השתמשו ב. 24
לתצוגה
?מהבכדי לאפשר שמירת fragment identifiers -השתמשו ב
back-ולא לפגוע ב, הקישור לתצוגה
...דוגמא
http://myapp.example.org/myapp#view
62
Use Fragment IDs to Drive Application View.24
www.w3.org/TR/mwabp
W3C Cheat Sheet
8 cmo3j.mp/w63
www.w3.org/TR/mwabp
"Click-to-Call"-השתמש במספרי טלפון ב. 25
איך
<a href="tel:[PHONE-NUMBER]">[PHONE-NUMBER]</a>
entered using the full international prefix
64
my.springpadit.com
25. Make Telephone Numbers "Click-to-Call"
www.w3.org/TR/mwabp
26. Ensure Paragraph Text Flows?מה
מנע גלילה אנכית•
ואפשר קריאה בשינוי אוריאנטציה•
?איך:בקונטיינרים
יחידות מידה יחסיות/ באחוזים :כן
יחידות מוחלטות או פיקסלים לא
...דוגמא
65
curiousleeImage by:
26. Ensure Paragraph Text Flows
www.w3.org/TR/mwabp
טקסט צף ומתאים לגודל המסמך–דוגמא
c.org3W
www.w3.org/TR/mwabp
27. Ensure Consistency Of State
Between Devices
?מההקפידו על עקיבות באפליקציה בין מכשירים
שונים
• Credentials
• preferences
• Data
?איךשימורו על השרת מידע שאינו רלוונטי רק
למכשיר הספציפי
67
/sizes/o/4336196538info/-http://www.flickr.com/photos/osde
27. Ensure Consistency Of State Between Devices
www.w3c.org.il
www.w3.org/TR/mwabp/
68
(3) נתוני האפליקציה1.
( 1)ביטחון מידע ופרטיות 2.
(4)יידוע המשתמש ושליטתו באפליקציה 3.
(11)שימוש מוגבל במשאבים 4.
(10)חווית משתמש 5.
Delivery Context (5)-התאמה ל6.
(1)שיקולים נוספים 7.
www.w3.org/TR/mwabp
69
שונים Delivery Context-התאימו להתאמת . )והסתגלות להן( כגון יכולות המכשיר)צרו אפליקציה בעלת יכולת זיהוי ההקשר
...(מבנה עמוד, ניווט, תוכן
www.w3.org/TR/mwabp
push-שימוש ב–מומלץ . 28
?מה...אם מכשיר היעד תומך
?איךOMA Push
QR Codes
SMS
…
70
Consider Mobile Specific Technologies for Initiating Web Applications.28
www.w3.org/TR/mwabp
הגדירו את גודל התצוגה הרצוי.29
?מהצריך למנוע ממכשירים לעשות זום אוטומטי באפליקציה שהותאמה
....לניידים
?איך
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
...דוגמא
71
sUse Meta Viewport Element To Identify Desired Screen Size.29
www.w3.org/TR/mwabp
הגדרת גודל תצוגה -דוגמא
Viewport
Offlines
Data URI
9cmo3j.mp/w
72
http://nils-dehl.de/m/
www.w3.org/TR/mwabp
30. Prefer Server-Side Detection
Where Possible
?איךHTTP request header: Accept
User-Agent
X-Wap-Profile
:דוגמא
73
30. Prefer Server-side Detection Where Possible
j.mp/w3cmo11
www.w3.org/TR/mwabp
'צד לקוח'זיהוי יכולות –כשצריך . 31
?איך
JavaScript: if (some_api_exists) { ...
CSS Media Types
CSS Media Queries
...דוגמא
74
side Detection When Necessary-Use Client.31
www.w3.org/TR/mwabp
CSS3 Media query layout example
j.mp/w3cmo18
www.w3.org/TR/mwabp
32. Use Device Classification?למה
to Simplify Content Adaptation
?איך:אפשרות
Class 1: Basic XHTML support, no or very basic scripting.
Class 2: Full AJAX and JavaScript support.
Class 3: Advanced device APIs
:עוד אפשרות
Class 1: Pointer Based.
Class 2: Touch Based.
76
Use Device Classification to Simplify Content Adaptation.32
www.w3.org/TR/mwabp
JavaScriptצרו גרסה ללא –לתפוצה מרבית . 33
?איך
synchronous FORM posts
><noscriptהודעה מתאימה או –או לפחות
77
JavaScript Variant if Appropriate-Support a non.33
www.w3.org/TR/mwabp
אפשר למשתמש לבחור את התצוגה. 34
?מהאפשר למשתמש לשנות את
סוג התצוגה
UI-כברירת מחדל ספק את ה
המתאים ביותר
אבל זכור את העדפות !המשתמש
78
34. Offer Users a Choice of Interfaces
www.w3c.org.il
www.w3.org/TR/mwabp/
79
(3)נתוני האפליקציה 1.
( 1)ביטחון מידע ופרטיות 2.
(4)יידוע המשתמש ושליטתו באפליקציה 3.
(11)שימוש מוגבל במשאבים 4.
(10)חווית משתמש 5.
Delivery Context (5)-התאמה ל6.
(1)שיקולים נוספים 7.
www.w3.org/TR/mwabp
35. Consider Canvas or SVG For
Dynamic Graphics
?מהcanvas
מאפשר לצייר גרפיקה פשוטה
JavaScriptבאמצעות
80
http://www.mozilla.com/en-US/firefox/stats/
SVGלהגדרת אלמנטים של XMLשפת
-גרפיקה וקטורית המתווספים ל
DOM , וניתנים לשינוי בעזרת
JavaScript
...דוגמא
35. Consider Use Of Canvas Element or SVG For Dynamic Graphics
www.w3.org/TR/mwabp
SVG and canvas demos
Video - Cool mobile apps with SVG and other Web technologies - j.mp/w3cmo13
• Bomomo.com
• zwibbler.com
• www.iconza.com
14cmo3j.mp/w16cmo3j.mp/w
www.w3.org/TR/mwabp
כלים נוספים
82
www.w3.org/TR/mwabp
Mobile Web Best Practices (MWBP) Flipcards j.mp/w3cfcc
83
www.w3c.org.il
www.w3.org/TR/mwabp/
84
The world is getting more
platform-fragmented, not less.
Source: j.mp/w3cmo5
Do yourself a favor and write
your next app in HTML5.
www.w3.org/TR/mwabp
www.w3c.org.il
@isociltech @eyalsela
85
תודה
cmobp3j.mp/w