43
יחידת לימוד תכנון ופיתוח אפליקציות ווב למכשירים ניידים על פי מסמך ה- W3C " Mobile Web Application Best Practices " 1 המצגת ניתנת לשימוש באופן חופשי, ללא תשלום או תנאים מגבילים למעט ייחוס לאיגוד האינטרנט הישראלי, כפי שמופיע ב" רישון ייחוס2.5 ישראל( CC BY 2.5 ") מידע נוסף על רישיון השימוש: il / 5 . 2 creativecommons.org/licenses/by/ הנ" ל אינו תקף ל תמונות וחומרים מממקורות חיצוניים.

יחידת לימוד – תכנון ופיתוח אפליקציות ווב למכשירים ניידים

Embed Size (px)

DESCRIPTION

המצגת ניתנת לשימוש באופן חופשי, ללא תשלום או תנאים מגבילים למעט ייחוס לאיגוד האינטרנט הישראלי, כפי שמופיע ב"רישון ייחוס 2.5 ישראל (CC BY 2.5)" מידע נוסף על רישיון השימוש: creativecommons.org/licenses/by/2.5/il הנ"ל אינו תקף לתמונות וחומרים מממקורות חיצוניים.

Citation preview

Page 1: יחידת לימוד – תכנון ופיתוח אפליקציות ווב למכשירים ניידים

–יחידת לימוד תכנון ופיתוח אפליקציות ווב

למכשירים ניידים

W3C-על פי מסמך ה"Mobile Web Application Best Practices "

1

ללא תשלום או תנאים מגבילים למעט ייחוס לאיגוד , המצגת ניתנת לשימוש באופן חופשי

