54
1

שיטות לפיתוח אפליקציות ווב למכשירים ניידים על פי Mobile Web Application Best Practices

Embed Size (px)

DESCRIPTION

Mobile web best practices eyal sela [hebrew]

Citation preview

Page 1: שיטות לפיתוח אפליקציות ווב למכשירים ניידים על פי Mobile Web Application Best Practices

1

Page 3: שיטות לפיתוח אפליקציות ווב למכשירים ניידים על פי Mobile Web Application Best Practices

מילה על הווב

3

Page 4: שיטות לפיתוח אפליקציות ווב למכשירים ניידים על פי Mobile Web Application Best Practices

4

Mobile Web Application Best

Practicesאייל סלע

איגוד האינטרנט הישראלי , מנהל פרויקטיםהישראלי W3C-ומשרד ה

Page 6: שיטות לפיתוח אפליקציות ווב למכשירים ניידים על פי Mobile Web Application Best Practices

...תוכנית

ואיגוד האינטרנט הישראלי W3C - מבוא•

mobile web applications best practices-ה אודות•

•The Best practices

6

Page 7: שיטות לפיתוח אפליקציות ווב למכשירים ניידים על פי Mobile Web Application Best Practices

איגוד האינטרנט הישראלישלוחת האיגוד הבינלאומי

עמותה ללא מטרת רווח

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

חברתית ועסקית, חינוכית, מחקרית, טכנולוגית

7

Page 8: שיטות לפיתוח אפליקציות ווב למכשירים ניידים על פי Mobile Web Application Best Practices

8

W3C

ארגון בינלאומי •

ארגונים 350-כ•

. פורום ניטראלי ליצירת תקני רשת באינטרנט•

:משימה•

להוביל את הרשת למיצוי הפוטנציאל על ידי פיתוח

פרוטוקולים וקווים מנחים שיאפשרו את צמיחתה .לטווח ארוך

Page 9: שיטות לפיתוח אפליקציות ווב למכשירים ניידים על פי Mobile Web Application Best Practices

Mobile Web-אודות הApplication Best

Practices

9

Page 10: שיטות לפיתוח אפליקציות ווב למכשירים ניידים על פי Mobile Web Application Best Practices

10

Web Applicationa 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 11: שיטות לפיתוח אפליקציות ווב למכשירים ניידים על פי Mobile Web Application Best Practices

11

(BP1) הבדל מאתר רגיל

include locally executable elements of interactivity and

persistent state.

cmbp3bit.ly/w validator.w3.org/mobile/

/nextbus.com/webkit

Page 12: שיטות לפיתוח אפליקציות ווב למכשירים ניידים על פי Mobile Web Application Best Practices

12

תצוגה •

הזנת תוכן•

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

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

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

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

cmbp3bit.ly/w

Page 13: שיטות לפיתוח אפליקציות ווב למכשירים ניידים על פי Mobile Web Application Best Practices

13

Best practices

Page 14: שיטות לפיתוח אפליקציות ווב למכשירים ניידים על פי Mobile Web Application Best Practices

14

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

( 1)ביטחון מידע ופרטיות 2.

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

(11)שימוש מוגבל במשאבים 4.

(10)חווית משתמש 5.

Delivery Context (5)-התאמה ל6.

(1)שיקולים נוספים 7.

