השבוע נסתיימה לה וועידת Build 2012 ברדמונד, וועידת המפתחים הגדולה ביותר בעולם לטכנולוגית מיקרוסופט. בוועידה הכרזו על שחרור פלטפורמת הפיתוח ל- Windows Phone 8.
פלטפורמת הפיתוח ל- WP8 חולקת את אותה ליבה עם Windows 8, מה שכמובן מהווה יתרון גדול לנו המפתחים בכל הקשור לפיתוח אפליקציות המותאמות למספר פלטפורמות. כיוון שיש הרבה חידושים בגרסה החדשה, רצינו לעבור אתכם על ה- highlights, על התכונות החדשות המרכזיות.
ה- SDK כולל את כל מה שאתם צריכים על מנת להתחיל לפתח בצורה מיידית אפליקציות WP8:
- Visual Studio 2012 Express for Windows Phone – סביבת הפיתוח החזקה בגרסתה החינמית
- Windows Phone Emulator – אמולטור המאפשר לכם לבדוק ולבחון אפליקציות אפילו ללא צורך במכשיר
- Expression blend for Windows Phone – הכלי האולטימטיבי לבנות UI מרשים בקלות
- Team Explorer - מאפשר לכם להתחבר בקלות לשרת ניהול קוד TFS
- XNA Game Studio – מאפשר לכם לפתח משחקים ל- WP באמצעות טכנולוגיות XNA
אני ממליץ לכם לבקר בפורטל המפתחים החדש, ה- Dev Center וכמובן להוריד את ה- SDK.
אגב, אם אתם אנשים פרטיים ולא חברה, עד מחר ה- 7.11.2012 תוכלו לרכוש רישיון פיתוח ב- 8$ במקום ב- 99$. שווה!
++C
כיוון שזאת היתה דרישה פופולרית של מפתחים, הוספנו כעת יכולת להשתמש ב- ++C באפליקציה שלכם. אם אתם מפתחי מובייל המתכננים לפתח למספר פלטפורמות, זה מאפשר לכם פורטביליות של הקוד בצורה פשוטה כמו גם יכולת להשתמש באותה לוגיקה עסקית, ספריות קוד פתוח כגון SQLite וכו’. אתם יכולים כעת להשתמש ב- ++C באפליקציות מבוססות XAML ו- #C או אפילו לפתח אפליקציה שלמה על טהרת ++C.
Direct3D app
ב- WP8 יש לנו פלטפורמת פיתוח משחקים חדשה ב- ++C: היא נקראת Direct3D app. מעתה תוכלו לקבל גישת low-level ל- Direct3D API עובר גרפיקה, XAudio2, WASAPI או API אחרים ב- ++C המאפשרים לכם לפתח משחקים.
אותו מודל תמצאו ב- Windows 8 ולכן תרוויחו 2 ציפורים במכה ותוכלו לפתח בקלות את אותו המשחק גם ל- Windows 8. הפלטפורמה החדשה תאפשר בקלות שימוש גם בספריות פיתוח משחקים פופולריות כגון Unity3D, Havok ועוד.
עוד מידע על כך תוכלו למצוא ב- Direct3D app development for Windows Phone 8.
Windows 8 Aligned API’s
כפי שציינו מקודם הליבה המשותפת של WP8 ו- Windows 8 מאפשרת שימוש ב- API’s שיאפשרו לכם לפתח בקלות אפליקציות המותאמות ל- 2 הפלטפורמות.
ה- API’s המאפשרים גישה זאת בנויים על ה- Windows Runtime וכוללים גם COM ו- Win32 API’s.
שיפורים בפקדי XAML
שיפרנו את ה- XAML app model וכעת ניתן ליצור יותר בקלות ממשק איכותי ועוצמתי: LongListSelector, פקד מפות, פקד הדפדפן ועוד שיפורים רבים.
Windows Runtime Components ו- C++ Code Reuse
אפליקציות XAML ואפליקציות Direct3D יכולות כעת לבנות קומפוננטות WinRT באמצעות ++C ולחשוף API הנגיש בצורה ישירה מקוד ++C או #C. כמו כן מפתחי XAML יכולים להשתמש ב- ++C באפליקציות שלהם. זה מאפשר אפשרויות ויכולות חדשות שעד עתה לא היו אפשריות: היכולות להשתמש בספריות קוד פתוח, לקרוא ל- COM ו- Win32 ועוד.
DrawingSurface
מאפשר לכם לרנד “אי של Direct3D” בתוך אפליקציית ה- XAML שלכם בקלות.

