כמה מילים על ה-WWDC של אפל

wwdc-2014אפל פתחה אתמול רשמית את כנס המפתחים העולמי שלה (WWDC) עם תצוגה בת שעתיים של דברים חדשים שאפל פיתחו. אני מעוניין להתייחס לכמה נקודות שאפל הכריזו.

אפל הכריזו על גירסה חדשה ל-iOS, גירסה 8. בגירסה זו ישנם תוספות רבות כמו אוטומציה לבית (עדיין אפל צריכים להרחיב על כך), שיפורים ויזואליים בממשק, הכנסה סוף סוף של Widgets צד ג' (משהו שקיים עוד מאנדרואיד 1.6!), אפשרות סוף סוף להחליף למקלדת אחרת כמו Swipe (שוב, קיים באנדרואיד מאז 2.0!), שיפורים ב-Notifications ועוד. אפל באמת, בלי שמץ של ציניות, הוסיפו המון חלקים שהיו קיימים אצל המתחרים והוסיפו עוד דברים נחמדים מאוד. כשמגיע מחמאות לאפל – אני בשמחה אתן.

אבל הבעיה המרכזית, למי שלא שם לב, היא שאפל שוב נוטשת משתמשים קבועים שלה. היכן? בדיוק בחלקים שקשורים לאינטרקציה חיצונית, מחוץ לאייפד/אייפון/מק. כך לדוגמא, ב-iOS 8 אתה יכול להתחבר ישירות מהמק אל הטלפון שלך ולהשתמש בחבילת הגלישה הסלולרית, כל זאת מבלי לנגוע בכלל בטלפון שלך (אגב, הפונקציה הזו לא תהיה פעילה מיד, יש צורך שהספק הסלולרי שלך יאפשר זאת, מה שיגרור בוודאי בישראל עלויות נוספות לחבילה שלכם, לפחות בהתחלה. זוכרים איך חברות תקשורת סלולריות מסויימות בישראל גבו יותר על Tethering? אותו דבר). אפשרות מאוד נחמדה אחרת היא לקבל את ההודעות ולשלוח אותם ישירות מהמחשב שלך, בין אם מדובר ב-SMS, ב-iMessage וכו'. תוכל לשלוח הודעות גם מהמחשב כולל וידאו, תמונות וקול. הטלפון נמצא מחוץ להישג ידך ויש שיחה? תוכל לענות ולהוציא שיחות ישירות מהמחשב שלך מבלי שהמכשיר יהיה ליידך (שוב, רק כשספק התקשורת שלך תומך ב-WIFI Calling, משהו שעדיין לא נתמך בארץ). או הפונקציונאליות הנחמדה שאם אתה כותב אימייל באייפון/אייפד שלך, תוכל להמשיך לכתוב אותו ישירות מהמחשב או מאחד המכשירים שלך – שזה מאוד נחמד.

הצרה? כל אותן פונקציות זמינות רק לבעלי מק. אם אתה מאוד אוהב את האייפון שלך והמחשב שלך הוא PC שמריץ Windows, אתה לא תקבל אף אחת מהפונקציות הללו. רבים מהחברות היו מוכנים להכניס מק במקום PC ל-Corporate, אם היו חבילות אופיס ועוד כמה תוכנות זמינות למק עם עברית (כן, אני יודע שיש אלטרנטיבות, אבל שום חברה גדולה לא תהיה מוכנה להכניס מק לעובדים שלה אם אין לו אופיס 2010/2013/2014 עם עברית מלאה מובנית ומיקרוסופט עדיין מתעקשת שלא ליישם RTL מלא באופיס על מק).