(35כ "סה)

Page 15: שיטות לפיתוח אפליקציות ווב למכשירים ניידים על פי Mobile Web Application Best Practices

15

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

( 1)ביטחון מידע ופרטיות 2.

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

(11)שימוש מוגבל במשאבים 4.

(10)חווית משתמש 5.

Delivery Context (5)-התאמה ל6.

(1)שיקולים נוספים 7.

Page 16: שיטות לפיתוח אפליקציות ווב למכשירים ניידים על פי Mobile Web Application Best Practices

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

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

16

Page 17: שיטות לפיתוח אפליקציות ווב למכשירים ניידים על פי Mobile Web Application Best Practices

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

?מה

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

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

?איך

בנו אפליקציה שיכולה להשאר פעילה גם ללא עוגיות

(URI decorationלמשל עם )

17

D Sharon PruittImage by:

Page 18: שיטות לפיתוח אפליקציות ווב למכשירים ניידים על פי Mobile Web Application Best Practices

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

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

.בעיקר בכמויות גדולות, מידע(start-up time ,Responsivenessמועיל ב)

?איך•BONDI

•5HTML - coff3j.mp/w-Offline

•Opera Widgets

18

Remy Sharpby |remysharp.com/demo/rubiks/-

Page 19: שיטות לפיתוח אפליקציות ווב למכשירים ניידים על פי Mobile Web Application Best Practices

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

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

מגבה למקרה של אובן המכשיר•(לא צריך לשכפל למשל העדפות תצוגה של מכשיר ספציפי)

j.mp/mozoff

?איך

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

.בדיקת קישוריות

דוגמא

19

j.mp/mozoff

Page 20: שיטות לפיתוח אפליקציות ווב למכשירים ניידים על פי Mobile Web Application Best Practices

20

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

( 1)ביטחון מידע ופרטיות 2.

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

(11)שימוש מוגבל במשאבים 4.

(10)חווית משתמש 5.

Delivery Context (5)-התאמה ל6.

(1)שיקולים נוספים 7.

Page 21: שיטות לפיתוח אפליקציות ווב למכשירים ניידים על פי Mobile Web Application Best Practices

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

על פרטיות המשתמש

21

Page 22: שיטות לפיתוח אפליקציות ווב למכשירים ניידים על פי Mobile Web Application Best Practices

Do not Execute Unescaped or Untrusted

JSON data

RFC4627 for details

22

D Sharon PruittImage by:

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 23: שיטות לפיתוח אפליקציות ווב למכשירים ניידים על פי Mobile Web Application Best Practices

23

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

( 1)ביטחון מידע ופרטיות 2.

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

(11)שימוש מוגבל במשאבים 4.

(10)חווית משתמש 5.

Delivery Context (5)-התאמה ל6.

(1)שיקולים נוספים 7.

Page 24: שיטות לפיתוח אפליקציות ווב למכשירים ניידים על פי Mobile Web Application Best Practices

חיבור לרשת, )!(מיקום , מידע על המכשיר, פירוט שיחות, calendar-פרטי קשר ו, מדיה

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

24

... התייחסו יפה למידע רגיש

Page 25: שיטות לפיתוח אפליקציות ווב למכשירים ניידים על פי Mobile Web Application Best Practices

הודיעו למשתמש על שימוש במידע על

המכשיר או פרטים אישיים

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

.למידע

?איך

יש בקשת רשות מובנת API-לרוב ל(recover gracefully ;confirmation dialog .)

25

MapQuest.com

Page 26: שיטות לפיתוח אפליקציות ווב למכשירים ניידים על פי Mobile Web Application Best Practices

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

?מה....כי יותר קשה להזין תוכן

?איך local storageאו , בעוגיות

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

26

Page 27: שיטות לפיתוח אפליקציות ווב למכשירים ניידים על פי Mobile Web Application Best Practices

27

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

( 1)ביטחון מידע ופרטיות 2.

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

(11)שימוש מוגבל במשאבים 4.

(10)חווית משתמש 5.

Delivery Context (5)-התאמה ל6.

(1)שיקולים נוספים 7.

Page 28: שיטות לפיתוח אפליקציות ווב למכשירים ניידים על פי Mobile Web Application Best Practices

זיכרון

עיבוד

רוחב פס

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

28

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

Page 29: שיטות לפיתוח אפליקציות ווב למכשירים ניידים על פי Mobile Web Application Best Practices

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

?מהתרד יותר מהר

תפעל יותר טוב

?איךJavaScript-ו CSS ,HTMLהקטינו

(removal of white space and comments; shorter tokens (variables, method names, selector names)

29

See http://compressorrater.thruhere.net

Page 30: שיטות לפיתוח אפליקציות ווב למכשירים ניידים על פי Mobile Web Application Best Practices

Redirects-המנעו מ

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

refresh להעברת מידע(e.g. account authentication)

?איך.מהן להמנעפשוט נסו

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

30

Page 31: שיטות לפיתוח אפליקציות ווב למכשירים ניידים על פי Mobile Web Application Best Practices

Optimize Network Requests

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

(מאשר הרבה בקשות קטנות)יותר

?איךבקשות קיבוץ•

בקשות תעדוף•

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

31

Page 32: שיטות לפיתוח אפליקציות ווב למכשירים ניידים על פי Mobile Web Application Best Practices

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

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

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

OR

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

32

Page 33: שיטות לפיתוח אפליקציות ווב למכשירים ניידים על פי Mobile Web Application Best Practices

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

?איך• similar sizes and color palettes.

• That do not change often.

• use CSS positioning and clipping.

דוגמאwww.yahoo.com

33

Image by: Kriplozoik

Page 34: שיטות לפיתוח אפליקציות ווב למכשירים ניידים על פי Mobile Web Application Best Practices

Keep DOM Size Reasonable

?איך paginationלמשל בעזרת

34

Page 35: שיטות לפיתוח אפליקציות ווב למכשירים ניידים על פי Mobile Web Application Best Practices

35

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

( 1)ביטחון מידע ופרטיות 2.

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

(11)שימוש מוגבל במשאבים 4.

(10)חווית משתמש 5.

Delivery Context (5)-התאמה ל6.

(1)שיקולים נוספים 7.

Page 36: שיטות לפיתוח אפליקציות ווב למכשירים ניידים על פי Mobile Web Application Best Practices

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

• Latency

• interaction method

• data consistency

36

Page 37: שיטות לפיתוח אפליקציות ווב למכשירים ניידים על פי Mobile Web Application Best Practices

ק'יק צ'להתחיל צ

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.

37

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

Page 38: שיטות לפיתוח אפליקציות ווב למכשירים ניידים על פי Mobile Web Application Best Practices

Minimize Perceived Latency

?איך

• Incremental Rendering: Place JavaScript at the

bottom of the page+ configure the page so that any useful 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

38

MapQuest.com

Page 39: שיטות לפיתוח אפליקציות ווב למכשירים ניידים על פי Mobile Web Application Best Practices

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)

39

Image by: Dennis Bournique

Page 40: שיטות לפיתוח אפליקציות ווב למכשירים ניידים על פי Mobile Web Application Best Practices

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

איך

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

entered using the full international prefix

RFC3966

40

my.springpadit.com

Page 41: שיטות לפיתוח אפליקציות ווב למכשירים ניידים על פי Mobile Web Application Best Practices

Ensure Paragraph Text Flows

?מה

מנע גלילה אנכית•

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

?איך

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

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

41

curiousleeImage by:

Page 42: שיטות לפיתוח אפליקציות ווב למכשירים ניידים על פי Mobile Web Application Best Practices

Ensure Consistency Of State Between

Devices

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

שונים

• Credentials

• preferences

• Data

?איךשימורו על השרת מידע שאינו רלוונטי רק

למכשיר הספציפי

42

/sizes/o/4336196538info/-http://www.flickr.com/photos/osde

Page 43: שיטות לפיתוח אפליקציות ווב למכשירים ניידים על פי Mobile Web Application Best Practices

43

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

( 1)ביטחון מידע ופרטיות 2.

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

(11)שימוש מוגבל במשאבים 4.

(10)חווית משתמש 5.

Delivery Context (5)-התאמה ל6.

(1)שיקולים נוספים 7.

Page 44: שיטות לפיתוח אפליקציות ווב למכשירים ניידים על פי Mobile Web Application Best Practices

44

שונים Delivery Context-התאימו להתאמת . )והסתגלות להן( כגון יכולות המכשיר)צרו אפליקציה בעלת יכולת זיהוי ההקשר

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