תמיכה בשפות RTL
לשמחתנו הרבה בישראל הוספה תמיכה מלאה בדו-כיווניות וניתן בקלות לשלב שפות ב-2 הכיוונים כגון עברית ואנגלית באפליקציה שלכם. עוד על כך תוכלו לקרוא כאן: Creating bidirectional apps for Windows Phone 8.
מחוות מגע חדשות
Pinch ו- Strech ועוד אירועי מגע מאפשרים לכם יותר בקלות לפתח אפליקציה רספונסיבית. עוד על כך ב- Gesture support for Windows Phone.
תמיכה במספר רזולוציות
הוספנו תמיכה ברזלוציות של 1280 על 768 וכן 1280 על 720 בנוסף לרזולוציה שנתמכה עד עכשיו – 800 על 480.
האפליקציות שלכם יעבדו ברזולוציות החדשות גם אם לא ביצעתם להם התאמה, וכמובן שאפליקציות ומשחקים חדשים יוכלו לנצל את הרזולוציות החדשות בצורה מיטבית. עוד על כך ב- Multi-resolution apps for Windows Phone 8.
שיפורים ביכולות הרשת
- הוספה תמיכה ב- WintRT sockets, מה שמאפשר לכם לכתוב אפליקציות המיועדות גם ל- Windows 8 ועושות שימוש למשל ב- StreamSocket ו- DatagramSocket.
- הוספנו WinRT API’s התומכים ב- Bluetooth ו- NFC, מה שמאפשר תקשורת בין אפליקציה להתקנים חיצוניים ואפילו תקשורת בין אפליקציות לאפליקציות, למשל במקרה של משחק בין 2 מכשירים שונים.
- הוספנו תמיכה ב- ++C ו- COM עבור פרוטוקול HTTP ו- HTTPS וכן תמיכה ב- Winsock מה שיאפשר לכם לבצע מיגרציה לקוד Legacy שנכתב ב- C/++C ל- WP8.
שיפורי ביצועים של אפליקציות
האפליקציות בגרסה החדשה רצות מהם יותר, אפילו האפליקציות שנבנו עבור WP7.5
- קומפילציה בענן – האפליקציות עולות מהר יותר כיוון שעכשיו אנו מקמפלים אותם בענן לפני שהן מותקנות על המכשיר שלכם, במקום להריץ JIT קומפיילר בזמן האתחול או כל פעם שאסמבלי חדש נטען.
- Splash Screen – ביצענו שיפורים במנגנון שטוען את ה- splash screen. כמו כן תבנית הפרוייקט החדשה ב- Visual Studio איננה כוללת יותר splash screen על מנת שתתבצע טעינה מהירה.
- Binary XAML – אפליקציית XAML מקומפלת לפורמט בינארי בעת התקנת האפקליציה, מה שמאפשר טעינה מהירה יותר.
- Off-Thread Input – יותר פקדים תומכים בעיבוד טקסט מהמשתמש ב- Thread נפרד מה שגורם לממשק המגיב בצורה טובה ומהירה יותר.
יכולות משופרות בשליטה במצלמה והעדשה
נוספו יכולות חדשות המאפשרות שליטה טובה יותר בעדשה וכן ביכולות כגון העלאה לענן של תמונות, photo editors ועוד. ראו Lenses for Windows Phone 8 וכן How to use the share media task for Windows Phone.

