>> דוד י מלאן: אז חזרנו.
אז ברמה הגבוהה נושא כרגע חברה
הוא ערימות טכנולוגיה, אשר אינו מונח טכני במיוחד,
זה יותר של מלכוד כל לכל מספר שילובים של טכנולוגיות
שיהיה אפשר להשתמש כדי לפתור בעיות.
ואולי הכי דרך הולמת להתחיל
יהיה להסתכל על שפות מאז אני כל הזמן מטלטל את כל חבורה
ורוב הנוכחים בחדר יש כנראה שמע לפחות אחד.
>> אם כך מדוע שלא ננסה להבחין איזה-- להבחין בשפות הבאות
ולדבר בקצרה על כאשר שהיית לבחור אחד על פני השני, איך הם
מעין מן היסוד שונה, ובמיוחד
כשאתה משוחח עם מהנדסים, או מנסה להחליט מי לשכור,
או מה יישום הצעת אור ירוקה,
איך היית באמת לעשות סוגים של החלטות אלו.
>> אז בואו רק לעצבן קצת את הדברים.
שפות אנשים יש שמעתי עליהם, מה שעולה על הדעת?
ג אישור.
אישור, C ++.
מה זה?
>> קהל: Python.
>> דוד י מלאן: Python.
מְעוּלֶה.
מה עוד?
ויז'ואל בייסיק.
שמעתי Java.
Basic-- חזותית המוכר גם בשם
VB.
Java.
.NET, וזה יותר של מלכוד כל עבור מה בדרך כלל C # כשפה
בשאלה.
ותנו לי להזכיר את זה.
אז נחזור לזה.
אני מצטער?
מצטער?
>> קהל: SQL.
דוד י מלאן: גרד?
קהל: SQL.
דוד י מלאן: הו, SQL.
בסדר.
SQL.
אז נחזור אל ש-- למעשה, זה good-- אחרי ההפסקה גם כן.
מה עוד?
>> קהל: אורקל.
>> דוד י מלאן: אז אורקל, לא שפה.
למעשה הם ישתמשו SQL וכן.
אז בואו נשים את זה אחרי ההפסקה גם כן.
וסליחה, משהו כאן?
קהל: Mathematica.
דוד י מלאן: Mathematica?
אוקיי בטח.
ו MATLAB הוא סוג של על שם לפעמים.
>> קהל: ר '
>> דוד י מלאן: ר 'בוא נלך לכאן.
Fortran.
בטוח.
מבוגרי ספר.
Fortran.
COBOL.
אני זורק BASIC.
בסיסי.
כל--
>> קהל: MATLAB?
דוד י מלאן: MATLAB.
אה, את זה בשבילך.
כל דבר?
אני יכול לחשוב על כמה אחרים.
ומה היה האחרון?
>> קהל: ASP.
>> דוד י מלאן: ASP?
כֵּן.
דפי שרת פעילים.
זה בדרך כלל היה נופל תחת בשפות אחרות, לפעמים C #,
אז בואו נשאיר את זה משם.
אבל נחזור לזה עבור מסגרות כאלה.
עוד משהו?
PHP היא פופולרית.
רובי הוא אחר.
JavaScript, לא להתבלבל עם Java, זה דבר אחר.
זה סוג של הרבה.
>> אז זה יכול להיות בהחלט מכריע, כאילו הרשימה אינה כבר,
רק כדי להתחיל לדעת איפה אתה מתחיל.
וכך למרבה המזל, בואו גישה זו מכמה זוויות.
ראשית, בואו ננסה לסווג לפחות חלק בשפות הבאות
לשתי קבוצות גדולות, מזכירות השיחה שהייתה לנו לפני ההפסקה
שם דיברנו על קומפילציה, ואת קוד המקור, ואת קוד מכונה,
בגלל זה לא איך בכל השפות לעבוד.
אז נצטרך לתלוש כמה דוגמאות זה-- או נגד examples-- למודל זה.
>> ואז, למה לא אנחנו מדברים על יישומים
כי בשפות הבאות משמשים בדרך כלל.
ולמען האמת, אף על פי זוהי רשימה ארוכה למדי,
זה רק קבוצת משנה של רשימה זו כי אתה בדרך כלל היה שואב בימים אלה
כדי לפתור את הבעיות.
בשפות מסוימות חדשות יותר מאחרים.
בשפות מסוימות פופולרי יותר מאחרים.
אז זה לא מתאים לך להיות כזה משימה מכרעת לפני שאתה
כאשר מחליטים בין אלו שפות שונות.
>> אז בוא נעשה את זה.
אנחנו קודם לכן, קוד מקור, ואז היה לנו קוד מכונה.
אופס.
לכתוב את המילה הלא נכונה.
קוד מכונה.
והיו לנו כמה התהליך באמצע שנקרא-- כן, המהדר.
אז המהדר.
>> ומה צופן מכונה למעשה פועל על בסופו של דבר
הולך להיות המעבד שלך בפועל.
במילים אחרות, על ידי קוד מכונה, אני אומר את ההוראות הרמה הנמוכה ביותר
כי מעבד בעצם מבין.
חיבור, חיסור, מהלך, לחסוך, ופעולות כאלה.
וכך זה הדגם עבור מה בדרך כלל המכונה בשפות הידור.
אולי אין זה מפתיע.
>> אז זהו המודל עבור שפות הידור.
אבל מתברר של שם סוג אחר של שפות
קרא לפרש languages-- פרש languages--
כי הם שונים במקצת.
אתה כותב קוד מקור, לרוץ אותם באמצעות מתורגמן,
ומתורגמן כי הוא מה פועל על המעבד.
במילים אחרות, מה שאתה עושה לא פולט מה, כנראה?
קוד מכונה.
אפסים ואחדות כי המעבד עצמו בסופו של דבר מבין.
>> אז בגרסה הראשונה זה בשפות כמו C, כמו שראינו,
אתה כותב קוד המקור זהו מסתוריות מעט,
אבל לפחות זה סוג של אנגלית כמו וזה לפחות קריא
ברגע שאתה מתרגל לזה.
אתה מפעיל את זה דרך מהדר והחוצה אתה מקבל, בסופו של דבר, אפסים ואחדים.
>> זה פשטני מדי.
ישנם כמה צעדים אחרים שם.
למעשה, אם אי פעם שמעו המונח "בשפת אסמבלי,"
זה צעד אחד לפני אפסים ואחדות.
זה קצת יותר קריא, אבל עדיין די מסתורי.
וכך יש מדרגות ביניים כי הם, למעשה, קורה כאן.
אבל את הפלט, בסופו של דבר, הוא אפסים ואחדים אלה.
>> אבל לפרש בעולם, שבו אתה צריך
שפות מתפרשות שפות, אתה בעצם לדלג על שלב זה.
במילים אחרות, כאשר אתה כותב התוכנית, אתה פשוט מיד להפעיל אותו.
אתה לא לקמפל אותו אז להפעיל אותו, כפי שעשיתי בעבר.
אתה פשוט לכתוב אותו ולהפעיל אותו.
ואם אתה רוצה לעשות שינוי מהיר, תבצע שינוי מהיר שידור חוזר זה.
לכן אין שום צעד באמצע כאן.
>> עכשיו, עבור התכנית שכתבתי קודם, אשר היה זה תוכנית "Hello World",
אתה אולי סביר wonder-- או שסביר
state-- כי לא היה באותה עת רב כדי לקמפל תוכנית שלי.
זה נראה עשה את זה ככה סתם.
ויש גרפי גרסאות של מהדרים.
אני משתמש בגרסה מאוד מסתורית, אבל אתה יכול להכות לחצן הפעלה
וזה היה בעצם לעשות האוסף בשבילך.
ביצעתי מלוקט את התוכנית ולאחר מכן שוב, כדי להפעיל אותו, אני פשוט עושה את זה.
וזה פלטי בצד שמאל שם, "שלום!"
זה לא נראה כל כך מעיק.
אבל כאשר התוכניות שלך הן יותר מסתם אחת, שתיים, שלוש,
יכול ארבעה, חמישה תורים ארוכים, זה לקחת הרבה יותר שניות לקמפל.
לפעמים אפילו דקות או לא מעט זמן כדי לקמפל.
אחרי הכל, חלק מוצרים הגדולים בעולם
דברים הם כמו מערכות הפעלה, Microsoft Word, Microsoft Excel,
אשר עשוי להיות מאה אלף או אפילו מיליוני שורות קוד ארוך,
ואלה לא רק לבצע מיד.
>> יתר על כן, באינטרנט, זה להיות אופנתי להשתמש
בשפות לפרש בפשטות, בין השאר, כי אתה
יכול לעשות שינוי כמפתח ואז פשוט מיד מחדש
בו הדפדפן מיד לראות את התוצאה.
וכך HTML, ואילו לא שפת תכנות,
שפה היא מה לפרש.
וראינו אותו אפקט אתמול.
אתה פשוט מחדש את הדף לאחר ביצוע שינוי Cloud9 ו-- voila--
אתה רואה תוצאה חדשה.
>> אז מה ההבדל כאן?
ב- HTML, כזכור, היה לנו HTML פתוח, ראש פתוח, כותרת פתוחה, כותרת קרובה,
ראש קרוב, גוף פתוח, וכן הלאה.
היו לנו את כל התגים האלה שאנחנו די הרבה אמרו, לומר לדפדפן מה לעשות.
היי דפדפן, הנה מגיע דף HTML.
היי דפדפן, הנה מגיע התואר.
היי דפדפן, הנה מגיע חלק הטקסט צריך להיות מודגש.
ואז אתה אומר את ההפך.
היי דפדפן, וזהו עבור טקסט פנים העז.
היי דפדפן, וזהו לגוף.
וכן הלאה.
>> אז מה זה דפדפן?
דפדפן הוא רק מתורגמן.
זוהי תוכנית שמישהו כמו מיקרוסופט או גוגל כתב,
המטרה בחיים, ששם לה לקרוא בשפה, המכונה HTML,
ולפרש אותו.
מלמעלה עד למטה, משמאל לימין.
וכל זמן הדפדפן רואה פתוח סוגר, כותרת, סוגר קרוב,
זה צריך לפרש כי כמו משמעות, אה, כי
אומר שאני צריך לשים את המילים האלה בדרך עד כאן בראש הדפדפן.
>> אז זה פשוט עושה מה את קוד ה- HTML אומר.
אבל אין אפסים ואחדים.
אין הידור.
אתה לא עושה את זה.
הדפדפן לא עשה את זה.
זה פשוט לא מעורב.
>> אז ברוח אלה מתמשכים נושאים, היום ואתמול,
כי נראה שיש תכונה נפלאה.
החסכון שלך הקוד שלך ואז רק להפעיל אותו או לפרש אותו.
אין מדרגות ביניים.
בטח יש בעלות?
לא כולם יכולים להיות יתרונות.
אז מה יכול להיות כי העלות?
>> קהל: שטח.
>> דוד י מלאן: שטח.
אז, בטוח.
בעולם ההידור, אתה צריך לא רק את קוד המקור,
אתה גם ליצירה אז כנראה חיסכון
המכונה code-- אפסי ones-- וזה
צריך לקחת עד כמה כמות של שטח.
בהחלט.
אז זה עולה לך יותר מקום.
כֵּן?
>> קהל: דפדפנים אולי לפרש באופן שונה.
>> דוד י מלאן: דפדפנים אולי לפרש את זה אחרת.
זה נכון.
אבל אני לא בטוח שאני נוח בטענה
זה בגלל שהוא פרש.
זה יותר פשוט כי זה יישום של שפה
יש שבעצמה בהירויות.
אז בואו לא די לאשר בספר זה, אך הרגשה טובה.
מה עוד יכול להיות שלם את המחיר?
אנדרו?
>> קהל: אתה מצרף שני צעדים, כך שאתה כן
יש מורכבות גוברות גם כן.
>> דוד י מלאן: The complex-- עליית המורכבות שבו?
למי?
>> קהל: לכן, המתורגמן צעד, אתה מצרף מתורגמן
ומהדר רק שהובילו עם--
>> דוד י מלאן: אה, אוקיי.
למרבה האירוניה, זה כנראה קצת פשוט ליישם המתורגמן,
למרות שזה היה נראה upsides תשואה של נוחות זו.
אז אולי נכון.
אבל זה סוג של תלוי, אני היה אומר, על השפה
ועל איך הם הלכו על יישום זה.
לא יכול להיות הרבה יותר מורכב, למעשה, ב המהדר,
רק בגלל שאתה צריך לעבור משהו כל כך ברמה גבוהה למשהו
כך ברמה נמוכה.
אבל מחשבה טובה.
>> אז במילים אחרות, תוכנית הידור, כאשר הפכו אפסים ואחדים אלה,
בסופו של דבר בשפה כי המעבד מדבר,
ואילו בצד הזה של העולם, התוכנית שכתבת,
את הקוד שכתב, אף פעם לא באמת מקבל המרה לשפת בפועל
המחשב מדבר.
אפסים ואחדות.
זה נשאר אדם המקורי, יותר ידידותית, שפה קריאה יותר.
אז מה יכול להיות השלכה שם, אם אתה לא ממש
מפריע המרה שלך תכנית לשפה מאוד
כי המחשב הבסיסי מדבר?
>> קהל: אולי לא להבין משהו?
>> דוד י מלאן: אולי לא מבין משהו.
וזה עשוי claim-- אם זה לא הבין
משהו, זה באג או חוסר של תכונת המתורגמן.
אז זה יהיה יותר טעות מאשר עלות.
>> קהל: יש לך גישה לקוד המקור?
דוד י מלאן: יש אחד טוב.
אז החיסרון כאן הוא אתה היה נראה שיש גישה.
אתה, משתמש הקצה, אולי נראה יש גישה לקוד המקור.
וזה לא תמיד נכון.
אבל זה נכון גם במקרה של JavaScript,
אשר נבחנו לאחר ההפסקה היום, אשר
היא שפת תכנות לפרש שאתה כותב בקוד המקור.
>> אבל קוד המקור שיש מועבר מהשרת שלך לדפדפן
ורץ בדפדפן של האדם.
אז הנה היא יכולה פשוט לפתוח את חלון, כאילו אני כבר עושה Chrome,
להסתכל על זה, כפי שאנו עצמנו הציץ אתמול עם Google.
זה עשוי להיראות קצת לא מובן אבל זה שם.
אז זה בהחלט אחד המחיר ששולם.
קהל: להיט ביצועים?
דוד י מלאן: כן.
וזה ביגי אחר.
יש להיט ביצועים.
כי יש לך את זה איש באמצע, שבעצמה
היא תוכנית, בינך ואת המעבד, בניגוד
רק האכלה אלה גלם אפסים ואחדים לתוך המעבד,
יש להיט ביצועים שאתה לקחת עם שפה פרשה.
כך, באופן שרירותי, תוכנית זה עלול לקחת שנייה אחת
לרוץ על מחשב או אחד דקה לרוץ על מחשב כאן,
עלול לקחת 10 שניות או 10 דקות כדי לרוץ על מחשב כאן.
זה בדרך כלל לא הולך להיות כל כך הרבה של גורם difference-- של 10--
כי יש אופטימיזציות שאתה יכול לעשות.
אבל זה כמעט תמיד לאט.
עכשיו, הצד השני של המטבע כדי חשש כי הוא מחשבים, טוב, כל 12
עד 18 months-- פי חוק מור, אם אפשר speak--
רק מקבלים יותר ויותר מהר.
יש לי יותר ויותר שטח דיסק.
יש לי יותר ויותר זיכרון RAM.
מי באמת אכפת?
>> וזה סוג של טיעון הגיוני.
ואכן, אחת הסיבות למה אנחנו יכולים לסבול איטיים
בשפות פירושם כי אנו, בני האדם לא ממש שם לב.
המחשבים יש קיבל רק כדי לתקן מהר.
בעוד חזרה היום, במיוחד כאשר החומרה הייתה מוגבלת יותר מדי,
היה לך פחות מכל דבר, זה היה הרבה יותר יקר
אז הכל לעלות יותר, גם אז אתה באמת רוצה לסחוט
כמו הרבה ביצועים כמו שאתה יכול.
אבל זה נדרש כתיבה ברמה תחתונה, אם תרצה,
עם שפת הידור.
>> אז אתה לוקח להיט ביצועים זה.
אבל בדרך כלל, upsides נראה שווה את זה בימים אלה.
ובכן, למעט נושא קניין רוחני.
סוג זה של קריאה של הקוד, נחלקנו
לחזור כשאנחנו מסתכלים JavaScript.
>> אז בואו ננסה לסווג לפחות כמה מהם.
אז בין שפות הידור, אנחנו יצטרך C, C ++, די, בערך, Java,
למרות שזה קצת חריג, עבור סיבות שאני אראה לך בעוד רגע.
C # יהיה ברשימה הזאת.
נצטרך להסתכל יותר פשוט השפות המודרניות יותר.
בסדר.
וזה נראה כמו המון שם.
בעוד בצד הזה של הגדר, כמו שיש לה JavaScript, Python,
ו- PHP, ורובה.
והאם זה מספיק אלה האחרונים יותר?
זה מרגיש כמו הרבה לעת עתה.
בסדר.
ואז נקודה נקודה נקודה, מאז הרשימה היא אינסופית.
>> ואכן, אם אנחנו רוצים רק לקבל תחושה של זה- ויקיפדיה,
בשפות הידור.
אני מנחש נוכל לקבל הרבה יותר רשימה ממצה.
אז הנה זה בא.
אז הנה רשימה ממצה הרבה יותר.
וגם קיוויתי שמישהו ינחש D כשפה משום שקיים גם
אבל הם עצרו D זה היה נראה.
אמנם יש באמת עשוי להיות E.
>> אה, בעצם, זה צריך להיות ברשימה בימים אלה.
סוויפט הוא למעשה שפה שאפל המציא
המשמש כעת, יותר ויותר כך, בפיתוח iPhone.
אבל נחזור אל כי עם דיוננו
של הנייד רק קצת גם כן.
אז סוויפט גם כן.
>> ואז, אם אנחנו הולכים פרש language--
פרש language-- אז הנה רשימה ארוכה עוד יותר גם כן.
אז אם אתה רק google ו להסתכל על ויקיפדיה עבור אלה,
תראה כל מיני שפות.
אבל המטרה היא, היום ממש, רק
מסתכם אולי זה סוגיית הקניין הרוחני
ואת הקריאות על ידי משתמש הקצה וכדי ביצועים, הוא ביגי אחר גם כן.
>> אז בין בשפות הבאות, תן לי לראות אם אנחנו יכולים לתת לך
רק חלק מדגם של שפות.
אנחנו לא רוצים לעבור כל השפות בלי סוף.
האם אי פעם תהיתם מה שפה מסוימת נראית?
ראינו לפני רגע.
למה שלא ניקח זוג של בקשות לתכונות.
מי רוצה לראות מה שפה אחרת נראית?
כֵּן.
>> קהל: Java.
>> דוד י מלאן: Java.
בסדר.
אז בואו נלך Java.
וזה רק כדי לתת לך sample-- נוכל לכתוב כל את אלה,
אבל זה יהיה מהיר יותר רק כדי להסתכל דוגמת קוד של מישהו אחר.
בסדר.
אז זה דוגמא טובה?
אופס.
בסדר.
אז הנה גרסת Java של תוכנית שכתבתי קודם, "Hello World".
>> אז Java, תקבל לעתים קרובות לראות את "הכיתה". מילת המפתח
ואז תראה כמה שם אחרי זה.
תראה סוגריים מסולסלים כמו שראינו קודם,
ולפעמים הם הולכים על אותו קו, לפעמים קווים אחרים,
זה סוג של החלטה אישית.
תראה מילות מפתח כמו "ציבור", "סטטי", "חלל".
אבל אנחנו לא רואים "ראשיים." "ראשי" הוא בדרך כלל
שמו של פונקציית ברירת המחדל או נתח של קוד ברירת המחדל
מקבל נדרס בתוכנית.
>> "חוּט."
מה עשינו מתכוון מחרוזת מוקדם יותר?
השתמשתי בו סוג של כלאחר יד.
מחרוזת היא מה?
מילה.
זה כמו רצף של תווים.
תווים בודדים, חזרה גב אל גב, בדרך כלל במערך,
כמו שאמרנו.
ואכן, לראות תחביר זה כאן, שני סוגריים מרובעים?
כלומר, היי מחשב, כאן מגיע מערך של מחרוזות.
את הכיתוב הסוגר המרובע הוא נפוץ לציון זה.
ואז אתה יכול כנראה לקחת guess-- מה
אין זו מודגשת נתח של קוד כנראה לעשות?
>> קהל: התפוקה?
>> דוד י מלאן: כן.
היא מדפיסה משהו למסך.
אז "מערכת" היא מעין התייחסות למחשב.
"מתוך" פירושו המחשב של פלט או המסך.
אז "System.out.print ln" כנראה אומר?
"Ln".
קו הדפסה אשר מתכנת כמו כנראה לאיית כמה מילים מתוך
בשלמותם ולקחת קיצורי דרך עם מילים אחרות.
אבל "ln" הוא קו, כך שורת ההדפסה.
אז זה מדפיס "שלום עולם! "ואחריו שורה חדשה.
>> אז זהו זה.
אבל ג 'אווה היא מה הם שיחת מונחת עצמים.
ואכן, רק כדי לתת כמה הגדרות אחרות
אם יש שם משהו שאתה לראות, באופן כללי, יש
הרבה סוגים שונים של שפות, אך הנפוץ ביותר
הן שפות פרוצדורליות או הכרחיות.
ישנם פונקציונלי שפות, אשר לא
אומר שאחרים הם מתפקדים.
ואז יש בשפות מונחות עצמים.
וזהו אולי את הטוב ביותר קטגוריזציה של מרבית השפות
כי אי פעם היו בוחרים עבור מין מפרויקט מסחרי טיפוסי.
>> זה יהיה יותר מדי של, אני חושב, של חור חולדה
לרדת, כדי לנסות להסביר ההבדלים השונים.
אבל השפות שראינו ובכך far-- C
הוא פרוצדורלי או שפה הכרחית.
לאחרונה המציא בשפות נוטות להיות, סליחה,
מונחה עצמים, כלומר יש להם תכונות אחרות אליהם.
אני יכול להסביר את זה ככה?
בואו אפילו לא לרדת לשם.
>> אמצעי מונחה עצמים אתה יכול implement--
תוכל לבנות מודל של העולם האמיתי קצת יותר יעיל.
האנושות, לאורך זמן, יש להבין, וואו,
זה יהיה נחמד אם השפה שלי היה בתכונה זו או תכונה.
ובגלל זה יש לנו כל כך בשפות רבות בעולם.
אנשים סבירים, חכם אנשים, להסכים או לא להסכים
ותמיד מעין מתאחדים על פיתוח שפות חדשות הכל ביחד.
>> מקרה צבע.
אפל המציאה סוויפט בתקווה להניח הורדה
הבר להתפתחות iPhone, משום language-- הקודם
Objective-C שנקרא, אשר יכול גם להיות ברשימה שלנו כאן--
היה הרבה יותר מסתורי ועוד הרבה קשה לעטוף תודעתנו סביב.
וכמו תכנות הופך לטעון לנגיש יותר ויותר רחב
שאומץ על ידי אנשים אפילו פחות טכני, goal--
זה מטרה מאוד אמיצה כדי לנסות להנמיך את חסמי כניסה על ידי ביצוע
השפות עצמם קל יותר להתחיל עם,
אבל לא פחות חזק בהכרח.
>> וגם לשפה אחת אחרת.
למה אנחנו לא נסתכל במשהו כמו פייתון,
וזה מאוד באופנה בימים אלה.
פִּיתוֹן.
תכנית לדוגמא.
בוא נראה.
"Hello World" בשפות.
בוא נעשה את זה.
"שלום עולם."
בוא נראה אם ​​זה נותן לנו דוגמה יפה.
בסדר.
אז זהו למעשה סוג של כיף.
אז אם אי פעם google "Hello World", אשר
קורה להיות אחת מהתוכניות הראשונות שנכתב אי פעם בשפה מודרנית,
בדיוק כפי הוכחה של קונספט, אתה יכול לראות כל מיני מימושים של זה.
>> חלק בשפות הבאות אני אפילו כבר לא שמעתי.
אבל אתה יכול see-- בואו נלך בסיסי, לפני אחד למדתי שנים, בין השאר.
זה היה בשפה כיף כי אתה נאלץ, כמו מתכנת, מספר
כל הקווים שלך.
לא שונה בהרבה ממה שהייתי עושה כשכתבתי
פסאודו קוד על הנייר הצהוב מוקדם יותר עבור חיפוש בינארי,
לחיפוש ספר טלפונים.
>> וכך, אם אתה רוצה ללכת לקו אחר,
היית סוג פשוטו כמשמעו, ללכת עד 10, או ללכת 20.
ואם אתה כותב שורות, אמנה הייתה לעשות, זה קו 10,
זה קו 20, קו זה 30, 40, ואין שום דבר באמצע,
ובכך נותן לעצמך קצת מקום אם אתה מחליט, חכה רגע,
הייתי מוסיף כמה יותר קוד איפשהו.
אתה עדיין היה סוג של תשעה סיכויים לסחוט כי בין התוכנית שלך
לפני שאתה נאלץ ידני למספר מחדש הכל.
>> אז זהו סוג של למה אני מתכוון כשאני אומר העולם הגיע עד
עם תכונות חדשות.
איפשהו לאורך הדרך מישהו הבנתי, הילד הזה הוא טיפש.
זהו רק יצירה לעבוד עבור המתכנת.
אז הוא או היא פשוט סוג של בנה שכבה חדשה על גבי זה
כך אין לך מה לדאוג על הקוד מה קו מספרים שלך
הוא למעשה על.
>> אז מתי מומלץ לבחור שפה זו או אחרת?
ובכן, מי אלה שפות אתם נוטים
לשמוע על ביותר בימים אלה עולם משלך?
בואו הנפתחת Objective-C מדי.
>> קהל: C #.
דוד י מלאן: C #.
אז תן לי צבע.
האם יש לנו הצבע האחר שלנו איפשהו?
אז C #.
ומה אתה יודע על C #?
דבר בראשיכם?
>> קהל: זה שפת תכנות.
דוד י מלאן: זהו שפת תכנות.
בסדר.
זה נכון.
אז אנחנו מדברים על C #.
C # נוטה לשמש סביבות Windows,
כך שאם אתה כותב את תוכנת מיקרוסופט עבור Windows, C # הוא מאוד נפוץ,
בין אם זה עבור תוכנת שולחן עבודה, או אפילו תוכנת טלפון בטלפוני Windows,
אם היו לך אלה, או באינטרנט אפילו יותר מדי.
ואכן, אולי כרים ASP קודם לכן הזכיר?
אז יש גם אלה דברים בשם מסגרות,
שבו אנחנו יכולים להציג את ובהרחבה.
מסגרות, כמו ASP.
מעמדי דפי שרת פעילים.
וזה קוד דרך תכנות
כי בדרך כלל עושה את זה יותר קל כדי לכתוב יישומים מבוססי אינטרנט.
במילים אחרות, זה יהיה סופר, סופר מעצבן לכתוב באתר
בתיקיית C השפה שראינו בעבר,
כי היית צריך להשתמש להדפיס + F, היית צריך להשתמש במילת מפתח זו
"ראשי" ואת הסוגריים המסולסלים.
הרבה תחביר מסתוריות ואת הגישה ליישם
משהו שהוא מורכב למדי.
דף אינטרנט.
>> וכך בשפות אחרות התפתחו לעשות דברים מהסוג הזה יותר קל.
וכפועל יוצא- אנשים צריכים לבוא עם מסגרות, מעין כלים
כי אתה יכול להשתמש זה עושה את זה אפילו קל יותר לכתוב דפי אינטרנט.
כך למשל, לעשות זה בטון הרבה יותר,
תן לי להיפתח רק קובץ טקסט לרגע.
>> ואתם עשויים להיזכר אתמול כי אמרנו משהו
כמו, זה הוא דף אינטרנט.
HTML.
HTML סגור.
תן לי לדלג על הראש פשוט לעשות כאן את הגופה.
נניח שאני רוצה לכתוב לא "Hello World"
אבל "שלום דוד," איפה דוד הוא שמו של המשתמש המחובר כעת.
מה משהו כמו ASP יעשה, או JSP--
וזה שרת Java pages-- או כל מספר של מסגרות אחרות
הוא שהם לא שפות, כשלעצמה.
הם בדיוק כמו תוכנה נוספת שאתה
היה להתקין סביבת העבודה הייחודית שלך כי רק להקל לתכנת.
>> כך למשל, ולא צריך לעשות משהו כמו "שלום, printf (" דוד ")"
או משהו זה סוג של שיתוף mingling--
סוג של קוד שראינו before-- היית עושה משהו הרבה יותר פשוט,
כמו "שם%."
וכך במסגרות אלה, כמו ASP-- ואני
לא זוכר אם אני מקבל התחביר בדיוק עבור ASP.
JSP הוא little-- נכון זה?
>> אז עם ASP, זהו מעין תחביר מיוחד
כי מפתחים כמה החליטו זה עשוי לעזור לאנשים לצאת.
ואני יכול להביע באופן תמציתי יותר מצייני מיקום, למשל.
כמו לשים ערך כאן, איפה שם ערך זה אינו N-A-M-E,
זה קצת ערך מאוחסן שם.
אז "שם," בהקשר זה, היינו קוראים משתנים.
יש אלגברה משתנית כמו x, ו- y ו- z.
מתכנת להשתמש המשתנים תיאורים יותר מ- X, Y ו- Z,
בדרך כלל.
אז "שם", פשוטו כמשמעו, יהיה איזשהו של מיכל זיכרון למשהו כמו
D-A-V-I-D, לשמי, או מי אחר המחובר לתוך האתר.
>> וכך זה סוג של נוחות אתה מקבל עם סביבות מסוימות.
אז C # ומשהו כמו ASP היה מאוד בדרך כלל לשמש עולם Windows,
אם על שולחן העבודה שלה תוכנה או שרת אינטרנט,
במיוחד אם השרתים הם בתורם מערכת הפעלה Microsoft Windows ו- Microsoft
מידע IIS-- או באינטרנט שרת, אם אני מקבל את ראשי התיבות כן--
וזה שרת האינטרנט של מיקרוסופט.
>> אז מה בשפות אחרות הם אנשים מכירים,
או שמעת לעתים קרובות יותר מאשר לא?
>> קהל: אני יודע כי פייטון סוג של הפופולרי [לא ברור].
דוד י מלאן: מאוד פופולרי.
אז פייתון כאן משמש לעתים קרובות מאוד ביישומים או נתונים מדעיים
מדע, שבו יש לך הרבה נתונים שברצונך לנתח
ואתה רוצה להשתמש שפת התכנות עבור זה.
R עשוי להיות נפוץ כי כמו גם, בהקשר סטטיסטי.
אבל יש כל כך הרבה פייתון תכונות מובנה.
כל כך הרבה נוסף ספריות, כמו שאנשים אומרים.
>> ספריות הן רק אוספת קוד שאנשים אחרים
כתב, כי אתה יכול להשתמש, כך שאתה לא צריך להמציא מחדש את הגלגלים האלה.
וכך פייתון היא מאוד נפוצה בשימוש ביישומי מדע נתונים.
אבל זה גם מאוד נפוץ בשימוש ביישומי אינטרנט.
אתה יכול ליישם דינמיקה אתר אינטרנט באמצעות Python.
>> ועל ידי אתר דינאמי, אני כלומר לא רק תוכן סטטי
כמו יצרנו אתמול, על ידי קשה רק קידוד הטקסט הלטיני
ועוד דברים כאלה, אלא היכולת
כדי להתחבר, את היכולת לקנות משהו, את היכולת לבדוק
עם עגלות הקניות שלך, או משהו דומה.
כל זה דורש דינמי ואתה צריך קצת בשפה כמו אחד כזה.
>> קהל: אז האם יש Python משלה ארכה, בדומה אוהבים [לא ברור]
דוד י מלאן: היא עושה.
אז בעולם של פייתון, Django הוא מסגרת מאוד פופולרית עבור פייתון.
WSGI הוא מנגנון אחר זה מין שונה זה
אבל דומה ברוחה.
זוהי תוספת המאפשרת לך כדי להפעיל קוד פייתון בשרת.
יש other-- כן.
אז אלה אנחנו נתקשר מסגרות.
וזה קצת פוגע.
זה יותר של טכנולוגיית שרת אינטרנט.
אבל נשמור את זה פשוט לשים זה בטור זה בכל זאת.
>> בסדר.
WSGI.
עוד thing-- ולמעשה, תן לי להזיז את זה לטור משלה,
כי אני אצעק על עצמי לשים אותם באותה הדלי.
בואו נגיד את זה לתוך שרת תכונות, נניח.
זה לא מונח טכני.
>> אז הנה אנחנו עלולים להיות WSGI.
יש CGI, שהוא מבוגר טכניקה להגשה עד בשפות
כמו Perl או PHP, או כמה אחרים.
שוב, שהזכרתי לתנאים אלו לא כל כך הרבה מה סוג של להשריש אותם,
אבל כך שאם אתה רואה בשבילם זה משהו
אתה פשוט google לקרוא יותר.
אין מיץ אמיתי לחלק את הדברים האלה.
>> אבל בואו נחזור לשפה.
דיברנו על C #, Python.
מה עוד עלול אתה משתמש עבור אינטרנט תכנות בימים אלה?
בואו להתמקד שעדיין.
>> קהל: PHP.
דוד י מלאן: PHP.
ובואו נחזור לזה אחד.
אז PHP משמש מאוד נפוץ.
PHP נוטה לקבל ראפ רע.
זה התחיל כשפה מיושמת על ידי אנשים אשר אולי לא היו בהכרח
מעצבי השפה הטובים ביותר.
וכך אתה יכול לקרוא כל מיני מאמרים באינטרנט על איך זה PHP רע.
ולרוע המזל, זה הוא ביטוי, בין השאר,
רק בדיונים הדתיים המתפרצים אצל מתכנתים.
וזה משהו שווה תוך התחשבות,
מנקודת מבט עסקית, כי זה קל מאוד עבור אנשים טכניים
כדי להילחץ עם שלהם דעות על דברים מסוימים.
וזה לא בהכרח אומר כי אחד צועק הכי חזק
או עם החזק, דעה כועסת נכונה.
הרבה פעמים, זה באמת פשוט לא משנה.
>> וכך אנשים רק מתווכחים מה הטיות או אזורי הנוחות שלהם הם.
וכך אתה צריך לשמור זה בחשבון בעת ​​ביצוע
החלטה, כי רק משום שמישהו אומר
זוהי השפה המתאימה את העבודה, זה עשוי להיות נכון,
אבל זה גם יכול להיות רק הוא שפה נכונה בתוך מיומנות משלהם
להגדיר או לאזור הנוחות.
וזה לא רע, אבל אתה צריך להבין כי ייתכן שיש כמה בהקשר שם.
יש כמה אובייקטיבי דוחות בסדר,
כמו C היא השפה הלא נכון להשתמש בימים אלה ליישום אתרים
כמעט תמיד.
אבל זה לא בלתי סביר לומר כי כל אחד מאלה
טועה שאנחנו כבר הקפנו עד כה.
>> PHP עברה גרסאות רבות.
אז בשפות נוטות להיות גרסה המספרים הקשורים בהם.
PHP היא עד, אני חושב, גרסה 7 עכשיו, אז זה היה במקום במשך די הרבה זמן.
וכמו בשפות לקבל החדשים, הם יכולים להשיג תכונות חדשות.
אבל אתה צריך להיות מודע לכך כי אם האתר שלך כבר
מיושם בגירסה 7 של PHP אבל אתה מנסה להפעיל את אתר האינטרנט שלך,
או אולי אתה כבר במיקור חוץ התפתחות הקוד שלך
למישהו אחר והם בדואר לך אותו או לשלוח אותו אליך
והם אומרים, כאן, לשים זה בשרת האינטרנט שלך,
אם שרת האינטרנט שלך הוא כמה שנים outdated-- אם זה
שרת משלך או host-- האינטרנט זה אולי לא ממש לרוץ.
אז אלה הם הסוגים דברים שמישהו
צריך להיות זהיר של בעת שדרוג אתר
או ליישם אותה בפעם הראשונה.
>> שמעתי JavaScript קודם לכן.
אז JavaScript היא מעניינת אחד כי היא בדרך כלל
בצד הלקוח, כפי שנראה אחרי ההפסקה, אשר
פירושו הוא פועל בדפדפן של המשתמש.
אבל אתה יכול גם להפעיל JavaScript בימים אלה
באמצעות משהו שנקרא Node.js, שבו Node.js
הוא מנגנון ריצה בצד השרת קוד JavaScript,
במקום להשתמש פייתון, או PHP, או שפות כגון אחרים.
>> JavaScript הוא גם מתאים במיוחד עבור יישומים צ'אט בזמן אמת
יישומים, בעוד PHP אינו גדול שפה ליישום משהו
כמו שרת צ'אט, שבו משתמש שמור על קשר אליו כל הזמן.
PHP היא יותר של ביקור אותי פעם, לחזור מכך,
ולאחר מכן לחץ על קישור עוד כמה שניות או דקות מעכשיו.
בעוד Node.js ו- JavaScript יכול להיות השתמש יותר עבור קשרים מתמיד.
שפות אחרות כי אתה חושד משמש בדרך כלל עבור דברים באינטרנט?
>> קהל: האם jQuery להיות מסגרת?
>> דוד י מלאן: שאלה טובה.
לא זה ולא זה.
הייתי קורא jQuery ספריה, שם ספרייה שוב הוא פשוט חבורה של קוד
כי יש מישהו אחר נכתב כי בדרך כלל
פותר כמה בעיות עושה את זה, אני מקווה, יותר קל
לך לעשות את העבודה שלך.
ותנו לי לעשות דוגמה אחת זה בהקשר של האינטרנט.
>> בהקשר של האינטרנט יש בשפה זו, JavaScript,
כי שנראה בהמשך, לפיה אתה אפשר לומר משהו כמו זה-
"Document.getElementById."
ומה אני קורא את זה אתמול?
ראשית, אני חושב, היה המזהה הייחודי נתתי לאלמנט שנראה ככה.
"P id =" הראשונה ">" ולאחר מכן היה לנו כמו "לורם איפסום" וכולי.
אז אם הייתי כותב תוכנית ב JavaScript איכשהו לתמרן,
לשנות את דפי האינטרנט שאנחנו שיחקו עם אתמול,
הייתי משתמש זה שורת הקוד מסומנת
כדי לקבל את קטע מסוים של HTML מהדף שלי, צומת מסוים,
כמו אנחנו קוראים לזה.
>> עם זאת, ב jQuery, במקום לכתוב זה, שהוא code-- JavaScript גלם
רק מחוץ לקופסה, וככה אתה לכתוב it-- היית במקום פשוט לומר,
"#ראשון."
זה שווה ערך.
וכך מבוסס רק על זה מאוד לדוגמא מסתוריות, מה אולי
היא הטענה לשימוש jQuery?
למה מפתח ישתמש ספרייה כמו jQuery, מבוסס על דוגמא מבודדת זה,
אוּלַי?
>> קהל: קוד פחות.
>> דוד י מלאן: כן.
זה פחות קוד.
הם עושים זאת מהר להקליד.
הקונטרפונקט הוא זה נראה מפחיד.
אתה לא יכול באמת לקרוא אותו משמאל לימין.
למעשה, כי זה בעיקר מילות פיסוק עכשיו במקום בפועל,
אני יכול סוג של להסיק כי "Document.getElementById" מקבל
אלמנט מהמסמך לפי תעודת הזהות שלו.
אני באמת יכול להשתמש לא כזה זכרוניות מן הדבר הזה כאן.
>> אז זה סחר הנחה.
יש תחכום שמגיע לעתים קרובות עם שימוש בספריות, במיוחד
כמו jQuery.
אבל המציאות היא jQuery יש סוג של להפוך לסטנדרט דה פקטו,
כך שכמעט כל אחד אלה ימים שכותבים קוד JavaScript
משתמש jQuery או משהו אוהב את זה, כבר לא כותב
כזה ביטויים מפורטים כמו זה, כי שוב, האנושות
נודע, וואו, זה היה סוג של החמצה
כדי להקל על חיינו.
אז בני אדם את חייהם קלים יותר.
שאלה טובה.
>> שפות אחרות לשקול.
הייתי אומר בין זה רשימה רובי הוא די פופולרי.
וכך בעולם רובי, יש מסגרת
Rails שנקרא, שהוא מאוד פופולרי.
אז Ruby on Rails היא נפוץ ביטוי.
גם בעולם הזה, תן לי מעגל Java עבור דברים באינטרנט,
היכן בעולם של Java ייתכן שיהיה JSP, או Java
Servlets, שהינה טכנולוגיה נפוצה.
וזו רק שוב דרכים להשתמש שפה בסביבת שרת.
>> אז מה זה אומר?
אם יש לך פיזי שרת, שהיית ממש
להוריד את התוכנה לשרת האינטרנט ולהתקין אותה בצורה כזאת
כי יש לך תמיכה אחד במסגרות אלה, שבה אתה
יכול, בתורו, השתמש באחת או יותר מהשפות הללו.
וגם במציאות, אם תירשם כמו אינטרנט מארח או חלק הענן
שירותים דברנו על אתמול, לעתים קרובות
הדברים פשוט מגיע עם התצורה של המכשיר בשבילך.
אתה לא צריך להגדיר את זה באופן ידני.
אבל אם אתה לא, זה מקום שבו את התפקיד של מנהל מערכת, אם אפשר לומר כך,
נכנס לתמונה.
הוא או היא בעצם יעשה זה סוג של דברים בשבילך,
או מנהל האתר שנקרא לעתים קרובות היה עושה את זה בשבילך.
בסדר.
כל שאלות על כמה כאן אלה?
או כל הזדמנויות ב כל לשאול על שפות?
מסגרות?
אז הרשה לי להציג את רק ספרייה שנייה
זה גם נפוץ מאוד בימים אלה.
רשימה זו יכולה להימשך עד אין קץ.
>> וספריה זה סוג של מתחיל ליפול מחוץ טובה.
זה היה סביב.
זה היה לפופולרי האתר במשך זמן מה.
ועכשיו הרבה אתרי אינטרנט, המון מפתחים להשתמש בו.
אבל דברים חדשים באים החוצה מגיע יחד.
אבל תן לי רק לתת לך תחושה מה זה אומר להשתמש בספריה.
אז שוב, JavaScript היא שפה מאוד פופולרית.
גיליונות CSS, או סגנון מדורג, דיברנו על זה אתמול.
גם זה, הוא בכל מקום.
אף אחד לא עושה דף אינטרנט היום ללא שימוש מינימאלי HTML ו- CSS.
אבל זה לא תמיד קל לעשות דברים מסוימים.
>> וכך נתנו לי ללכת getbootstrap.com.
אופס.
זה לא איך אנחנו לאיית.
Getbootstrap.com, אשר הוא עומד להוביל אותי
לדף הנחיתה עבור ספריה זו.
אז הם בנדיבות להתקשר עצמם מסגרת, אשר
הוא הוגן סוג של מעין, אבל אני עדיין הייתי קורא לזה
יותר של ספרייה מאשר מסגרת.
אבל אלה הם רק עניין של סמנטיקה להתווכח.
תן לי ללכת ללשונית CSS שלהם תן לי ללכת למשהו כזה.
>> אז להיזכר אילו הצורות שלנו נראות כמו אתמול על Cloud9?
זה היה די מכוער.
כפתורי ספר ישנים.
אני חושב שהכפתור היה אפור ידי בְּרִירַת מֶחדָל. והכל היה באמת
מעוצב למדי בערבוביה.
אז אם אתה רוצה צורות האינטרנט שלך להיראות קצת nicer-- תן לי להתקרב כאן.
>> ועל ידי שאני נחמד באמת רק מתכוון אסתטיקה מאוד קטנונית.
אז שימו לב כיצד תיבת הדוא"ל שחייבת פינות מעוגלות מלבני אליו.
אז זה מנקה קצת שם.
שימו לב שהמילה דוא"ל יש עד שאני מתחיל להקליד
ואז זה נעלם.
אז זה תכונה קטנה ונחמדה.
שימו לב איך הדבר הוא סוג של זוהר יפה, אשר חלק זה אתה
לקבל בחינם מהדפדפן, אבל חלק זה הוא גם ספריות,
קוד שלאנשים אחרים יש נכתב כי לתת לך את זה.
>> משהו כזה נותן לי את הסיסמה שלי.
כפתור זה קצת יותר סקסי מאשר בְּרִירַת מֶחדָל. מאוד באופנה עכשיו.
מאז iOS 7 או משהו כזה, העולם קיבל שטוח מאוד,
בעוד העולם היה לפני המון צלליות, המון
הרהורים על סמלים.
בדומה בעולם הבגדים, יש מגמות האופנה שבאים והולכים.
עכשיו הכל שטוח בטלפון.
>> למעשה, כפתורים על שלך iPhone כיום רק קישורים כחולים.
אין לעתים קרובות אפילו לחצנים עגולים.
אז אלה הם רק דברים כי נכנסים ויוצאים
של באופנה, אז זה כיצד תוכל להפוך טופס אינטרנט מחפש מודרני יותר.
כפתורים.
אז Bootstrap יש המון כפתורים די.
אז אם אתה רוצה לחצנים כחולים, כפתורים ירוקים, כחול, כתום, אדום.
Bootstrap מקלה לעשות את הדברים האלה.
אלה הם מיני דברים כי אתה יכול בהחלט
עשה אתמול עם CSS ועם HTML, אבל זה רק קוץ בתחת.
וכך במקום, מה Bootstrap היה יש לך לעשות משהו כזה.
>> אם אתה רוצה button-- מתברר זו הוא תג HTML לא להשתמש yesterday-- אנחנו
ואתה רוצה שזה ייראה כמו הכפתור הירוק הזה,
אתה ממש פשוט נותן לו מעמד, וכך עשינו לדבר על אתמול,
של "btn btn-הצלחה."
>> למה המילים האלה?
טוויטר, מחברי Bootstrap, ניגש עם המילים האלה.
הם יכלו שנקראו להם כל מה שהם רוצים.
אבל מה שאתה מקבל כרגע הוא מישהו אחר בטוויטר, במקרה זה,
יש הבין איך אתה מצליח לעשות כפתור להיראות יפה ונקי וירוק.
הם ארוזים עד כי פונקציונליים בכיתה CSS, שנקרא "btn"
ו "btn-הצלחה," כך שכל אחד מאיתנו יכול עכשיו להשתמש בו אפילו בלי לחשוב על
זה.
אז הם הפשטה משם הרעיון של כפתור ירוק
ולכן אנחנו לא צריכים לדאוג לגבי יישום זה בעצמנו.
אנחנו יכולים להתמקד בעצם יישום דברים שמעניינים אותנו.
>> אם אנו לגלול למטה כאן.
הודעות שגיאה על המסך.
לפעמים אתה רוצה הודעה קטנה להופיע בחלק העליון של הדפדפן.
כל אחד מאיתנו יכול לעשות את זה עם כמה מאמץ, אחרי השיעור של אתמול,
אבל למה אתה טורח?
זה כזה לא מעניין פרט אסתטי.
בואו לעמוד על הכתפיים של המגף
ולתת להם לתת לנו דברים כאלה, איפה אנחנו פשוטו כמשמעו, כדי לקבל תיבה אדומה,
פשוט צריך לעשות פסק תג עם מעמד זה-- מצטער.
"BG-סכנה" תיתן לנו תיבה אדמדמה זה במקום.
עכשיו בואו נלך יותר דברים מעניינים.
אם אני חוזר לראש דף זה ולעבור רכיבים,
עכשיו העולם יהיה יותר מעניין.
למשל, מאוד נפוץ תפריטים נפתחים ככה.
זו תהיה מוחלטת כאב ליישם.
וזה לא היה כל כך הרבה זמן לפני שאנחנו מתכנתים
יצטרך ליישם אלה סוגי תפריטים מאפס.
>> אבל זה כזה פרדיגמה נפוץ כי ספריות כמו Bootstrap
רק לתת לך את היכולת לעשות בתפריט נפתח הרבה, הרבה יותר בקלות.
אין דרך אחת לעשות את זה, אבל אם קראתי את התיעוד
הייתי רואה את זה, בסדר, אני צריך להשתמש HTML זה אם אני רוצה תפריט נפתח
כי מתנהג ככה.
>> באופן דומה, בואו נלך כפתור נפתח.
אז זהו גם להשתכלל.
אם אני רוצה את זה כדי להיראות כמו כפתור אבל משולש קטן זה אומר
אני צריך ללחוץ עליו ולקבל תפריט זה, זה
הוא משתמש בשפה שנקראה JavaScript.
ויכולנו כל ליישם זה ב- JavaScript.
אבל שוב, זה גלגל אתה לא רוצה להמציא.
אתה רק רוצה להוריד אותו הספרייה מדף זה.
>> בואו נלך למשהו כמו התקדם מוטה.
אז משהו כזה הוא די מגניב.
אם אי פעם ראית התקדמות בר נע על פני המסך,
יישום זה לעתים קרובות רק הוא סמל מסתובב.
למעשה, בדיוק כמו במאמר מוסגר, תן לי ללכת Ajax-- מה זה?
מידע אייאקס?
אופס.
Ajaxinfo.
אני אנסה לזכור את הכתובת.
הנה.
>> אז אם אי פעם ראו אנימציה חלקה בעוד שהדף נטען, או לחשוב,
או חיסכון, או ליצור משהו, אתה עשוי לראות אנימציות כגון אלה.
אז בואו נסתכל על משהו כמו זאת כאן,
ובואו לבחור צבע חזית של ירוק, אשר מרגיש סוג של ידידותי.
אני יכול ללחוץ זה?
בואו בהמוניכם.
בסדר.
אנחנו פשוט נלך עם אדום בגלל זה מה שאנחנו מקבלים.
אז הנה יש לנו את זה.
>> אז אם אי פעם ראו את זה על מסך, לפיה פתאום נראה ולאחר מכן
פתאום נעלם, מה הוא זה מה יישום זה?
ובכן, זה רק GIF.
G-I-F. וזו אנימציה להגיש, אשר רק אומר
זה כמו ספר קומיקס ספר ישן.
יש רק חבורה של שונה מסגרות כי הם הולכים [גמגום]
ובחזרתה.
וזה יוצר את אשליה של תנועה.
>> אז ברגע כדף נעשה טעינה או עושה משהו,
מה מתכנת עושה?
ובכן, הוא או היא רק מסתירה את התמונה.
אז כל בר התקדמות הוא הוא סוג של אוהב סרט שאתה צופה.
אתה סוג של מתעלם מהעובדה כי זה בעצם לא עושה כלום,
זה פשוט מרגש.
>> ואז, כאשר זה נעשה מתקדם, הם פשוט להסתיר אותו או לכבות אותו.
וזה כל הקסם מה שקורה שם.
Bootstrap נותן לך משהו קצת להשתכלל,
לפיה ניתן למעשה תראה אחוז כפי שהוא הולך,
אך גם הוא רק מעין של אנימציה פשוטה.
>> בואו נסתכל על כמה סופים עוד דוגמאות מורכבות כאן.
משהו כמו מודאלית.
האם מישהו יודע איזה מודאלית?
חלון מודאלי הוא בדרך כלל אחד שאמורה
כדי להשתלט על החזית ועל למנוע ממך לעשות שום דבר אחר.
זה סוג של מכריח את המשתמש של לב באמצע המסך,
נעילה אותם, בדרך כלל, של כל דבר אחר.
>> אז אם אני השקת הדגמה זה, המסך יהפוך אפור בדרך כלל.
ובכן, איך אנחנו עושים את זה אפור?
ובכן, אנחנו כנראה רק שיניתי את צבע הרקע
כמו שעשינו אתמול או משהו כזה.
אולי זה כשכבה כי שקוף למחצה.
ועכשיו שם לב שאתה יכול לעשות דברים מפוארים כזה.
אז אם אי פעם ללחוץ על כפתור ורוצה פופ קצת מחוץ להופיע,
אתה יכול לעשות את זה.
וכך שאכפת כל-- כן?
>> קהל: אז עם מגף, כדי לקבל את זה שולב,
זה פשוט כמו כמו אתמול עשינו בו סגנונות CSS?
דוד י מלאן: אכן.
באמת שאלה טובה.
תן לי ללכת כדי התחלת עבודה.
וכן.
כל מה שאתה צריך לעשות כדי השימוש Bootstrap הוא בעצם להעתיק
ולהדביק שלושה תורים ארוכים אלה של קוד לתוך החלק העליון של page-- אינטרנט משלך
ראש page-- שלך ואתה ולהפעלתו.
ויש דרכים שונות לעשות זה, אבל זה יהיה פשוט.
>> אז מה מועיל על כל זה?
ובכן, אם אתה לא כל כך הרבה המגשים של אתר
אבל אתה מנסה לעצב את זה, או שאתה רוצה לתת למישהו
עם דיאגרמות מסגרת תיל, אם אפשר לומר כך, או שהביצועים של האמן רק של מה
אתה רוצה לעשות, אני, זה יום, לעתים קרובות ילך אתר
כמו המגף, שם אם אני רוצה ליישם משהו--
כמו לאחרונה בקמפוס רצינו ליישם
כלי מבוסס אינטרנט לניווט קטלוג כמובן של הרווארד,
מה שמקל על סטודנטים לגלוש באמצעות קורסים
ולהוסיף קורסים רשימת קניות, כביכול,
סוג של להחליט מה הם רצו לקחת.
>> ניסיתי לדמיין עבור עצמי, מה מצרכים יהיו
אנחנו רוצים להשתמש בו כדי לבנות את זה?
מה ממשק המשתמש יהיה כמו?
ובדיוק מחפש דרך אתר כמו זה או אתרי ספריה לרשותו אחרים,
אתה יכול להרוויח השראה, כי וואו, אני יכול להשתמש יישומון, יישומון זה,
יישומון זה.
ואז באמת מה המתכנת מתחילה
לעשות, במיוחד בימים אלה זה בעולם המודרני יותר של תכנות אינטרנט,
תכנות הוא יותר ויותר על חיווט דברים ביחד.
מיין של לקיחה זה מהמדף, זה מהמדף, זה מהמדף,
ואתה להיות חכם כדי לחבר את כל הנקודות האלה,
אבל בסופו של דבר לבנות משהו ידי שוב עומדים על כתפיהם של אחרים,
כך שאתה לא להוציא בחודש יישום ירידה טפשה מתוך תפריט נפתח,
וזה ממש קשה לעשות אם אתה רוצה שזה יעבוד על Chrome,
ו- IE ו- Firefox, וכל מספר דפדפנים אחרים.
זו הסיבה מדוע יש את זה עשיר תוכנות קוד מסחרי פתוח
תעשייה גם כן.
>> קהל: אז האם Bootstrap להתעדכן ואתה צריך אז לעדכן את הקישורים שלכם?
>> דוד י מלאן: היא עושה.
ובכן, כן, היא עושה.
Bootstrap נמצא כעת בגרסה 3.3.6.
ובאופן כללי מה היית לבצע-- זהו למעשה ראוי להזכיר.
יש מה בדרך כלל המכונה גרסות סמנטיות
מערכת בעולם.
לא כל אחד עושה זאת.
>> אבל אם ראית את מספרי הגירסאות כי הם בצורה x.y.z--
כך למשל, את הגרסה הראשונה של תכנית עשויה להיות 1.0.0.
או אם זה מאוד, מאוד בטא, או אפילו 'אלפא', כלומר שימוש
על אחריותך בלבד, זה לא באמת מוכן טיים,
ייתכן אפילו להתחיל 0.0.1 או כמה ייעוד כזה.
אבל אם תוכנה מתחילה ב גרסה 1.0, או באופן שקול 1.0.0,
בדרך כלל, מה משותף אלה days-- אם כי לא omnipresent-- הוא
אם חברה או תיקוני מתכנת בודדים
כמה באגים בחתיכה כמה תוכנה באמת
היה באג, תיקון אשר אין השפעה אותך כל-- זה לא משנה
ההתנהגות של התוכנית, זה רק מקבע משהו
כי לא היה עובד properly-- שהיית בדרך כלל
לעדכן את ערך z שם.
כלומר מישהו כמו כרים יכול פשוט להיכנס לאתר שלו,
לשנות את מספר הגרסה בעיוורון מ 1.0.0 ל 1.0.1, לשמור אותו, לשלוח אותו,
ו בתיאוריה, לא צריך לדאוג שהוא פשוט שבור
באתר האינטרנט שלו בגלל כמה חוסר פונקציונלי,
בגלל משהו אחר נשבר.
>> בינתיים, אם לי מתכנת או חברה כלשהי
היו לעשות קצת משמעותי שינוי המוסיפה פונקציונליות,
אני יכול לעדכן אותנו 1.1.0 כי אני באמת
שינוי ההתנהגות של הספרייה.
אני נותן לך אולי יותר פונקציונלי.
לבסוף, אם הייתי באמת לשנות את תוכנת משהו מהותי
הרבה שזה ישבור רב אתרי אינטרנט או יישומי משתמשים,
אז אני חייב, במודל זה, כדי לשדרג את מספר הגרסה הגדול מדי,
וזה שינוי שביר.
במילים אחרות, אם יורשה לי יש והפסקנו את התמיכה הללו ליפול
תפריט למטה.
אז אם אתה משדרג ל- 2.0, חצי אתר האינטרנט שלך עלול להפסיק לפעול.
וזה סוג של אות לקהילה לגבי מה
מעורב בקבלת שדרוג.
הזדמנות טובה להעלות.
שאלות נוספות?
בסדר.
ובכן הבה נסתכל אחת אחרונה נושא במגזר זה של תכנות
ערימות טכנולוגיה, כלומר קשורים נייד.
>> אז בעולם של טלפונים סלולריים כיום אתה לכם-- והאייפדים, ומשטחים,
וכל אלה סוגים של devices-- יש לך
הרבה אפשרויות כאשר מדובר ביישום
יישום או אתר אינטרנט עבור המכשירים הניידים של הלקוח שלך.
אז רק כדי לציין את ברור, אולי בימים אלה,
מה הן הפלטפורמות כדי לפתח עבור במרחב הנייד?
באילו מכשירים אולי אתה רוצה לתמוך עם האפליקציה או האתר שלך?
>> קהל: אפל.
דוד י מלאן: אישור.
אז מכשירים אפלים.
אז זה אומר iPhone, וכי אומר iPad, ואולי אפילו iPod.
מה עוד?
אוליבייה?
>> קהל: Android.
>> דוד י מלאן: Android.
בסדר.
אז מכשירי אנדרואיד, אנדרואיד טבליות, בשוק אנדרואיד
הוא אפילו מסייה משום-- ו אפילו אפל הופך מבולגן.
בעוד פעם האייפון היה בגודל מסוים,
ו- iPad היה בגודל מסוים, ו- iPod היה בגודל מסוים, עכשיו
יש לנו Minis iPad, ואת רזה אלה, ואת פלוס 6 iPhone ו -6.
זה נהיה בלגן.
זה נהיה בעולם Android.
>> ואני אומר את זה עם סוג של גלגול עיני כי מ מפתח של
פרספקטיבה, היא כאבים בצוואר כאשר
אין לך סטיב ג'ובס " חזון של שליטה מוחלטת
על כל אלה מפרטים.
אפל עדיין עושה כי הם אלה בבניית החומרה.
אבל זה דבר נחמד, אם אני מפתח תוכנה,
רק לדעת כי שלי iPhone הוא תמיד הולך
להיות גדול זה בגלל זה אומר שאני תמיד יודע
כמה מסך הנדל"ן יש לי.
אז אם אני רוצה לשים סמל בפינה השמאלית העליונה,
זה הולך להיות בדיוק אותו שמים על כל מכשיר של לקוח בודד.
>> אבל בעולם של iPhone 6s ו Pluses iPhone 6
ובעולם של אנדרואיד טלפונים, זה בכל רחבי המפה.
וכך מקשה על תוכנית דברים, ממשקי משתמש במיוחד,
כי עכשיו אתה צריך להתחיל הסדרה ממשקי המשתמש שלך יחסית, לא
בהחלט.
ואותו הדבר היה נכון על דפדפנים, ומחשבים שולחניים ומחשבים ניידים במשך שנים
כי אתה, כמובן, יש גדלי מסך שונים.
>> מה עוד?
ייתכן שיהיה משטחים, כמו ממיקרוסופט.
ייתכן לכם--
קהל: Windows Phone.
דוד י מלאן: מה זה?
קהל: Windows Phone.
דוד י מלאן: כן.
אז טלפוני חלונות עדיין ניתן למצוא.
סוג של מעין הבלקברי, אבל הם ממשיכים לנסות.
ואז צרורות של מכשירים אחרים.
אז על פי רוב, בואו לומר אלה הם אלה
כדי אכפת כרגע.
אין ספק החומר האפל, בהחלט החומר אנדרואיד,
ובקרב Windows, כמו טבליות שטח נראה תופס די טוב.
>> וכך בין התקנים אלה, אם אתה רוצה לרדד,
נניח, נוכחות סלולרית עבור שלך חברה, אילו סוגים של החלטות עיצוב
אתה צריך לעשות?
ובכן, אנחנו כבר אמרנו בעולם האפל,
יש לפחות שתי שפות כי משמשים בדרך כלל.
לאחד קראו מה?
>> קהל: Objective-C.
>> דוד י מלאן: כן.
אז Objective-C, המהווה את אחד מבוגר.
זה גם בשפה שרבי Mac יישומים עדיין נכתבים.
ואז אחד החדשים השני היה?
קהל: סוויפט.
דוד י מלאן: סוויפט.
ואלה הם סוג של שני לדעת כדי להרשים אנשים.
אז בעולם Android, באיזו שפה להשתמש אנדרואיד?
>> קהל: C #?
>> קהל: Java.
>> דוד י מלאן: Java הוא השפה של "du jour."
בעולם Windows, בטוח, נגיד C # במקרה זה.
אז כבר זה סוג של מעצבן, כי מה
ממסעדה לעסק בעלים או מישהו שרק
רוצה לרדד נוכחות סלולרית?
כמו, לעזאזל?
כאילו, אם אני רוצה לתמוך בסיס משתמשים רחב למדי,
אני חייב לכתוב, זה היה נראה, שלוש בקשות נפרדות.
אחת באחת מהשפות הללו, אחד ב- Java, אחד ב- C #.
וגם אם אני רוצה את הפונקציונליות להיות זהה, זה לא משנה.
אני עדיין צריך להשתמש שונה בשפות כי אפל, ו- Microsoft,
ו- Google את כל התמיכה סביבות שונות.
וזה כבר אתגר במשך שנים.
חזרה היום, כאשר אנשים נהגו לקנות את התוכנה
בחנות מחשב לכווץ קופסאות עטופות,
היית גם צריך להגיע מדף Mac,
או for-- אולי קטן מאוד זה Mac shelf-- או מדף Windows הגדול יותר
ולקנות כמה תוכנות.
לעתים קרובות מאוד, אפילו אין משהו בשבילך על המדף Mac.
למה?
ובכן, חברות החליטו אם 90% של העולם, 95% של העולם
יש מחשבים, למה לטרוח אפילו יישום הדברים על Mac OS?
>> בתור aside-- סך digression-- למה זה
שמק נראה כל כך שווה נפש וירוסים, ותולעים, ואיומי אבטחה?
האם אפל יותר טוב בזה?
עדיף בלשמור מחשבים מאובטחים?
>> קהל: קהל קטן יותר?
>> דוד י מלאן: זה כנראה קצת יותר גדול אליו.
אז המשתמשים הרבים של מחשבי מקינטוש יש ארוך טען, הו, משתמש מק,
אתה תהיה חסין מפני וירוסים, תולעים, וכל הדברים האלה
כל כך הרבה זמן יש מנוגע מחשבים.
זה יכול להיות בגלל אפל יש מתכנתים טובים
והם לכתיבת תוכנות, או מערכת הפעלה תוכננה טוב יותר.
אולי, אבל כנראה שלא.
>> זה כנראה שכשאתה ילד בן 12 שנים, או משהו 30
מין יושב בכתיבה הביתה תוכנות זדוניות להשתלט
העולם, אתה הולך ללכת אחרי קהל היעד הרבה יותר גדול.
95% של העולם עשוי מי מערכת הפעלה Windows או כמה
גרסאות שלה.
אז יש קצת משני הצדדים.
אבל לזכותם, אפל, למיטב ידיעתי,
לא ממש שיבחו את עצמם כמו להיות בטוחים יותר,
כי אתה רק מזמין דרמה אם שתבצע טענה, הייתי חושב.
>> בסדר.
מבלי להיכנס יותר מדי רחוק למטה כי, איך אנחנו פותרים את זה?
האם אתה צריך לקנות או לעשות מה שאתה צריך לשלם שלושה אנשים שונים לפתח
היישומים שלך?
האם אתה בוחר אחד על פני אחרים?
מה שצריך להנחות שלך לחשוב כאן לדעתך?
כרים?
לא.
מישהו אחר.
>> קהל: פשוט לבוא עם החומרה.
דוד י מלאן: בואו עם החומרה?
למה את מתכוונת?
>> קהל: עבור סביבה. [לא ברור]
דוד י מלאן: אז זה נכון.
אבל הלקוחות שלך, בינתיים, אולי יש iPhones,
הם עלולים מכשירי אנדרואיד, הם אולי יש טבליות שנעשו על ידי מיקרוסופט.
אז איך יש לך אסטרטגיה לנייד לכל המשתמשים השונים האלה?
נראה כי אם זה עולה, נניח 1,000 $ לבצע iPhone
יישום, זה הולך יעלה לך 2,000 $ כדי להפוך
אפליקציה לאייפון ו יישום אנדרואיד, או $ 3,000
גם לתמוך במכשירי Windows, כמו גם.
זה כנראה די מעטה, וזה לא יכול אפילו
להיות קשר לינארי כזה.
>> קהל: אם אתה רוצה להיות אפליקציה או לא, אתה יכול לקבל אתר תגובה.
דוד י מלאן: טוב.
קהל: או שאתה יכול להיות אפליקציה מקורית.
דוד י מלאן: כן.
אז בכל בהקשר זה כאן, אנחנו כבר מדברים על מה
אנשים יקראו יישומים טבעיים.
כלומר יישומים נכתבים בשפה המקומית של אותו התקן.
אז האם Objective-C או סוויפט קוד, או ב- Java, או ב- C #.
כלומר כאשר אתה מוריד, בוא אומרים Snapchat, יישום פופולרי,
או כאשר אתה מוריד פייסבוק עבור טלפון,
אתה מוריד גם את הגרסה הכתובה עבור iPhone שלך,
או בכתב עבור טלפון אנדרואיד שלך, או שנכתבו השטח שלך.
>> אבל יש אלטרנטיבה.
כמו אוליבייה מרמזת, למעשה אתה יכול להשתמש ב- HTML 5
במקום, באמצעות מה שנקרא אינטרנט יישום, לפיה אתה פשוט
ליישם הנוכחות הניידת שלך וכל פונקציונלי.
מה שאני מתכוון לעשות על ידי נוכחות סלולרית?
כמו האתר שלך, כי יש שלך פרטים ליצירת קשר, רשימה של כל
המוצרים שלך, אולי יש לו קניות עגלה, אולי אתה מוכר דברים דרכו.
לא משנה מה היישום שלך, אתה ליישם את זה, לא Objective-C,
או סוויפט, או Java או C #, אבל ב- HTML 5, אשר הייתה השפה הסתכלנו
ב אתמול, עם JavaScript ו- CSS.
>> ומה שיפה אלה שלושה הם כי על מנת להפעיל אותם,
אתה צריך רק מה פיסת תוכנה?
קהל: דפדפן אינטרנט.
דוד י מלאן: דפדפן אינטרנט.
והדבר הכי טוב שאני יודע, כל אלה המכשירים מגיעים עם דפדפני אינטרנט,
כך שהמשתמש לא צריך להתקין משהו מיוחד.
אז אתה יכול פשוט לומר שלך קהל, הלקוחות שלך,
ללכת acme.com ב שלך דפדפן ואתה יהיה פשוט
יש חוויה מבוססת אינטרנט כי עדיין ממלא את המסך,
אבל אתה לא צריך לדאוג כל עלויות אלה וכל המורכבות הזאת.
אבל אין ספק שיש הולך להיות מלכוד כאן, נכון?
במיוחד אם אני מציין כי לפני כמה שנים,
הגרסה הראשונה של היישום הנייד של פייסבוק
היה בעיקר יישום HTML 5.
ויש להם, יותר לאחרונה, reimplemented זה
ביישומים האחרים שלהם.
>> אז למה אתה לא מיד רוצה לומר,
טוב, ברור שאנחנו הולכים לעשות את זה?
מה יכול להיות העלויות הנסתרות?
>> קהל: ביצועים.
דוד י מלאן: ביצועים?
מה כוונתך?
>> קהל: באפליקציה המקורית יש ביצועים יותר.
>> דוד י מלאן: אז זה המקום נכון, במשך כמה סיבות.
אנחנו יכולים לפשט מדי את מהלך התשובה.
ולהיזכר בדיוננו פרש לעומת בשפות הידור.
זהו HTML 5 ואיתו, רק כדי להיות ברור, JavaScript-- בכתב נפוץ
JS-- ו- CSS כולם בשפות לפרש,
למרות שרק JavaScript היא שפת תכנות.
>> וכך לעומת אלה, אשר חלק מהם מופקים, לפחות אלה שלוש--
Objective-C, Java ו- C # - אלה, בתיאוריה, אמור להיות רק יותר מהר.
אבל יש עוד מציאות for--
>> קהל: פונקציונלי?
>> דוד י מלאן: מה זה?
>> קהל: פונקציונלי.
>> דוד י מלאן: פונקציונלי?
איך זה?
קהל: השתמש במצלמה את הטלפון שלך או משהו.
אתה יכול להשתמש אלה עם הדפדפן.
דוד י מלאן: בדיוק.
הוא sec--
קהל: [לא ברור]
דוד י מלאן: זהו עוד אחד טוב.
יש תכונות שמגיעות עם טלפונים ניידים היום
כי הם לא, על ידי עיצוב הנוגע לאבטחת מידע סיבות, נגישות לכל דפדפנים.
כי זה יהיה סוג של דבר מפחיד אם רק כאשר
אתה מבקר google.com, או cnn.com, או כל website.com,
אתר שיש לו את הכוח להפוך על המצלמה שלך, לקחת תמונה שלך,
ולאחר מכן להשתמש בו.
אבל לא היית רוצה אתר אקראי כי אתה מבקר בפעם הראשונה
צריך יכולת זו.
>> וכך מה הטלפון יצרנים בדרך כלל לעשות
הוא שהם פשוט למנוע גישה לסוג כזה של מידע
לדפדפן, מה שאומר שאתה לא יכול ליישם את המצלמה.
אתה לא יכול ליישם הודעות בדחיפה, הצפצופים שאתה מקבל על המסך
עם הודעות קצרות.
ואכן, אפילו GPS הוא רק סוג של מעין לרשות דפדפני אינטרנט.
אם אי פעם, על מחשב נייד או במכשיר נייד,
עצר משהו כמו אולי cnn.com, אלא גם תחנות חדשות מקומיות
נוטה לעשות זאת, אתה מתבקש לעתים קרובות עם message-- foxnews.com
רוצה לדעת מה המיקום שלך.
אישור או דחייה.
>> ובכן, הדפדפן מנסה לגשת מידע GPS שלך מהטלפון.
אבל למרבה המזל מיקרוסופט, ואפל, ו- Google
החליט כי מרגיש כמו זה מצב שימושי,
אנחנו רוצים Google Maps ו- כלים אחרים לעבוד,
אבל אנחנו לא רוצים לזחול אנשים פשוט על ידי הפעלת כל אתר אינטרנט כדי לעשות את זה.
אז בואו סוג של נפגשים באמצע הדרך מהמשתמש.
אבל זה לא בהכרח המקרה עם כל החומרה, כמו המצלמה
ועם דחיפה הודעות וכדומה,
כך ייתכן שיהיה עליך להקריב תכונות מסוימות.
אבל ביצועים מדי.
זה נהיה פחות בולט בימינו, אולי
כמו LTE תופס על ומהיר מהירויות האינטרנט בטלפונים,
אבל בעצם אתה יכול להרגיש את ההבדל.
כמו יישום מבוסס אינטרנט פשוט מרגיש איטי, בדרך כלל,
מ יישום מובנה, חלקית כי יישום מבוסס אינטרנט
מעצם הגדרתו הוא באינטרנט.
הוא מדבר אל שירת באינטרנט.
ואם את חיבור הרשת הוא איטי, אפילו גלילה עשוי להיות איטי.
>> אבל יישום מובנה, אתה צריך כבר מראש downloaded-- כנראה
כשהיית בבית מ- App Store,
או אתה מראש להוריד לפחות זה בשלמותו
מוקדם יותר, מה שלך חיבור speed--
אז עכשיו יש לך את כל פיסות שאתה צריך בדרך כלל.
מלבד אולי כמה נתונים שמגיע משרת.
>> אז אלו הם יחסי גומלין כאן.
יש סוג של באמצע פשרה, למעשה.
ואני חושב שאתם--
>> קהל: השתמש מחובר הנתונים.
ב האפליקציות המקוריות, אתה יכול [לא ברור]
דוד י מלאן: בהחלט.
אז יש את הבעיה לא מקוון, וזה ממש מעצבן
אם אתה לא יכול לשחק איזה משחק או שימוש כמה תוכנות רק בגלל שאתה
במרתף איפשהו או במעלית.
יישום מקורי הוא מתאושש מהר עם הסתברות גבוהה יותר נגד זה,
בהנחה שיש לך את כל הנתונים הדרושים באופן מקומי.
>> אם כן, ישנה אפשרות שלישית כאן.
ובואו לצייר הספקטרום כמו אפליקציה כאן וגלישה באינטרנט באפליקציה מקורית כאן.
ומה באמצע משהו שנקרא--
ואני חושב שאולי יש לך לפני השתמש במילה, אולי?
יישום היברידי.
וכפי משמעות המילה, זה משהו באמצע.
זה סוג של יישום אינטרנט זה סוג של יישום מקורי.
>> ומה זה אומר?
מתברר שיש frameworks-- אם להשתמש במונח מתוכנת earlier--
שאנשים אחרים כתבו עבור כל אחד פלטפורמות אלה.
אלה ובכל זאת התקנים אחרים.
למעשה, תן לי ללכת PhoneGap, המהווה מסגרת אחת כזו שאני
מאמין Adobe מחזיקה החברה.
תן לי ללכת כדי התחלת עבודה.
בוא נראה.
לראות אם אני יכול לראות רשימה של כלים.
חוּמרָה.
מתחילים.
חומרת PhoneGap.
>> בוא נראה.
גישה לחומרה PhoneGap.
תן לי לראות אם אנחנו יכולים למצוא קצת תרשים שנהגו להשתמש בהן.
זוהי באתר אחר.
האם זה שימושי?
לא.
זה הולך לבזבז את הזמן שלנו שם.
חומרת PhoneGap.
התקנים.
API התקנים.
לא, הם כבר עברו את זה.
>> PhoneGap.
בואו נלך מבט אחרון זה ולראות אם אני יכול להראות לך.
מתחילים.
תקן PhoneGap.
התקנת אפליקציה ניידת.
בחייך.
הם כבר מחדש הכל.
בסדר.
אה, בסדר.
ובכן, הנה זה בא.
זה לא כל כך מאיר עיניים, אבל זה מה שאני מסוג מחפש.
>> אז PhoneGap היא מסגרת שאתה ניתן להוריד בחינם זה נותן לך
כמה קוד המתנע, בעצם.
אז כמה קוד שהם כתבו שלא עושה כמעט כלום.
אבל מה זה נותן לך בעצם הוא מקביל
של יישום פשוט מציב מלבן גדול על המסך של המשתמש.
זה לא לשים בשורת כתובת אתר, כמו דפדפן, לא לשים כתובת.
זה פשוט מכניס מלבן גדול.
ואתה להגדיר זה גדול מלבן, מתחת למכסה המנוע,
ממש ללכת acme.com, או אולי m.acme.com עבור mobile.acme.com,
אבל המשתמש לא יודע הם באותה כתובת.
כל מה שהם רואים זה תוכן של דף האינטרנט.
>> אבל מה שיפה וזאת אפליקציה היברידית היא שמה PhoneGap
וחברות אחרות נותנות לך היא הם נותנים לך קצת קוד קטן
ב Objective-C או סוויפט, או קצת מעט מאוד קוד ב- Java,
או קצת קוד קטן ב- C #, ובעצם,
כל מה שאתה צריך לספק היא מינימלית כתובת של יישומים מבוססי אינטרנט שלך.
ואז אתה החבילה הזו הכל ביחד ואתה
יש את זה גם לגשת שלך אתר באמצעות האינטרנט,
או שאתה אפילו מטמון מקומי להעתיק בתוך היישום,
ואז אתה שומר את בקשתך בפורמט iPhone, טלפון אנדרואיד
פורמט, פורמט שטח, או מספר בלתי מוגבל של מכשירים אחרים.
>> אתה להעלות את כל אלה גרסאות אל חנות Play Google,
ל- App Store, אל Windows Store, וכן הלאה.
ועכשיו, אתה יכול לקבל את כל שלך קהלים להוריד אפליקציה מקורית באמת,
אם כי רוב הקוד היה נכתב על ידי מישהו אחר,
אבל את התוכן באפליקציה מקורית כל בא, בדרך כלל, אתר האינטרנט שלך.
אז אתה ממשיך בכתיבת אתר האינטרנט שלך ב- HTML, JavaScript, ו- CSS.
>> אז למה לטשטש את השורות האלה?
למה יש יישום היברידי זה סוג של המקומיים, אלא גם
סוג של מבוסס אינטרנט?
מה זה כל העניין של הוספת המורכבות הזאת?
אני מתכוון, אפילו עדיין, רק מ נברתי בדף זה,
במדריך תחילת העבודה מרגיש כמו זה חייב המון צעדים בשבילי
לעשות לפני שאני can--
קהל: Reusability?
דוד י מלאן: Reusability?
למה את מתכוונת?
>> קהל: של קוד המקור.
אז אותו הקוד יתמודד על כל הפלטפורמות השונות.
דוד י מלאן: כן.
קהל: [לא ברור]
דוד י מלאן: מושלם.
אם הזמן הוא חזק ואם אתה אין לי כל כך הרבה developers--
אולי יש לך מפתח אחד והוא או היא בהחלט
לא יודע כל אלה environments-- בהחלט לא טוב,
ובוודאי לא יכול התוכנית בכל השלוש בעת ובעונה אחת
ולשלוח שלושה מוצרים את הזמן המותר עבור אחד,
אתה יכול לקבל אותו או אותה לבנות הכל ב- HTML ו- JavaScript ו- CSS,
ולאחר מכן ללמוד קצת זעיר קצת על אפליקציות מקוריות,
רק מספיק כדי להוריד מסגרת כמו זו,
אז כדי להעלות את המוצר שלך כל חנויות אפליקציות השונות
כך שאתה עכשיו יש יישום מקורי.
>> אז זה נראה כמו win-win, אבל שוב, צריך להיות ברור,
מה הם הפוטנציאל עלויות או המכשלות?
>> קהל: ביצועים?
דוד י מלאן: כן.
ביצועים.
קשה לתאר באופן מילולי.
אז אם אתה רק לקחת על עצמו אמונת יישום נייד,
יישום אינטרנט יהיה בדרך כלל לבצע לאט יותר.
זה אולי לא נראה לגמרי בסדר, כי ב iPhone, ובשנת מכשירי אנדרואיד,
והתקני Windows, יש תמיד מעין מראה ברירת מחדל
ולהרגיש לכל כפתורים בתפריטים.
>> וחברות באינטרנט, יכול לנסות כדי קרובות לאלה אסתטיקה
עם ספריות כמו מגף, אבל user-- user-- ממולח
הולך לדעת משהו לא לגמרי בסדר כאן.
וזה בסדר, אולי זה לא עניין גדול.
אבל בעיית ביצועים בהחלט עניין גדול.
אפליקציות מקוריות תטינה רק להיות הרבה יותר קשוב ולכן
טוב יותר.
וכך, מה אז יכול להיות הטוב בשני העולמות?
אם אתה במיוחד קטן חברה או קבוצה קטנה,
אין לך את המשאבים לפתח אפליקציה במקביל
על כל שלוש פלטפורמות, ולמען האמת, מרגיש כמו שזה רעיון רע בכלל
כי אם אתה לרדד אותו על כל השלושה מבינים בו זמנית,
היינו צריכים להוסיף כמה תכונות או לעשות משהו שונה, עכשיו
אתה צריך לתקן את זה בשלושה מקומות, לא אחד.
מה אולי אופטימלי אסטרטגיה כאן כללי,
אם משאבים וזמן הם הדוקים?
>> קהל: פשוט תעשה את זה על iOS.
>> דוד י מלאן: זה לא בלתי סביר.
iPhones, לפחות ארה"ב, הם סופר פופולריות.
אנדרואיד עדיין נראה שיש דומיננטי נתח שוק, באופן גלובלי, הכולל.
אז אתה לא בהכרח נציג
של כל כולו של הגלובוס השבוע.
אבל זה בהחלט החלטה אחת.
אני מתכוון, בקמפוס הנה אני חושב כמה מספר זוועתי
או אחוז הסטודנטים יש iPhones ולא מכשירי אנדרואיד.
אבל בחו"ל, זה סוג של ההפך.
אז אתה מחליט מבוסס על הקהל שלך.
איך אתה יודע מה הקהל שלכם?
>> ובכן, למדנו טריק אתמול.
אתה יכול לשאול אותם.
אם יש לך קהל שבוי אתה יכול לשלוח להם טופס סקר.
או שאתה פשוט יכול לעשות מה?
>> קהל: Google Analytics?
>> דוד י מלאן: מה זה?
>> קהל: Google Analytics.
דוד י מלאן: Google Analytics.
כֵּן.
או אפילו יותר מעין טכנית, רק מעיין ביומני שרתי האינטרנט שלך.
כי מה קורה בכל פעם דפדפן,
אם מחשב נייד, שולחן עבודה או טלפון לבקר באתר האינטרנט שלך?
הם שולחים כי כותרת HTTP שתוכניות לך מה הדפדפן ומערכת ההפעלה בה הם משתמשים.
אז אתה יכול להסיק, בהסתברות גבוהה, מה הדמוגרפי שלך משתמש ככה
ולאחר מכן להתאים.
>> אז תניח שלא מקובל.
זהו סוג של רע לעסקים אם משתמשי אנדרואיד לא יכול לקנות יישומונים שלנו.
>> קהל: בין אם אתה הולך לגבות או לא?
דוד י מלאן: אם אתה מתכוון לחייב?
אז בסדר, אתה מקבל מה שאתה משלם עבור.
>> קהל: האם היישום שלך הוא הולך להיות חופשי או אם זה gonna--
>> דוד י מלאן: אישור.
אז אולי אתה יכול לקבל בחזרה עלויות ככה, or--?
>> קהל: קראתי מחקר פעם שאמר משתמשים אפלים יותר לשלם עבור אפליקציות versus--
דוד י מלאן: זה נכון כי הם כבר
משלם יותר עבור המכשירים שלהם.
אז לא סביר הנחה.
>> קהל: [לא ברור]
דוד י מלאן: אישור.
אז אם הם יותר מוכנים לשלם, אז לעזאזל עם משתמשי אנדרואיד.
הם לא הולכים לשלם לנו כלום ממילא.
באותה מידה יכולנו להתמקד העדיפויות שלנו, לפחות בחודשים הראשונים
או שנה, על iOS.
לגמרי סביר.
מה זה כוללני יותר אסטרטגיה מזה?
Maybe-- מה זה?
>> קהל: [לא ברור]
>> דוד י מלאן: A expensive-- יותר אז אולי להשקיע יותר ב-- קדימה.
קהל: כן.
רק אתר אינטרנט להתקנים ניידים.
>> דוד י מלאן: אז לעשות אתר אינטרנט להתקנים ניידים ולא
אפילו לדאוג המורכבות הזאת.
או אולי אסטרטגיה סבירה, שאפילו פייסבוק לקח,
הוא מתחיל עם היברידי היישום משום שהוא לא
כי הרבה יותר לעשות זאת מאשר זה.
אתה פשוט צריך לקרוא כמה תיעוד להבין איך
להעלות דברים App Store.
אז אולי אתה מתחיל עם זו, כך שביום אחד,
אתה יכול לתמוך בכל המשתמשים שלך.
ואז, בדיוק כמו פייסבוק וחברות אחרות עשו,
כאשר יש לך את המשאבים, יש לך את האנשים,
למה אתה לא מחדש ליישם רק יישום iOS.
אתה עדיין יש משהו לכל אחד, למרות שזה חוויה נחה
אולי, עם היישום ההיברידי.
אבל אתה יכול לרדד בהדרגה ולהחליף בטווח הקצר שלך
צעדים של יישומים משולבים שבהם יישומים נוספים האם שלך.
>> בקהל: אבל עם אפליקציה היברידית לך יהיה גישה לתכונות ניידות?
>> דוד י מלאן: לא בהכרח.
אז אולי אתה עושה בהכרת ההחלטה בשלב מוקדם,
אתה יכול להעלות תמונות רק על אפליקציית אייפון מקורית עבור פייסבוק,
אבל לא על יישום אנדרואיד, בתחילה, למשל.
וזה קצת שקר לבן כי יש יישומי אינטרנט הגבלות יותר
מ יישומים היברידיים מסתבר החוצה, ואם אנו קוראים את התיעוד
עבור PhoneGap ודברים כאלה זה, אנשים צריכים לבוא עם דרכים
לתת יישומים מבוססי אינטרנט גישה למצלמה,
כל עוד אתה משתמש יישום היברידי.
>> איך זה עובד?
מכיוון ההיברידי יישום, על פי הגדרתו,
יש קצת קוד Objective-C, ו סוויפט, ו- Java, או ב- C #,
זה יכול לגשת לחומרה.
לא בהכרח הכל, אבל זה בהחלט יכול
להיות במקרה זה יש לך גישה מספקת כדי לקבל את המצלמה,
אפילו עבור פלטפורמות אנדרואיד, עבור למשל, באותה דוגמא מבוימת.
>> יש עוד שאלות?
בסדר.
למה שלא ניקח שלנו 15 דקות הפסקה כאן.
"נחדש בשלוש עם סופי להסתכל תכנות אינטרנט, מסדי נתונים,
ו- Javascript.