Page 45: שיטות לפיתוח אפליקציות ווב למכשירים ניידים על פי Mobile Web Application Best Practices

Prefer Server-Side Detection Where

PossibleHTTP request header: Accept; User-Agent; X-Wap-Profile

45

Use Client-Side Capability Detection

Where NecessaryJavaScript: (e.g. if (some_api_exists) { ...). CSS Media Types / Queries

Use Device Classification to Simplify

Content AdaptationClass 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.

Page 46: שיטות לפיתוח אפליקציות ווב למכשירים ניידים על פי Mobile Web Application Best Practices

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

?מה

אפשר למשתמש לשנות את

סוג התצוגה

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

המתאים ביותר

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

46

Page 47: שיטות לפיתוח אפליקציות ווב למכשירים ניידים על פי Mobile Web Application Best Practices

47

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

( 1)ביטחון מידע ופרטיות 2.

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

(11)שימוש מוגבל במשאבים 4.

(10)חווית משתמש 5.

Delivery Context (5)-התאמה ל6.

(1)שיקולים נוספים 7.

Page 48: שיטות לפיתוח אפליקציות ווב למכשירים ניידים על פי Mobile Web Application Best Practices

48

(published as advisory notes)

Page 49: שיטות לפיתוח אפליקציות ווב למכשירים ניידים על פי Mobile Web Application Best Practices

Consider Use of Canvas Element or

SVG For Dynamic Graphics

?מהcanvas

מאפשר לצייר גרפיקה פשוטה

JavaScriptבאמצעות

49

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

SVGוניתנים לשינוי בעזרת , DOM-המתווספים ל וקטוריתלהגדרת אלמנטים של גרפיקה XMLשפת

JavaScript

Page 50: שיטות לפיתוח אפליקציות ווב למכשירים ניידים על פי Mobile Web Application Best Practices

הודיעו למשתמש על גישה אוטומטית לרשת

?מהשימוש ברשת מרוקן את הסוללה

...עולה כסף

?איךהמודיע על פעילות ברגעאייקון •

, בחיבור ראשון)על שימוש רב ברשת הודיעו•

(בהרשמה או בדפי העזרה

, כמה זמן)אופי החיבור ספקו מידע על •

(כ שימוש"סה,תדירות

.

50

Page 51: שיטות לפיתוח אפליקציות ווב למכשירים ניידים על פי Mobile Web Application Best Practices

ספק אמצעים לשליטה בחיבור אוטומטי לרשת

?מהאפשר למשתמש למנוע חיבור אוטומטי

לרשת.(הציגו הודעת חיבור מעת לעת–כאשר זה מבוטל )

–אפשרי

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

.להתחבר

51

Jeff SonsteinImage by:

Page 52: שיטות לפיתוח אפליקציות ווב למכשירים ניידים על פי Mobile Web Application Best Practices

כלים נוספים

52

Page 54: שיטות לפיתוח אפליקציות ווב למכשירים ניידים על פי Mobile Web Application Best Practices

הירשמו לידיעון•

צרו קשר•

54

@isociltech @eyalsela

תודה