ארנק אלקטרוני ו- NFC
ה- Wallet Hub החדש מאפשר לכם לרכז מידע אודות הכרטיסים שלכם, כרטיסי המועדון, הקופונים וכו’. באמצעות מודל הפיתוח לארנק אפליקציות יוכלו לעדכן את התוכן שלו. ביצוע טרנזאקציות בתקשורת NFC מאובטחת יהיו אפשריות בשווקים מסויימים מה שיאפשר לבצע תשלומים באמצעות פרטי הכרטיס השמורים בארנק האלקטרוני. עוד כל כך ב- Wallet for Windows Phone 8.
In-App Purchasing
מיקרוסופט התחברה לחברות סליקה מ-191 מדינות ברחבי העולם על מנת לאפשר לכם דרכים חדשות למכור ישירות מתוך האפליקציה או המשחק שלכם, למשל רכישת אוואטר, ebooks, שלבים שונים במשחקים, gold coins וכו’..
משתמשים יכולים כעת לבצע רכישות מסוג in-app באותם דרכים שהם קונים בחנות האפליקציות: בכרטיס אשראי, paypal או באמצעות חיוב חשבון הטלפון. מיקרוסופט תספק לכם את המידע על כל רכישה כזאת, כולל מי רכש, מתי ואיך.
הרווחים מתחלקים באותה צורה כפי שהרווחים מהאפליקציה מתחלקים (70% לכם, 30% למיקרוסופט). ראו In-app purchase for Windows Phone 8.
תקשורת בין אפליקציות במכשיר
האפליקציה שלכם יכולה להיות מוזנקת מאפליקציה אחרת או אירועי מערכת, למשל ביצוע טרנזאקציית NFC וכן אתם יכולים מתוך האפליקציה להזניק אפליקציות אחרות. כמו כן האפליקציה שלכם יכולה להרשם כאחראית על פתיחת קבצים מסויימים כך שפתיחת תמונה למשל תזניק את עורך התמונות שפיתחתם. החלק הטוב כאן הוא שאם האפליקציה שלכם מטפלת בקובץ מסוג מסויים והיא איננה מותקנת במכשיר, המכשיר יידע להזניק את החנות על מנת שהמשתמש יוכל להוריד את האפליקציה שלכם.
Notifications and Tiles
ה- live tiles הם קונספט משמעותי לאינטרקאציה בין המשתמש לאפליקציה שלכם, ולכן הוספנו מספר תבניות נוספות של Live Tiles, אנימציות וגדלים שונים, על מנת לאפשר לכם לבחור בחווית משתמש out of the box נוחה ויעילה, בהתאם לצרכים של האפליקציה שפיתחתם. אפשר גם כעת להראות נוטיפיקציות למשתמש ישירות על מסך הנעילה.
עוד על כך ב- Tiles and notifications for Windows Phone וב- Lock screen for Windows Phone 8.
יכולות זיהוי דיבור
WP8 כוללת פלטפורמת יכולת זיהוי דיבור מתקדמת המאפשרת למשתמשים לדבר אל האפליקציה שפיתחתכם:
- פקודות קוליות – הזנק אפליקציה והרץ פקודות
- API’s for in-app dialog – קיסטום האפליקציה על מנת לאפשר דיאלוג עם המשתמש והרצת פקודות
- Text-To-Speech – הוספת יכולות זיהוי קולי על מנת שהאפליקציה תוכל “לדבר” עם המשתמש.
היכולות וה- API’s האלו מאפשרות זיהוי קולי על המכשיר עצמו או בעזרת שימוש משאבי רשת כגון Bing. עוד על כך ב- Speech for Windows Phone 8.
פלטפורמת VoIP
WP8 מציגה פלטפורמת VoIP חדשה המאפשרת לאפליקציות VoIP לבצע אינטגרציה עמוקה למכשיר, כך שלמשל שיחה שמתקבלת מאפליקציית VoIP תהיה זהה לשיחה נכנסת מטלפון אחר, כולל ריצה ברקע ושיחות וידאו. עוד על כך ב- VoIP apps for Windows Phone 8.
תמיכה באפליקציות Enterprise
אכיפת פוליסות ארגוניות כגון הפעלת BitLocker ו- PIN Code, מחיקת מידע עסקי מרחוק במקרה הצורך (ללא מחיקת כל המידע האישי של בעל הטלפון), הפצת אפליקציות לארגון בלבד ללא מעבר דרך החנות ועוד יכולות המאפשרות לארגונים להכניס את ה- WP8 כאזרח מן השורה הראשונה לארגון.
אנשי קשר ולוח שנה
WP8 מציג API’s חדשים המאפשרים לאפליקציות ליצור contact stores משל עצמן ולשלב אותן ב- People Hub למשל, או להוסיף פגישות ללוח השנה ועוד יכולות חשובות. ראו את Contacts and Calendar for Windows Phone.
חזרה מהירה של האפליקציה ממצב השהייה (Resume)
בגרסה הקודמת של WP, מופע חדש של האפליקציה היה עולה לאוויר במקרה שהמשתמש לחץ על אייקון האפליקציה, גם אם האפליקציה היתה כבר בזיכרון. ב- WP8 אנו מאפשרים לכם לבחור האם האפליקציה תוזנק בצורה מהירה במידה והיא קיימת כבר בזיכרון או שלא. קראו עוד על כך ב- Fast app resume for Windows Phone 8.
ריצה ברקע של אפליקציות ניווט
הוספנו יכולת multitasking המאפשרת לאפליקציה לעקוב בצורה טובה יותר ומתמשכת אחר המיקום הנוכחי של המשתמש .(כמובן שבהרשאתו). היכולת הזאת מאפשרת לאפליקציות כגון ניווט וריצה לרוץ ברקע בצורה מעודכנת גם אם המשתמש מריץ אפליקציה אחרת, להעלות נוטיפיקציות, התראות קוליות ואפילו לעדכן את האריח. ראו Location for Windows Phone 8.
סיכום
Windows Phone 8 בהחלט מוסיף המון יכולות שאנו המפתחים יכולים לנצל על מנת ליצור אפליקציות טובות יותר אשר מנצלות את היכולות הטכנולוגיות של המכשירים בצורה טובה יותר, ובנויות לדרישות התובעניות של המשתמשים של היום. עם מגוון המכשירים החדש ועם הליבה המשותפת עם Windows 8, אנו מחכים לראות את כל האפליקציות הנפלאות שאתם הולכים לפתח על הפלטפורמה החדשה. בהצלחה!
יש לכן שאלות נוספות בנוגע לפיתוח אפליקציות Windows Phone 8? כנסו לפורום שלנו בעברית!