("CC BY 2.5)ישראל 2.5רישון ייחוס "כפי שמופיע ב, האינטרנט הישראלי /il/5.2creativecommons.org/licenses/by: מידע נוסף על רישיון השימוש

.תמונות וחומרים מממקורות חיצונייםל אינו תקף ל"הנ

Page 2: יחידת לימוד – תכנון ופיתוח אפליקציות ווב למכשירים ניידים

2

-W3C - Mobile Web Application Best Practicesתקן •

2010בדצמבר 14-פורסם ב

. 2012יחידת לימוד זו הוכנה במהלך ספטמבר •

היחידה כוללת חלקים רלוונטיים מהתקן וכן הערות למרצה • .המבוססות על התקן, בתחתית כל שקופית

Page 3: יחידת לימוד – תכנון ופיתוח אפליקציות ווב למכשירים ניידים

3

Mobile Web Application Best-אודות הPractices

The goal ‘Mobile Web Application Best Practices’ is to aid the development of rich and dynamic mobile Web applications.

It collects the most relevant engineering practices, promoting those that enable a better user experience and warning against those that are considered harmful.

www.w3.org/TR/mwabp

Page 4: יחידת לימוד – תכנון ופיתוח אפליקציות ווב למכשירים ניידים

4

Web Application

a Web page (XHTML + CSS) or collection of Web pages delivered over HTTP which use server-side or client-side processing (e.g. JavaScript) to provide an "application-like" experience within a Web browser.

Page 5: יחידת לימוד – תכנון ופיתוח אפליקציות ווב למכשירים ניידים

5

מכשירים ניידים לעומת –מגבלות והבדלים

שולחניים

bit.ly/w3cmbp

תצוגה •

הזנת תוכן •

רוחב פס ועלות •

מטרות המשתמש •

מגבלות המכשיר •

Page 6: יחידת לימוד – תכנון ופיתוח אפליקציות ווב למכשירים ניידים

6

Best practices

Page 7: יחידת לימוד – תכנון ופיתוח אפליקציות ווב למכשירים ניידים

7

נתוני האפליקציה1.

אבטחת מידע ופרטיות2.

יידוע המשתמש ושליטתו באפליקציה3.

שימוש מוגבל במשאבים4.

חווית משתמש5.

Delivery Context-התאמה ל6.

שיקולים נוספים7.

Page 8: יחידת לימוד – תכנון ופיתוח אפליקציות ווב למכשירים ניידים

8

נתוני האפליקציה1.

אבטחת מידע ופרטיות2.

יידוע המשתמש ושליטתו באפליקציה3.

שימוש מוגבל במשאבים4.

חווית משתמש5.

Delivery Context-התאמה ל6.

שיקולים נוספים7.

Page 9: יחידת לימוד – תכנון ופיתוח אפליקציות ווב למכשירים ניידים

9

השתמשו בטכנולוגיות ושיטות מתאימות

לאחסון נתוני האפליקציה

Page 10: יחידת לימוד – תכנון ופיתוח אפליקציות ווב למכשירים ניידים

10

?מה

נשלחות לשרת בכל בקשה

יתכן ולא יהיה פעילות במכשיר

?איך

בנו אפליקציה שיכולה להשאר פעילה גם ללא (URI decorationלמשל עם )עוגיות

המעיטו את השימוש בעוגיות

Image by: D Sharon Pruitt

Page 11: יחידת לימוד – תכנון ופיתוח אפליקציות ווב למכשירים ניידים

11

?מה

, עדיף להשתמש במנגנונים בצד לקוח לאחסון מידע

.בעיקר בכמויות גדולות

(start-up time ,Responsivenessמועיל ב)

?איך• offline HTML5 •BONDI •Opera Widgets

השתמשו בטכנולוגיות המתאימות לאחסון מידע

בצד הלקוח

https://mobile.twitter.com/#!

Page 12: יחידת לימוד – תכנון ופיתוח אפליקציות ווב למכשירים ניידים

12

שכפלו מידע לשרת במידת הצורך

?מה

תצוגה אחידה במכשירים שונים•

מגבה למקרה של אובן המכשיר•

?איך

.טכנולוגיות לאחסון מידע צד לקוח מספקת גם בדיקת קישוריות

דוגמא

j.mp/mozoff

Page 13: יחידת לימוד – תכנון ופיתוח אפליקציות ווב למכשירים ניידים

13

נתוני האפליקציה1.

אבטחת מידע ופרטיות2.

יידוע המשתמש ושליטתו באפליקציה3.

שימוש מוגבל במשאבים4.

חווית משתמש5.

Delivery Context-התאמה ל6.

שיקולים נוספים7.

Page 14: יחידת לימוד – תכנון ופיתוח אפליקציות ווב למכשירים ניידים

14

השתמשו במידע –אבטחת מידע ופרטיות

אמין והגנו על פרטיות המשתמש

Page 15: יחידת לימוד – תכנון ופיתוח אפליקציות ווב למכשירים ניידים

15

Do not Execute Unescaped or Untrusted JSON data

Image by: D Sharon Pruitt

?מה

direct execution of a

datafeed that contains

unescaped user-

generated data = security

risk

?איך

A JSON parser will

accept only valid JSON,

preventing potentially

malicious code from

running.

Page 16: יחידת לימוד – תכנון ופיתוח אפליקציות ווב למכשירים ניידים

16

נתוני האפליקציה1.

אבטחת מידע ופרטיות2.

יידוע המשתמש ושליטתו באפליקציה3.

שימוש מוגבל במשאבים4.

חווית משתמש5.

Delivery Context-התאמה ל6.

שיקולים נוספים7.

Page 17: יחידת לימוד – תכנון ופיתוח אפליקציות ווב למכשירים ניידים

17

-מכשירים ניידים מכילים מידע אישי רב

, פירוט שיחות, ולוח שנה, פרטי קשר, מדיה

חיבור לרשת, מיקום, מידע על המכשיר

הקפידו על ההמלצות הבאות אם הדפדפן

אינו מספק אותן

Page 18: יחידת לימוד – תכנון ופיתוח אפליקציות ווב למכשירים ניידים

18

הודיעו למשתמש על שימוש במידע על המכשיר או פרטים אישיים

?מה

בעת כניסה ראשונה לשירות או בגישה ראשונה

.למידע

?איך

יש בקשת רשות מובנת API-לרוב ל

(recover gracefully ;confirmation dialog .)

MapQuest.com

Page 19: יחידת לימוד – תכנון ופיתוח אפליקציות ווב למכשירים ניידים

19

נתוני האפליקציה1.

אבטחת מידע ופרטיות2.

יידוע המשתמש ושליטתו באפליקציה3.

שימוש מוגבל במשאבים4.

חווית משתמש5.

Delivery Context-התאמה ל6.

שיקולים נוספים7.

Page 20: יחידת לימוד – תכנון ופיתוח אפליקציות ווב למכשירים ניידים

20

, זיכרון – אל תכבידו על משאבי המכשיר

מוגבלים יותר במכשירים -רוחב פס , עיבוד

ניידים

Page 21: יחידת לימוד – תכנון ופיתוח אפליקציות ווב למכשירים ניידים

21

מזערו את גודל האפליקציה והנתונים

?מה

האפליקציה תרד יותר מהר

ותפעל טוב יותר

?איך

Compress content-ו Minification-השתמשו ב

See http://compressorrater.thruhere.net

Page 22: יחידת לימוד – תכנון ופיתוח אפליקציות ווב למכשירים ניידים

22

Redirects-המנעו מ

?מה

להעברת מידע HTML meta refresh או HTTP 3xxלרוב נעשה שימוש ב

(e.g. account authentication)

?איך

.מהן להמנעפשוט נסו

בכדי שהמשתמש ידע (אפשר להציג דף מעבר , אם צריך יותר משתיים

)שהמידע נטען

Page 23: יחידת לימוד – תכנון ופיתוח אפליקציות ווב למכשירים ניידים

23

Optimize Network Requests

?מה

מאשר הרבה בקשות )יותר מועטותלשרת אך גדולותעדיף לבצע בקשות (קטנות

?איך

בקשות קיבוץ•

בקשות תעדוף•

רמת הקישוריותפעילות בהתאם ל•

Page 24: יחידת לימוד – תכנון ופיתוח אפליקציות ווב למכשירים ניידים

24

צמצמו שימוש במקורות חיצוניים

?מה

style sheets, scripts, image - each of which requires an HTTP request

?איך

CSS ו-JavaScript כל אחד בקובץ אחד בלבד

או שהם ישולבו לפני שהעמוד מוגש ללקוח

Page 25: יחידת לימוד – תכנון ופיתוח אפליקציות ווב למכשירים ניידים

25

?איך

• similar sizes and color palettes.

• That do not change often.

• use CSS positioning and clipping.

(Sprites)אחדו תמונות

Image by: Kriplozoik

Page 26: יחידת לימוד – תכנון ופיתוח אפליקציות ווב למכשירים ניידים

26

Keep DOM Size Reasonable

?איך

paginationלמשל בעזרת

Page 27: יחידת לימוד – תכנון ופיתוח אפליקציות ווב למכשירים ניידים

27

נתוני האפליקציה1.

אבטחת מידע ופרטיות2.

יידוע המשתמש ושליטתו באפליקציה3.

שימוש מוגבל במשאבים4.

חווית משתמש5.

Delivery Context-התאמה ל6.

שיקולים נוספים7.

Page 28: יחידת לימוד – תכנון ופיתוח אפליקציות ווב למכשירים ניידים

28

בגלל מורכבות רבה יותר בשימוש במכשירים

חשוב לשפר את חווית המשמש –ניידים

Page 29: יחידת לימוד – תכנון ופיתוח אפליקציות ווב למכשירים ניידים

29

Optimize For Application Start-up Time

?איך

• 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.

http://www.flickr.com/photos/66475767@N00/4333416

050/

Page 30: יחידת לימוד – תכנון ופיתוח אפליקציות ווב למכשירים ניידים

30

?איך

• Incremental Rendering

• information that might be available is viewable while the main content of the application is still loading.

• Keep the User Informed of Activity (progress bars)

• Avoid Page Reloads (To reflect changes in state or show different views)

• Preload Probable Next Views

Minimize Perceived Latency

MapQuest.com

Page 31: יחידת לימוד – תכנון ופיתוח אפליקציות ווב למכשירים ניידים

31

"Click-to-Call"-השתמש במספרי טלפון ב

?איך

<a href="tel:[PHONE-NUMBER]">[PHONE-NUMBER]</a>

entered using the full international prefix

31

my.springpadit.com

Page 32: יחידת לימוד – תכנון ופיתוח אפליקציות ווב למכשירים ניידים

32

Ensure Paragraph Text Flows

?מה

גלילה אופקיתמנע •

ואפשר קריאה בשינוי אוריאנטציה•

?איך

פיקסלים/ להשתמש ביחידות מוחלטות לא

- containersלהשתמש ביחידות יחסיות לכן

32

Image by: curiouslee

Page 33: יחידת לימוד – תכנון ופיתוח אפליקציות ווב למכשירים ניידים

33

Ensure Consistency Of State Between Devices

?מה

הקפידו על עקיבות באפליקציה בין מכשירים

שונים

• Credentials

• preferences

• Data

?איך

שימורו על השרת מידע שאינו רלוונטי רק למכשיר הספציפי

33

http://www.flickr.com/photos/osde-

info/4336196538/sizes/o/

Page 34: יחידת לימוד – תכנון ופיתוח אפליקציות ווב למכשירים ניידים

34

אוטומטי Sign-inאפשרו

?מה

קשה להזין תוכון ופרטי הזדהות

?איך

local storageאו , עוגיות

(log out-לא לשכוח לשים לינק ל)

Page 35: יחידת לימוד – תכנון ופיתוח אפליקציות ווב למכשירים ניידים

35

נתוני האפליקציה1.

אבטחת מידע ופרטיות2.

יידוע המשתמש ושליטתו באפליקציה3.

שימוש מוגבל במשאבים4.

חווית משתמש5.

Delivery Context-התאמה ל6.

שיקולים נוספים7.

Page 36: יחידת לימוד – תכנון ופיתוח אפליקציות ווב למכשירים ניידים

36

.שונים Delivery Context-התאימו ל

צרו אפליקציה בעלת יכולת זיהוי ההקשר

. והסתגלות להן( כגון יכולות המכשיר)

...(מבנה עמוד, ניווט, התאמת תוכן)

Page 37: יחידת לימוד – תכנון ופיתוח אפליקציות ווב למכשירים ניידים

37

התאימו פונקציונליות ליכולות המכשיר

?איך

• Use Client-Side Capability Detection Where Necessary

• Prefer Server-Side Detection Where Possible

37

Page 38: יחידת לימוד – תכנון ופיתוח אפליקציות ווב למכשירים ניידים

38

אפשר למשתמש לבחור את התצוגה

?מה

אפשר למשתמש לשנות את סוג התצוגה

המתאים ביותר UI-כברירת מחדל ספק את ה

!אבל זכור את העדפות המשתמש

38

Page 39: יחידת לימוד – תכנון ופיתוח אפליקציות ווב למכשירים ניידים

39

נתוני האפליקציה1.

מידע ופרטיותאבטחת 2.

יידוע המשתמש ושליטתו באפליקציה3.

שימוש מוגבל במשאבים4.

חווית משתמש5.

Delivery Context-התאמה ל6.

שיקולים נוספים7.

Page 40: יחידת לימוד – תכנון ופיתוח אפליקציות ווב למכשירים ניידים

40

Consider Use of Canvas Element or SVG For Dynamic Graphics

?מה

canvas

מאפשר לצייר גרפיקה פשוטה JavaScriptבאמצעות

SVG

להגדרת אלמנטים של XMLשפת

, DOM-גרפיקה וקטורית המתווספים ל

JavaScriptוניתנים לשינוי בעזרת

40

http://www.mozilla.com/en-US/firefox/stats/

Page 41: יחידת לימוד – תכנון ופיתוח אפליקציות ווב למכשירים ניידים

41

כלים נוספים

Page 43: יחידת לימוד – תכנון ופיתוח אפליקציות ווב למכשירים ניידים

43

ללא תשלום או תנאים מגבילים למעט ייחוס לאיגוד , המצגת ניתנת לשימוש באופן חופשי

("CC BY 2.5)ישראל 2.5רישון ייחוס "כפי שמופיע ב, האינטרנט הישראלי /il/5.2creativecommons.org/licenses/by: מידע נוסף על רישיון השימוש

.תמונות וחומרים מממקורות חיצונייםל אינו תקף ל"הנ

סוף הישראליW3C-איגוד האינטרנט הישראלי ומשרד ה, מנהל פרוייקטים, אייל סלע: עריכה

www.isoc.org.il| c.org.il3www.w