מכאן נעבור למשהו אחר שאפל הכריזה: שפת תכנות חדשה שנקראת Swift (לתשומת לב אפל: תכינו פנקס צ'קים, השם בשימוש ע"י מכון אקדמי אחד, ע"י Adobe ועוד כמה). המטרה? לתת ביצועים יותר גבוהים לאפליקציות שמפתחים כותבים.

מבחינה תחבירית של השפה, אפל לקחו מכל חור אפשרי. הם העתיקו הרבה חלקים מ-Python, מ-Javascript, מ-Lua, מ-RUBY ועוד כמה שפות. גם Swift כמו שפות רבות אחרות, משתמש בקומפיילר כדי להדר את הקוד לשפה בינארית והוא משתמש ב-LLVM.

אפל רצו להרשים את המפתחים והציגו ביצועים של הצפנה עם RC4. עם Python היתה מהירות של X1 ועם Swift פי 220. זה נראה מרשים למי שלא כתב שום קוד ב-Python, אך אם תשאלו מהנדסים בגוגל (בגוגל משתמשים המון ב-Python וכל מהנדס תוכנה שם מחוייב לדעת את השפה) ובמקומות אחרים – הם יאמרו לכם שהכל תלוי איך אתה כותב, איזה ספריות אתה משתמש כדי לכתוב את האפליקציה וכו'. אפל מנסה להשוות תפוחים לתפוזים (Python לא משתמש בקומפיילר כמו בשפות C או ++C והוא מריץ קוד ישירות). והם כמובן לא חשפו את הקוד שמראה מה הם עשו כי אם הם היו חושפים, אחרים היו שמחים להראות שניתן להציג ביצועים הרבה יותר גבוהים מ-Python. ככלל Python לא בנוי להתחרות מול C או ++C או כל שפה שמתקמפלת לקבצים בינאריים, Python מיועדת לכתיבת קוד שיכול לרוץ בכל פלטפורמה עם מינימום שינויים (ובמקרים רבים אין צורך בשום שינוי קוד) והיא מיועדת לכתיבת אפליקציות שלא מצריכות מהירות. Swift לעומת זאת, בנויה כדי למשוך מפתחים חדשים וכדי לתת להם שפה שנותנת מהירות.

הבעיה המרכזית עם Swift היא ששוב – אפל חושבת רק על עצמה ולא על שוק המפתחים. שפת Swift יכולה לשמש אך ורק לפיתוח אפליקציות למק ול-iOS. לעומת זאת, המתחרים כשמוציאים שפה נוקטים בשיטה אחרת: מיקרוסופט לדוגמא הוציאה בזמנו את #C ל-Windows אך היא גם הגישה אותו ל-ITU כדי להפוך אותו לסטנדרט חדש ובמקביל הם סייעו ל-Xamarin להכין קומפיילר ללינוקס ולאנדרואיד כך שתוכל מבחינה טכנית לכתוב אפליקציות לסביבות לא מיקרוסופטיות עם #C. גוגל כששחררה את GO, שחררה אותו מהרגע הראשון ללינוקס, מק ו-Windows, וגם ל-FreeBSD והכל כקוד פתוח. אפל כמובן לא משחררת כרגע אפילו שורת קוד אחת מ-Swift.

למי שמעוניין ללמוד Swift – עכשיו זה הזמן, אבל עדיין, חברות שכותבות אפליקציות למכשירי אייפון/אייפד יצטרכו או לכתוב קוד ב-Swift ו-Object C או להתעלם מ-Swift. הסיבה? אפל בינתיים לא רוצה לשחרר שום runtime שיאפשר לקוד שנכתב ב-Swift לרוץ על מכשירים מבוססי iOS 7 אלא רק על iOS 8, ו-iOS 8 לא ירוץ על אייפון 4 ואייפד 2, כך שקוד שנכתב ב-Swift לא ירוץ על מכשירים אלו.

אפל מרוויחה מ-Swift קהל יותר גדול של מפתחים חדשים (השפה באמת קלה ללימוד, מאפשרת שילוב של Objective C ב-Swift ולהיפך, והיא גם, אציין לטובה, עוזרת בכתיבת קוד יותר מאובטח), אבל היתרון הגדול שיהיה ל-Swift בהמשך הדרך, הוא שתוכל להדר את האפליקציה שלך לא רק שתרוץ על מק ו-iOS, אלא שהיא תוכל לרוץ ב-2 הפלטפורמות גם כשהמק כבר לא ישתמש יותר בצ'יפ של אינטל. "סוד" גלוי וידוע הוא שאפל מאוד רוצה לנטוש את המעבדים של אינטל כדי להוציא מחשבי מק מבוססים ARM ועם אורך חיי סוללה שנמדדים בימים ולא בשעות, אבל הדרך שזה יקרה עדיין ארוכה והמעבד הכי חזק שמבוסס ARM ממשפחת A53 ומעלה, עדיין מציע ביצועים די גרועים מאוד בהשוואה למעבדים כמו i5 או i7 (תסתכלו לדוגמא בטבלה הזו) שמציגים תוצאות פי 10 ומעלה יותר מכל מעבד מבוסס ARM ועוד לא דיברתי על מעבדים מבוססי Xeon כמו שיש במק פרו – אבל אפל רוצה לעבור, ואולי ה-A9 (ה-A8 כבר בייצור ע"י סמסונג בטקסס) יקבל בתוכו כמה חלקים נוספים שמזכירים דברים שקיימים ב-i7 של אינטל, ואז המפתחים לא יצטרכו לתכנן את כל האפליקציות מחדש אלא רק לקמפל ולשחרר.

עוד נקודה אחת שלא כל כך קשורה ל-WWDC אך כן קשורה בעקיפין לאפל ולעיצוב GUI ולכן אני כותב אותה למפתחים ולמעצבי UX: גוגל בזמנו שחררה מדריכים וקליפים כיצד לעצב ממשקי משתמש למכשירים בגדלים שונים, ורוב המעצבים לאייפון/אייפד די התעלמו מההוראות. אחרי הכל, הם מפתחים למכשירים של אפל, מה להם ולאנדרואיד? זה איכס פיכס, נכון? אז זהו – שאפל הולכת (לפי השמועות) להכריז בספטמבר (כנראה) על האייפון 6, ושוב יהיה שינוי רזולוציה מאסיבי, שוב יצטרכו לתכנן אייקונים ואת הממשקים לאפליקציות. גוגל, בכנס I/O שיערך עוד שבועיים (וישודר כולו ב-יוטיוב. הידד, אין צורך מכשיר אפל כדי לצפות בשידור!) תקדיש את רוב הכנס לעיצוב גרפיקה וממשקים למכשירים בגדלים שונים, אז גם אם אתם שונאים שנאת נפש אנדרואיד, תציצו בוידאו. אולי תחסכו לעצמכם עבודה בעתיד כשעוד מכשירים מבית אפל יצאו עם רזולוציות שונות.

מחשבות על מק פרו 2013 החדש

new-mac-proלאחר 6 שנים וערימות של תלונות מצד צרכני אפל המקצועיים, מדוע אפל לא מעדכנת את סידרת ה-Mac Pro שלה, אפל אתמול הכריזה (חלקית) על הגירסה החדשה של מק פרו, כפי שאתם יכולים לראות משמאל. מה מחיר? אפל לא אמרה מילה בנידון, אבל הערכות של מומחים לפי המפרט שאפל פירסמה, מדברים על סכומים בסביבות ה-5000 דולר ומעלה.

מבחינת עיצוב, אין מה לאמר – חיצונית המוצר נראה מהמם (ואני ידוע כאחד שלא ממש חובב מוצרי אפל). המהנדסים של אפל בהחלט יודעים להמציא דרכים חדשות לעצב מחשב, לדאוג לקירור של הרכיבים וכו', וגם להיראות כדבר מושך על שולחן המעצב/גרפיקאי/מהנדס.

אז אם הייתי נותן ציון 10 מתוך 10 מבחינת תכנון ועיצוב המק פרו החדש, הייתי נותן הרבה פחות על המחשבה לגבי הלקוח הסופי, זה שיצטרך את המחשב וזה שמחפש בנרות המון כח עיבוד גרפי ו-CPU. כאן, לעניות דעתי, אפל לגמרי פספסו.

מבחינת יציאות, המחשב הנ"ל עשיר ביציאות Thunderbolt-2 החדש. יש לך 6 יציאות וכל יציאה אפשר לשרשר לה 6 ציודים נוספים (אם הציוד מאפשר שרשור, חלק גדול מהדיסקים החיצוניים לדוגמא לא מאפשר זאת עדיין). בנוסף ישנם 3 יציאות USB-3.0, וגם חיבור HDMI ו-2 חיבורי רשת 1 ג'יגהביט.

כל החיבורים האלו אומרים משהו אחד פשוט: אם אתה מתכנן לרכוש את המק פרו, תכין עוד הרבה כסף לקנות ציוד חדש שאותו לא תוכל להעביר מהמק פרו הישן שלך. יש לך מסכי 30 אינטש עם חיבורי DVI-DL בלבד? תצטרך לקנות מתאמים. לא סכום גדול (100$ בחנות אפל באינטרנט). רוצה להעביר דיסקים קשיחים? כרטיסי PCI אקספרס? אולי את הכרטיסים הגרפיים שהשקעת בהם המון? שכח מזה. (במיוחד אם אתה מבצע דגימות סרטים ממצלמות מקצועיות, כאלו שעדיין לא עברו לפורמטים של כרטיסים או מצלמות RED). אפל לא נותנת יותר בשום מוצר את הפתיחות להכניס כרטיסים, כוננים או כל דבר אחר למעט הרחבת זכרון.

המשתמש הממוצע המקצועי שצריך את המק-פרו, צריך המון זכרון והמון דיסקים בתור התחלה. זכרון ניתן להרחיב אבל דיסקים? אפל נותנת פתרון מבוסס פלאש של עד 1 טרה-בייט, וכל עורך מקצועי יכול לאמר לך ש-1 טרה זו בדיחה, במיוחד אם אתה עור תמונות בפורמט RAW או וידאו לא דחוס (או בקושי דחוס), כלומר אותה חברה שתרצה לרכוש מק פרו חדש, תצטרך להוסיף בדרך גם פתרון אחסון מבוסס Thunderbird, זה יכול להיות NAS, וזה יכול להיות פתרון אחר, אבל זה פתרון חיצוני, עוד קופסא שיושבת על השולחן. 

ומה בדבר גרפיקה? אפל לראשונה נותנת במק פרו 2 מעבדים גרפיים של AMD, ה-FirePro וכאן שוב לא ניתן לשדרג. החברה מעוניינת בכרטיסי ה-Quadro החזקים והחדשים של nVidia? נחמד, אבל אי אפשר לדחוף אותם למק פרו החדש. לא ניתן גם לשדרג לגירסה יותר מתקדמת של ה-FirePro וזו נקודה מאוד בעייתית לאלו שכבר עשו השקעה מאוד רצינית בכרטיסי Quadro (הם ממש לא זולים). 

גם מבחינת מעבד מרכזי אפל ביצעה שינוי. בעבר היו לך 2 מעבדי Xeon בכל מק פרו שרכשת. הפעם אפל החליטה לחתוך. מעבד אחד וזהו, ולא – לא ניתן להוסיף מעבד.

מבחינה טכנית, ה-Thunderbolt יודע להעביר PCI דרך הכבלים במהירות של 20 ג'יגהביט (או 40 אם משתמשים בסיבים אופטיים, אבל גירסה אופטית עדיין לא יצאה. חברת Corning תוציא בקרוב כבלים כאלו אך הם עדיין בתהליכי בדיקה של ה-FCC) כך שטכנית ניתן לבנות קופסא עם כמה מקומות לכרטיסי PCI EXPRESS ולדחוף לשם כרטיסים (כמו שיש כיום ל-Sonnet), אבל כיום אין עדיין קופסאות שתומכות ב-PCI EXPRESS 3.0, כך שיקח זמן עד שיצא פתרון כזה, וגם אז – הוא לא יהיה זול.

עם המק פרו החדש של אפל, מגיע ויכוח שסביר להניח שיקרה בחברות שהעובדים ידרשו מחשב כזה. העובדים יבקשו, ואנשי ה-IT יצטרכו לחשוב היטב אם לרכוש או לא. עם המק-בוק למיניהם ההחלטה קלה: מה הצרכים של העובד/מנהל, ואז מחליטים אם ללכת על AIR או על המק-בוק PRO. עם המק פרו לעומת זאת, יהיו הוצאות נלוות גדולות וגם החלטה מה לעשות עם פתרונות שרצים כרגע על המק פרו הישנים ולא ירוצו על המק פרו החדש (כרטיסי מסך, כרטיסי PCI אקספרס, מערכי RAID, דיסקים מכניים/SSD וכו').

מק פרו החדש, כפי שכתבתי בהתחלה, עדיין לא יצא והוא יצא כנראה לקראת ספטמבר/אוקטובר (והוא ייוצר ברובו בארה"ב, אגב) ואני די בטוח שהוא ימכר בכמויות נאות, אבל לא בקלות והקונים יצטרכו לחשוב היטב על ההשקעה הגבוהה. בעבר היית יכול לרכוש כרטיס או דיסק, לדחוף ולסגור עניין, היום אתה צריך כבר להשקיע בעוד לא מעט קופסאות.