Дејвид Џ MALAN: Значи ние сме назад. Така на високо ниво тема во моментот сега е технологија Купишта, што не е особено технички термин, тоа е повеќе од фатат сите за било бројот на комбинации на технологии дека можете да го користите да ги реши проблемите. А можеби и повеќето соодветен начин да се започне ќе биде да се погледне на јазици од Продолжувам растреперува надвор еден куп и повеќето сите присутни во просторијата има веројатно слушнале за најмалку еден. И па зошто да не се обидеме да се направи разлика what-- разликуваат овие јазици и зборува накратко за тоа кога би изберете една над друга, како тие се вид на основа различни, а особено кога сте во разговор со инженери, или се обидуваат да се одлучи со кого да се вработи, или она имплементација Предлогот за greenlight, како да се, всушност, ќе се направи оние видови на одлуки. Па да штракаат некои работи надвор. На јазиците луѓе слушнале за, она што ми доаѓа на ум? В ред. Добро, C ++. Што е тоа? ПУБЛИКАТА: Пајтон. Дејвид Џ MALAN: Пајтон. Одлично. Што друго? Visual Basic. Слушнав Јава. Visual Basic-- a.k.a. VB. Јава. НЕТ, што е повеќе од фатат сите за она што е обично C # како јазик во прашање. И дозволете ми да се спомене тоа. Па ние ќе се вратам на тоа. Жал ми е? Жал ми е? ПУБЛИКАТА: SQL. Дејвид Џ MALAN: нула? ПУБЛИКАТА: SQL. Дејвид Џ MALAN: О, SQL. ДОБРО. SQL. Па ние ќе се вратам на that-- всушност, тоа е good-- по паузата, како и. Што друго? ПУБЛИКАТА: Oracle. Дејвид Џ MALAN: Значи Oracle, не е јазик. Всушност, тие ќе го користат SQL, како и. Значи, да се стави дека по на паузата, како и. И жал, нешто овде? ПУБЛИКАТА: Математика. Дејвид Џ MALAN: Математика? Добро, сигурно. MATLAB и е вид на таму понекогаш. ПУБЛИКАТА: Р. Дејвид Џ MALAN: Р. Ајде да одиме овде. Fortran. Секако. Постарите училиште. Fortran. COBOL. Јас ќе се фрли од BASIC. ОСНОВНИ. Any-- ПУБЛИКАТА: MATLAB? Дејвид Џ MALAN: MATLAB. Ох, ти победи на него. Било што? Можам да се сетам на неколку други. Можам да се сетам на неколку други. И она што е последен пат? ПУБЛИКАТА: ASP. Дејвид Џ MALAN: ASP? Да. Активни страници на серверот. Кои генерално ќе падне под на други јазици, а понекогаш и C #, па ајде да го оставиме тоа надвор. Но, ние ќе се вратам на тоа за рамки и сл. Нешто друго? PHP е многу популарна. Руби е друга. JavaScript, не треба да се меша со Java, е друга. Тоа е вид на многу. Па тоа може да биде сигурно големо, како од листата не е веќе, само за да почнат да знаат каде да почнете. И така, за среќа, ајде им пријде на ова од неколку агли. Прво, ајде да се обидеме да се категоризираат барем некои од овие јазици во две кофи, потсетува на разговорот имавме пред паузата, каде што зборуваше за собирање, и изворниот код, и машински код, затоа што тоа не е како Сите јазици не работат. Па ние ќе се извади неколку примери of-- или контра-examples-- за тој модел. И тогаш, зошто да не се се зборува за апликации дека овие јазици обично се користи за. И искрено, иако ова е прилично долга листа, тоа е само еден дел од оваа листа која обично ќе се повлече од овие денови решавање на проблеми. Некои јазици се понови од другите. Некои јазици се повеќе популарна од другите. Па тоа не е како што треба, како огромна задача, пред да при што во одлучувањето овие различни јазици. Па ајде да го направите тоа. Имавме порано, изворниот код, а потоа моравме машински код. Упс. Пишување на погрешен збор. Машински код. И имавме некои процес во средината called-- да, на компајлерот. Па компајлерот. И што машинскиот код всушност работи за на крајот ќе биде вашиот вистински процесорот. Со други зборови, со машина код, значи инструкциите најниско ниво дека процесорот, всушност, го разбира. Собирање, одземање, се движи, спаси, и операции како што. И така ова е модел за што е општо позната како Составувач јазици. Можеби не е изненадувачки. Значи ова е модел за Составувач јазици. Но, се покажа дека е друга класа на јазиците наречен толкува languages-- толкува languages-- кои се малку различни. Ти пишувам во изворниот код, да го стартуваш нив преку преведувач, и дека преведувач е што работи на процесорот. Со други зборови, она што не го направите емитуваат е она што, очигледно? Машински код. На нулите и дека процесорот се разбира на крајот. Значи во оваа прва верзија и јазици како C, како што видовме, да пишувате во изворниот код што е малку мистичен, но барем тоа е вид на англиски како и тоа е најмалку може да се чита откако ќе се навикнеш на него. Можете да го извршите преку компајлер и надвор ќе го добиете, во крајна линија, нули и единици. Тоа симплификација. Постојат некои други чекори во таму. Всушност, ако некогаш сте слушнале терминот "собранието јазик" тоа е еден чекор пред на нули и единици. Дека малку се чита, но сепак прилично таинствени. И така има меѓучекори кои се, всушност, се случува тука. Но, на излез, на крајот, Токму овие нули и единици. Но, во толкуваат светот, каде што треба јазици, кои се толкуваат јазици, вие всушност го прескокнете тој чекор. Со други зборови, кога ќе се напише програма, само веднаш да ја стартувате. Вие не го собере и да потоа изврши тоа, како што беше порано. Можете само да го напишете и да ја стартувате. И ако сакате да се направат брзи промени, ќе се направи брза промена и повторување. Значи не постои средина чекор тука. Сега, за програмата што напишав порано, кој беше на оваа програма "Здраво", можеби разумно wonder-- или може разумно state-- тоа не беше тоа време одзема време да ги собере мојата програма. Се чини дека тоа го прави само како тоа. И има графички верзии на компајлери. Јас сум користење на најскриените верзија, но вие може да го погоди копчето за изведба и дека, всушност, ќе се направи компилација за вас. Сум состави програмата, а потоа повторно, да го работи, јас само го направите тоа. И излези на левата таму "Здраво!" Тоа не изгледа сето тоа мачно. Но, кога вашите програми се повеќе од само еден, два, три, долга четири, пет линии, може да се многу повеќе секунди за да се состави. Понекогаш дури и минути или доста време да се состави. По сите, некои од Најголемата производи во светот се работи како оперативни системи, Microsoft Word, Microsoft Excel, која може да биде стотици илјади па дури и милиони линии на код за долго, и оние кои не го прават токму веднаш да се изврши. Покрај тоа, на интернет, тоа е стана мода да се користи едноставно толкува јазици, делумно затоа што можат да направат промена како и на инвеститорот а потоа само веднаш ја превчитате страница на пребарувачот и веднаш да го види резултатот. И така, HTML, а не програмски јазик, е јазик кој го толкува. И видовме дека истиот ефект вчера. Вие само вчитување на страница по што промена во Cloud9 and-- voila-- ќе видите нов резултат. Значи она што е разликата тука? Во HTML, да се потсетиме, имавме отворен HTML, отворена глава, опен, во близина наслов, во близина на главата, отворен тело, и така натаму. Ние имавме сите овие тагови кои ги прилично многу изјави, кажете му на прелистувач што да прават. Еј пребарувачот, тука доаѓа една HTML страница. Еј пребарувачот, тука доаѓа насловот. Еј прелистувач, тука доаѓа некои текст кој треба да биде храбар. А потоа ти кажам спротивното. Еј прелистувачот, тоа е тоа за текст на храбар лице. Еј прелистувачот, тоа е тоа за телото. И така натаму. И така она што е интернет пребарувач? А прелистувачот е само преведувач. Тоа е програма со која некој како Microsoft или Google има напишано, чија цел во животот е да прочитате јазик, познат како HTML, и да го толкува. Врвот до дното, лево кон десно. И во секое време на прелистувачот гледа отворено заградата, наслов, во близина на заградата, тоа треба да го интерпретираме како значење, ох, тоа значи дека треба да се стави овие зборови пат тука на врвот на пребарувачот. Па тоа само го прави она што вели HTML код. Но, нема нули и единици. Нема компилација. Што не го направи тоа. На пребарувач не го стори тоа. Тоа е само не се вклучени. Значи, во духот на овие тековни теми, денес и вчера, што се чини дека да се биде прекрасен функција. Ќе го снимите вашиот код и потоа само ја стартувате или да го протолкува. Нема средно чекори. Сигурно има цена? не можат да бидат квит. Значи она што може да биде дека на трошоците? ПУБЛИКАТА: простор. Дејвид Џ MALAN: простор. Па, секако. Во составена светот, ќе мора не само оригиналниот изворен код, вие сте исто така создавање и тогаш се претпоставува дека заштеда машината code-- на нули и ones-- и тоа е мора да преземе некои износот на просторот. Апсолутно. Така, тоа е да ве чини повеќе простор. Да? ПУБЛИКАТА: прелистувачи можат да се протолкува поинаку. Дејвид Џ MALAN: прелистувачи можат да се да го толкува на различни начини. Тоа е вистина. Но, јас не сум сигурен дека сум удобно тврдејќи тоа е затоа што тоа се толкува. Тоа е повеќе само затоа што е имплементација на јазик која самата има нејаснотии. Значи, да не сосема потврди оној, но со добар комат. Што друго може да се плати цената? Андреј? ПУБЛИКАТА: Ти си комбинирање два чекори, така што тоа има зголемување на комплексноста, како и. Дејвид Џ MALAN: На complex-- зголемување на комплексноста каде? За кого? ПУБЛИКАТА: Значи, на преведувач чекор, сте комбинирање на преведувачот и компајлер за само води до to-- Дејвид Џ MALAN: О, во ред. Иронично, тоа е веројатно малку поедноставни за имплементација на преведувач, и покрај тоа што се чини, принос квит на оваа погодност. Па можеби и точно. Но тој вид на зависност, јас би рекол, на јазикот и за тоа како тие отидоа за нејзино спроведување. Не може да има многу повеќе комплексност, Всушност, во компајлер, само затоа што имаш да одат од нешто толку високо ниво на нешто толку ниско ниво. Но, добра мисла. Па стави на друг начин, на состави програма, кога се вклучени во овие нули и единици, завршува на јазикот дека процесорот зборува, додека во оваа страна на свет, оваа програма ќе ги напишав, кодот што сум напишал, всушност, никогаш не се претвора во вистински јазик компјутер зборува. На нули и единици. Тоа останува во оригинал, повеќе на човечки пријателски, повеќе читлив јазик. Значи она што може да биде импликација таму, ако не се всушност мачи конвертирање на вашите програма за самиот јазик дека основните компјутерски зборува? ПУБЛИКАТА: не може да разбере нешто? Дејвид Џ MALAN: може да не разбирам нешто. И тоа може да claim-- ако не ја разбрал нешто, тоа е грешка или недостаток на функција во толкувач. Значи тоа ќе биде повеќе од грешка од трошоците. ПУБЛИКАТА: Вие имате пристап до изворниот код? Дејвид Џ MALAN: Има добра. Така, една лоша работа тука ви е Се чини да имаат пристап. Можете, на крајниот корисник, може да се чини дека имаат пристап до изворниот код. И тоа не е секогаш точно. Но, тоа е точно во случај на JavaScript, кои ние ќе се погледне по пауза денес, што е препознаена програмски јазик дека ти пишувам во изворниот код. Но, тоа изворниот код добива пренесени од вашиот сервер на прелистувачот и ќе трае во прелистувачот на човечкиот. Значи, тука таа само може да се отвори прозорецот, како сум се прават во Хром, и се погледне во него, како што се погледна вчера со Google. Тоа може да изгледа малку неразбирлива, туку тоа е таму. Значи, тоа е апсолутно еден цената што е платена. ПУБЛИКАТА: Изведба хит? Дејвид Џ MALAN: Да. И тоа е друга biggie. Има намалување на перформансите. Затоа што ја имаат оваа средината човек, кој сам по себе е програма, помеѓу вас и процесорот, што е спротивно само да се хранат овие суровини нули и единици во процесорот, има намалување на перформансите што ќе се со толкува јазик. Така што, произволно, програма тоа може да потрае една секунда да работи на компјутер или на еден минути да се кандидира на компјутер тука, може да трае 10 секунди или 10 минути да се кандидира на компјутер тука. Тоа е обично не се случува да биде што голем дел од difference-- фактор на 10-- затоа што има оптимизации можете да направите. Но, тоа е речиси секогаш побавно. Сега, на друга страна за да се што се однесуваат на е дека, и компјутери, на секои 12 до 18 months-- според Законот на Мур, така да се speak-- се само добивање побрзо и побрзо. Имам повеќе и повеќе простор на дискот. Имам повеќе и повеќе RAM меморија. Кој навистина се грижи? И тоа е вид на разумен аргумент. Всушност, една од причините Затоа може да се толерира побавно толкува јазици, бидејќи ние, луѓето навистина не се забележи. Компјутерите добивано и толку ебам брзо. Со оглед на тоа назад во текот на денот, особено кога хардверот е многу ограничен, сте имале помалку од сè, тоа е многу поскапо така што се чини повеќе, и потоа навистина сака да се притисне колку перформанси како што може. Но, она што се бара во писмена форма пониско ниво, ако сакате, со Составувач јазик. Така да не ја искористам оваа перформанси хит. Но, генерално, квит чини да се биде достоен за тоа овие денови. Па, со исклучок на прашањето на интелектуална сопственост. Кој вид на читливост на кодот, ние ќе се врати на кога ќе погледнеме во JavaScript. Па ајде да се обидеме да се категоризираат барем неколку од нив. Така меѓу Составувач јазици, ние ќе треба C, C ++, kinda, sorta, Java, иако тоа е малку на исклучок, причини јас ќе ви покажам во само еден миг. C # ќе биде на оваа листа. Ние ќе се погледне во повеќе од само повеќе современи јазици. Во ред. И тоа се чини како многу таму. Со оглед на оваа страна од оградата, ние би можеле да имаат вклучите Javascript-и Python, и PHP, и Руби. И дали е тоа доволно за поновите оние? Дека се чувствува како многу за сега. ДОБРО. А потоа точка точка точка, од листата е бесконечна. И всушност, ако сакаме да се само се добие чувство за this-- Википедија, Составувач јазици. Јас сум Сомневајќи се дека ние може да се добие многу повеќе исцрпна листа. Значи тука ќе одиме. Па овде е многу повеќе исцрпна листа. И јас се надеваат дека некој ќе се погоди D како јазик затоа што премногу постои, но тие престанаа D тоа ќе изгледа. И покрај тоа што всушност може да биде на Е. А, всушност, ова треба да да биде на листата на овие денови. Свифт е, всушност, јазик кој Apple го измислил која сега се користи, се повеќе Значи, во iPhone развој. Но, ние ќе се вратам на дека со нашата дискусија на мобилни во само малку, како и. Толку брзо, како и. А потоа, ако одиме на толкува Language-- толкува Language-- тогаш еве уште подолга листа, како и. Значи, ако сте само на Google и се погледне на Википедија за овие, ќе видите сите видови на јазици. Но, целта е, за денес навистина, само се сведува на можеби ова прашањето на интелектуалната сопственост и читливост страна на крајниот корисник и да перформанси, е уште еден biggie, како и. Така меѓу овие јазици, дозволете ми да видиме дали можеме да ви даде само некои примероци на јазиците. Ние не сакаме да се оди преку сите јазици бескрајно. Дали некогаш сте се запрашале што е одреден јазик како изгледа? Видовме пред еден миг. Зошто не можеме да потрае неколку на барања за функции. Кој би сакал да видам што друг јазик личи? Да. ПУБЛИКАТА: Јава. Дејвид Џ MALAN: Јава. Во ред. Па ајде да одиме во Јава. И само да ви даде sample-- ние би можеле да се напише сите овие надвор, но тоа ќе биде побрзо само да се погледне на кодот примерок некој друг. Во ред. Па ова е добар пример? Упс. ДОБРО. Значи тука е Јава верзија на програма што напишав порано, "Здраво". Па Јава, ќе често види клучниот збор "класа". на Тогаш ќе видите некои име, по тоа. Ќе видите големи загради како што видовме претходно, а понекогаш и тие одат на иста линија, понекогаш и други линии, тоа е вид на лична одлука. Ќе видите клучни зборови како "Јавноста", "статични", "празнина". Но, ние не се види "главни". "Main", генерално, името на стандардниот функција или парче стандардно на кодот кој добива работат во програма. "Стринг". Што ние подразбираме под низа порано? Јас го користат вид на случајно. А низа е она? Еден збор. Тоа е како секвенца од знаци. Индивидуални ликови, да се вратиме назад да се врати, обично во низа, како што ние си разговараа. И всушност, види оваа синтакса тука, два квадратни загради? Тоа значи дека, еј компјутер, тука доаѓа низа од стрингови. нотација на плоштадот заградата е најчесто се користи да се означи дека. И тогаш веројатно може да се guess-- што го прави ова истакна парче од код најверојатно да направам? ПУБЛИКАТА: Излезот? Дејвид Џ MALAN: Да. Тоа отпечатоци нешто на екранот. Така, "систем" е еден вид на повикување на вашиот компјутер. "Надвор" значи дека вашиот компјутер е производството или на екранот. Така, "system.out.print ln" веројатно значи? "Ln". Печати кои програмери како да се пишува очигледно некои зборови од во целост и се кратенки со други зборови. Но, "ln" е ​​линија, па печатење линија. Па тоа отпечатоци од "Здраво Светот! ", Проследено со нова линија. Значи тоа е тоа. Но, Јава е она што тие ќе повик објектно-ориентирана. И навистина, само за да даде неколку други дефиниции таму кои можеби ќе види, во принцип, постојат многу различни видови на јазици, но најчестата процедурални или императив јазици. Постојат функционални јазици, кои не значи дека другите се нефункционални. А потоа, тука е објектно-ориентирани јазици. И ова е можеби најдобриот категоризација на повеќето јазици дека некогаш ќе го изберат за вид на еден типичен комерцијален проект. Ова ќе биде премногу, Мислам дека на дупка на глушецот да одат надолу, за да се обиде да се објасни различните разлики. Но јазици видовме што се far-- C е процедурален или императив јазик. Во поново време измислени јазици имаат тенденција да бидат, жал, објектно-ориентирано, што значи тие имаат и други функции за нив. Можам да го објаснам тоа на овој начин? Ајде да дури и не оди таму. Објектно-ориентирана значи можете да implement-- може да се моделира во реалниот свет малку повеќе ефективно. Човештвото, со текот на времето, има сфатиле, Леле, тоа би било убаво ако мојот јазик имаше оваа функција или функција. И тоа е причината зошто имаме толку голем број јазици во светот. Разумните луѓе, паметни луѓе, се согласуваат или не се согласуваат и секогаш вид на доаѓаат заедно на развој на нови јазици, сите заедно. Случај во точка. Apple измислиле Свифт во се претпоставува дека се надева на намалување на пречката iPhone развој, бидејќи претходниот Language-- наречен Objective-C, што може да исто така, да биде на нашата листа here-- беше многу таинствени и многу потешко да се заврши еден е умот наоколу. И како програмирање станува дискутабилно подостапна и пошироко донесени од страна на луѓе, дури и помалку технички, goal-- тоа е многу храбри цел да се обиде да намалување на бариера за влез, со тоа што самите јазици полесно да започнете со, но не помалку моќни задолжително. И еден на друг јазик. Зошто не ги погледнеме на нешто како Пајтон, што е многу многу во мода овие денови. Пајтон. Пример програма. Ајде да видиме. "Здраво" јазици. Ајде да го направиме ова. "Здраво свету." Ајде да видиме дали ова му дава ни еден убав пример. ДОБРО. Значи ова е всушност вид на забава. Значи, ако некогаш сте google "Здраво", која случува да биде една од првите програми некогаш напишани во модерен јазик, само како доказ на концепт, може да се види сите видови на имплементации на ова. Некои од овие јазици Јас дури и не сте слушнале. Но, можете да see-- ајде да одиме на Basic, оној што го научив пред неколку години, во еден дел. Ова беше забавно јазик затоа што мораше да, како програмер, број сите ваши линии. Не за разлика од она што беше прави кога го пишував pseudocode на жолта документ порано за бинарни пребарување, за пребарување на именикот. И така, ако си сакал да одат во друга линија, вие буквално ќе напишеш, оди до 10, или оди на 20. И ако сте пишување линии, Конвенцијата е да се прави, тоа е линија 10, ова е линија 20, ова е линија 30, 40, со ништо меѓу нив, со што се себе си даваат некои простор ако се одлучите, почекајте една минута, Јас треба да се додаде некои повеќе код некаде. Се уште има вид на девет шанси да стискаш дека помеѓу вашата програма пред да мораше да рачно ренумерираат сè. Значи ова е вид на што мислам кога велам светот излезе со нови функции. Некаде по патот некој реализира, ова момче е глупаво. Ова е само создавање работи за програмер. Па тој или таа само вид на гради нов слој на врвот на тоа така што ќе не мора да се грижите за тоа што бројките на вашиот код е всушност. Значи, кога би можеле да го одберете еден или друг јазик? Па, кој од овие јазици ги имаат тенденција да да слушнат за најмногу во свој свет, овие денови? Ајде да паѓачкото Objective-C премногу. ПУБЛИКАТА: C #. Дејвид Џ MALAN: C #. Па нека ме боја. Дали имаме нашите други бои некаде? Значи C #. И што знаеш за C #? Нешто пролет на ум? ПУБЛИКАТА: Тоа е програмскиот јазик. Дејвид Џ MALAN: Тоа е програмски јазик. ДОБРО. Тоа е вистина. Значи зборуваме за C #. C # тенденција да се користи во Windows средини, Значи, ако сте пишување софтвер на Microsoft за Windows, C # е многу често се користат, без разлика дали тоа е за десктоп софтвер, или дури и телефонски софтвер за Windows телефони, ако сте имале оние, или на интернет, дури и премногу. И всушност, можеби Карим споменатите ASP порано? Па таму е исто така, овие нешта наречени рамки, кои можеме да се воведе со проширувањето. Рамки, како ASP. Се залага за Активни страници на серверот. И ова е код и начин на програмирање кои обично го прави полесно за да напишете веб-базирани апликации. Со други зборови, тоа ќе биде супер, супер досадни за да напишете веб-сајт на јазикот Ц, кој што сум го видел досега, затоа што ќе треба да се користи за печатење + F, вие ќе треба да го користите овој клучен збор "Главни" и големите загради. А многу таинствени синтакса и да ја оствариме нешто што е прилично сложена. Веб-страница. И така на други јазици еволуирале да се направи тој вид на работа полесно. И за возврат, луѓето се излезе со рамки, вид на алатки дека можете да го користите кои го прават тоа дури и полесно да се напише веб страни. Така на пример, да се направи ова многу поконкретни, дозволете ми да се отвори само текстуална датотека за момент. И може да се сети вчера што рековме нешто како, тоа е веб-страница. HTML. Затвори HTML. Дозволете ми да го прескокнете главата и само го прават телото тука. Да претпоставиме дека сакам да напишете не "Здраво" но "Здраво Дејвид", каде што Давид е името на тековно најавен корисник. Што нешто како ASP да се направи, или JSP-- кој е Јава серверот pages-- или било кој број на други рамки е дека тие не се јазици, само по себе. Тие се само како дополнителен софтвер кој ќе се ќе се инсталира во вашата околина дека само го прават тоа полесно да програма. Така на пример, наместо да мора да се направи нешто како "здраво, printf (" Давид ")" или нешто што е вид на ко-mingling-- вид на код видовме before-- што би го направил нешто многу поедноставно, како "име%." И така овие рамки, како ASP-- и јас не се сеќавам, ако јас сум добивање на синтаксата само за ASP. ЈСП е little-- е тоа право? Така е и со ASP, ова е вид на специјална синтакса дека некои програмери се одлучиле ова може да им помогне на луѓето надвор. И јас може да се изрази повеќе посочно променливи, на пример. Како да се стави вредност тука, каде што ова име вредноста не е N-A-M-E, ова е некоја вредност се чуваат во таму. Така, "името", во овој контекст, ние ќе се јавите на променлива. Алгебра има променливи како x и y и z. На програмерите користат променливи кои се повеќе описен од x, y и z, обично. Така, "името" буквално ќе биде некој вид на контејнерот меморија за нешто како Д-А-В-I-Д, на мое име, или кој друго е најавен во веб страната. И така ова е вид на погодност ќе го добиете со одредени средини. Значи C # и нешто како ASP би многу најчесто се користи во светот на Windows, без разлика дали за своите десктоп софтвер или на веб серверот, особено ако вашите сервери, пак, работат на Microsoft Windows и Microsoft IIS-- или интернет информации Сервер, ако можам да добијам акроним right-- што е Мајкрософт веб сервер. Значи она што други јазици луѓе се запознаени со тоа, или сте слушнале за почесто отколку не? ПУБЛИКАТА: Знам дека Пајтон вид на популарна [Беззвучен]. Дејвид Џ MALAN: Многу популарна. Значи Пајтон тука се користи многу често во научни апликации или податоци науката, каде што има многу на податоците кои сакате да се анализира и ако сакате да го користите програмски јазик за тоа. R можеби најчесто се користи за тоа како и, во статистичка смисла. Но Пајтон има толку многу карактеристики вградени во. Толку многу дополнителни библиотеки, велат дека како луѓе. Библиотеки се само колекции на код кој другите луѓе напиша дека може да се користи така што ќе немора да откриеме оние тркала. И така Пајтон е многу често се се користат во областа на науката податоци апликации. Но, тоа е, исто така, многу често се се користат во веб апликации. Може да се спроведе динамичен веб користење на Python. И со динамичен сајт, јас значи не само статична содржина како што ние направивме вчера, од страна на само тешко кодирање во текстот Латинска и други такви работи, туку на способноста да се најавите, способноста да се купат нешто, способноста да се провери од со вашата шопинг коли, или слично. Сето тоа бара динамика и ќе се треба некој јазик како еден од нив. ПУБЛИКАТА: Значи не Пајтон има свој продолжување, слично како [Беззвучен] Дејвид Џ MALAN: Тоа го прави. Значи, во светот на Python, Џанго е многу популарна рамка за Python. WSGI е уште еден механизам кој е вид на различен од овој но слични во духот. Тоа е додаток кој ви овозможува да се кандидира Python код на серверот. Има other-- да. Значи овие ќе го наречеме рамки. И тоа е малку на злоупотреба. Ова е повеќе од веб сервер технологија. Но, ние ќе го чувам едноставен и се стави тоа во оваа колумна, сепак. ДОБРО. WSGI. WSGI. Друга thing--, а всушност, да ми се движат дека на своите колона, затоа што ќе се развикам на мене за ставајќи ги во иста корпа. Ајде да се стави ова во серверот карактеристики, да речеме. Тоа не е технички термин. Па овде ние би можеле да бидат WSGI. Има CGI, кој е постар техника за служејќи јазици како Perl или PHP, или некои други. Повторно, јас сум споменат овие термини не толку многу да се најде на нив пропит, но така што ако видите нив тоа е нешто можете едноставно Google за да прочитате повеќе. Нема вистинска сок на некои од овие работи. Но, ајде да се вратиме на јазици. Ние разговаравме за C #, Python. Што друго може да се користи за Веб програмирање овие денови? Ајде да се фокусира на тоа уште. ПУБЛИКАТА: PHP. Дејвид Џ MALAN: PHP. И ајде да се вратам на тоа еден. Па PHP е многу често се користат. PHP има тенденција да се добие лош рап. Таа започна како имплементирани јазик од страна на луѓе кои можеби и не беа нужно најдобар јазик дизајнери. И така ќе можете да прочитате на сите видови на написи онлајн за тоа колку лошо PHP е. И за жал, ова е манифестација, во дел, само верска дебата кој еруптира меѓу програмери. И ова е нешто вреди да се зачува во умот, од бизнис перспектива, дека тоа е многу лесно за технички лица да ги добиете сите работел со нивните мислења за одредени работи. И тоа не мора да значи дека еден вика најгласните или со најсилните, angriest мислење е во право. Многу пати, тоа навистина само не е важно. И така луѓето се само што се расправаат сопствените предрасуди или удобност зони. И така ќе треба да се задржи тоа во предвид при донесувањето на одлука, дека само затоа што некој вели: ова е вистинскиот јазикот за на работа, тоа може да биде вистина, но тоа, исто така, само може да биде тоа е право јазик во рамките на своите вештини во собата или удобност зона. Што не е лошо, но треба да се реализира дека може да има некои контекст таму. Постојат некои објективно погрешно извештаи, како C е погрешен јазик да се користи овие денови за спроведување на веб-сајтови речиси секогаш. Но, тоа не е неразумно да се каже дека било кој од овие се во ред дека ние сме кружеше досега. PHP помина низ многу верзии. Значи јазици имаат тенденција да имаат верзија броеви поврзани со нив. PHP е до, мислам, верзија 7 сега, па тоа е околу за сосема извесно време. И како јазици се понови, тие често се нови функции. Но, мора да бидат свесни за тоа затоа што ако вашиот сајт е спроведува во 7 верзија на PHP, но сте се обидува да се кандидира на вашиот веб-сајт, или можеби сте аутсорсинг развој на вашиот код на некој друг и тие пошта тоа за вас или испратете ја на вас и тие велат, тука, се стави ова на вашиот веб сервер, ако вашиот веб сервер е неколку години outdated-- без разлика дали е свој сервер или веб host-- тоа не може да всушност работи. Значи овие се видови на работи кои некој треба да бидат свесни за Кога надградба на сајтот или спроведување за прв пат. Слушнав JavaScript порано. Значи JavaScript е интересен еден со тоа, што е генерално клиентската страна, како што ќе видиме по паузата, која значи дека работи во прелистувачот на корисникот. Но, исто така можете да се кандидира JavaScript овие денови користење на нешто што се нарекува Node.js, каде Node.js е механизам за трчање JavaScript код на серверот страна, наместо користење на Python, или PHP, или други слични јазици. JavaScript е особено добро прилагодени за разговор апликации во реално време апликации, додека PHP не е голем јазик за спроведување на нешто како разговор сервер, каде што корисниците останете поврзани со него постојано. PHP е повеќе од мене посета еднаш, да се вратам резултат на тоа, а потоа кликнете на уште еден линк некои секунди или минути од сега. Со оглед на тоа Node.js и JavaScript може да биде се користи повеќе за постојани врски. Други јазици кои се сомневате најчесто се користи за веб-работи? ПУБЛИКАТА: Дали jQuery биде рамка? Дејвид Џ MALAN: Добро прашање. Ниту. Јас би го нарекол jQuery библиотеката, каде што повторно библиотека е само еден куп на код дека некој друг има напишано дека, генерално, решава некои проблеми кои го прави тоа, се надевам, полесно за да го направите вашата работа. И дозволете ми да се направи еден пример на ова во контекст на веб. Во контекст на веб постои овој јазик, JavaScript, кои што ќе видиме подоцна, при што ќе може да се каже нешто како this-- "Document.getElementById". И што јас го нарекувам вчера? Прво, мислам, беше единствен број дадов на елемент, кој изгледа вака. "P id =" прв ">", а потоа моравме како "Lorem Ipsum", и така натаму. Значи, ако јас се пишување програма во JavaScript за да некако се манипулира, промени на веб-страниците кои ги играа со вчера, Јас ќе го користи овој означената линија на кодот да се добие дека особено програмка на HTML од моја страна, таа одредена јазол, како што ќе го наречеме. Меѓутоа, во jQuery, наместо на пишување ова, што е сурова JavaScript code-- само надвор од кутијата, тоа е како да пишува it-- ќе наместо да кажам, "#first". Тоа е еквивалентно. И така, само врз основа на овој arcane пример, што можеби е аргумент за користење на jQuery? Зошто инвеститорот ќе се користи како библиотека jQuery, врз основа на овој изолиран пример, можеби? ПУБЛИКАТА: Помалку код. Дејвид Џ MALAN: Да. Тоа е помалку код. Тоа е само побрзо да напишеш. Контрапункт е што изгледа пострашно. Вие навистина не може да го прочита лево кон десно. Всушност, бидејќи тоа е главно интерпункциски сега наместо на вистинските зборови, Можам да вид на се заклучи дека "Document.getElementById" добива елемент од документот од страна на неговиот проект. Навистина може да се користи такво Клучни зборови од ова нешто овде. Така, тоа е пласирам. Има еден софистицираност што доаѓа често со помош на библиотеките, особено како jQuery. Но, реалноста е jQuery има вид за да стане де факто стандард, така што скоро секој овие дена кој пишува JavaScript код користи jQuery или нешто како него, и повеќе не пишува таков опширниот изразите ова, бидејќи повторно човештвото научил, Леле, тоа беше вид на пропуштена можност да се направи нашите животи полесно. Па луѓето ги направат своите животи полесно. Добро прашање. Други јазици да се разгледа. Јас би рекол дека кај оваа листа Руби е доста популарна. И така во светот на Руби, има рамка наречен шини, која е многу популарна. Значи Ruby on Rails е најчесто се користи израз. Исто така, во овој свет, нека ме круг Јава за веб работи, каде во светот на Java може да имаат ЈСП, или Јава Servlets, што е вообичаена технологија. И ова е само уште еднаш начини на користење тој јазик во сервер на животната средина. Па што значи ова? Ако имате физичка серверот, што би буквално преземете софтверот на веб серверот и да ја инсталирате на таков начин дека имате поддршка за еден од овие рамки, со која ќе може, пак, да користи една или повеќе од овие јазици. И во реалноста, ако се регистрирате за како и на веб-домаќин или на некои од облак услуги разговаравме за вчера, често работи само доаѓа со конфигурација на машината за вас. Вие не треба да го поставите на овој рачно. Но, ако не, тоа е каде што улогата на систем администратор, така да се каже, стапува на сцена. Тој или таа, всушност, ќе се направи овој вид на работи за вас, или т.н. вебмастерот често ќе го направи тоа за вас. Во ред. Било какви прашања во врска со некои од овие тука? Или било можности на сите да се прашуваат за јазици? Рамки? Тогаш дозволете ми да се воведе само еден друг библиотека тоа е исто така многу заеднички овие дена. Оваа листа може да продолжи бесконечно. И оваа библиотека е вид на почнува да излегува од корист. Тоа е околу. Тоа беше популаризирана од страна на Твитер за некое време. И сега многу веб-сајтови, многу програмерите го користат. Меѓутоа, новите работи доаѓаат надвор и доаѓаат заедно. Но, дозволете ми да ви даде чувство за тоа што значи да се користи библиотеката. Значи, повторно, го вклучите Javascript-е многу популарен јазик. CSS или Cascading Style Sheets, ние разговаравме за вчера. Тоа, исто така, е сеприсутен. Никој не го прави веб страница денес без користење на HTML и CSS минимално. Но, тоа не е секогаш лесно да се направи некои работи. И така ми дозволи да оди на getbootstrap.com. Упс. Тоа не е како ние се пишува. Getbootstrap.com, што се случува да ме доведе на целниот страница за оваа библиотека. Значи, тие несебично се јавите се една рамка која е вид на вид на фер, но јас сепак би го нарекол повеќе од библиотеката од една рамка. Но, ова се само спорно семантика. Дозволете ми да одат на нивните табот и CSS дозволете ми да одат на нешто како ова. Значи се потсетиме на она што изгледаше нашите форми како вчера на Cloud9? Тоа беше прилично грда. Старата школа копчиња. Мислам дека на копчето е сива со стандардните. И се беше навистина форматирана доста messily. Значи, ако сакате вашиот веб форми да се погледне малку nicer-- дозволете ми да зумирате тука. И со поубав јас навистина само значи многу nitpicky естетика. Значи забележите како кутија на Е таму има заоблени агли правоаголни за тоа. Така, тоа е малку почист таму. Забележете дека зборот е-маил е таму додека не почнете да пишувате а потоа тоа го снемува. Значи тоа е убаво малку функција. Информации како на работа е вид на блескав убаво, од кои некои на ова да се добие бесплатно од вашиот прелистувач, но некои од ова е, исто така, библиотеки, код кој другите луѓе запишани, за ова да даде. Нешто како ова ми дава лозинката. Ова копче е малку посекси од стандардните. Многу во мода во моментов. Уште од iOS 7 или така, светот има добивано многу рамна, со оглед на тоа светот порано многу капка сенки, многу на рефлексии на икони. Слично како во светот на облека, има модни трендови кои доаѓаат и си одат. Сега сè е рамно на вашиот телефон. Всушност, копчиња на вашиот iPhone сега се само сини линкови. Таму не е често дури и кружни копчиња. Значи овие се само нешта кои одат во и надвор од мода, па така ова е како може да се направи повеќе модерен изглед на веб-форма. Копчиња. Значи подигање има многу убава копчиња. Значи, ако сакате сини копчиња, зелените копчиња, сина, портокалова, црвена. Подигање го прави полесно да го стори тоа. Тоа се видови на нештата дека сте апсолутно би можел го направиле вчера со CSS и со HTML, но тоа е само болка во вратот. И така, наместо тоа, она што би подигање треба да направите е нешто како ова. Ако сакате button-- излегува ова е HTML таг ние не го користат yesterday-- и ако сакате да се погледне вака зеленото копче, вие буквално само да го даде класа, кои ние се зборува за вчера, на "BTN btn-успех." Зошто овие зборови? Твитер, авторите на подигање, излезе со овие зборови. Тие би можеле да се јави им се што сакаат. Но, она што се добива е сега некој друг на Твитер, во овој случај, има сфатиле како да се направи копче за да изгледаат убаво и чиста и зелена боја. Тие се спакувани дека функционалност во CSS класа, наречена "btn" и "btn-успех", така што секој од нас може да сега го користат дури и без размислување за тоа. Така тие се апстрахирани далеку поимот на зеленото копче па ние не треба да се грижат за спроведување на тоа самите. ние всушност може да се фокусира на спроведување работи од интерес за нас. Ако ние дојдете долу тука. пораки за грешки на екранот. Понекогаш сакате малку порака за да се појави на врвот на пребарувачот. Секој од нас може да го направите ова со некои напор, по лекцијата од минатото, Но, зошто би се мачам? Тоа е толку неинтересни естетски детали. Ајде да застане на рамениците на подигање и нека ни даде вакви работи, каде што буквално, да се добие црвена кутија, само треба да се направи а став таг со класа of-- жал. "BG-опасност" ќе ни даде ова црвеникава кутија наместо. Сега ајде да одиме на повеќе интересни работи. Ако се вратам на врвот оваа страница и да одат во компоненти, сега што светот станува повеќе интересно. На пример, многу честа појава е паѓачкото мени се допаѓа ова. Ова ќе биде апсолутен болка да се имплементира. И тоа не беше толку долго пред кои ги програмери ќе треба да се имплементираат овие видови на менија од нула. Но, тоа е толку честа парадигма библиотеките како подигање само ви даде способност да се направи паѓачкото мени далеку, далеку полесно. Не постои еден начин да го направи тоа, ако, пак, прочитајте ја документацијата Јас ќе се види дека, во ред, јас треба да го користи овој HTML ако сакам паѓачкото мени кој се однесува како тоа. Слично на тоа, ајде да одиме на копчето паѓачкото. Значи ова е дури и познавач. Ако сакам ова да изгледа како копче но дека малку триаголник значи Јас треба да кликнете на неа и да добијат ова мени, ова е со користење на јазик наречен JavaScript. И сите ние би можеле да спроведат ова во JavaScript. Но, повторно, ова е тркало не сакате да го откриеме. Вие само сакате да го симнат рок на библиотеката за ова. Ајде да одиме на нешто како напредува барови. Значи нешто како ова е вид на ладно. Ако некогаш сте се видел напредок бар се движат низ екранот, спроведување, кои често е само иконата за да се врти. Всушност, само како настрана, да ми да одат на Ajax-- што е тоа? Ајакс инфо? Упс. Ajaxinfo. Дозволете ми да се потсетиме на адреса. Таму ќе одиме. Значи, ако некогаш сте виделе некои анимации додека страната се подигне, или размислување, или заштеда, или создавање на нешто, да може да се види како анимации како овие. Па ајде да погледнеме нешто како овој овде, и ајде да се избере бојата на преден план зелена, која се чувствува вид на пријателски. Може ли да кликнете на ова? Ајде еден. ДОБРО. Ние само ќе се оди со црвено поради тоа е она што се добива. Па овде ние го имаме. Значи, ако некогаш сте го виделе ова на екранот, при што одеднаш се појавува, а потоа одеднаш исчезнува, што е тоа што е за спроведување на тоа? Па, ова е само еден GIF. Г-I-F. И ова е анимиран поднесе, што само значи тоа е како стрип старата школа. Има само еден куп на различни рамки што се случува [пелтечење] и само повторува. И тоа е создавање на илузија на движење. Па штом страница е направено подигне или прави нешто, она што го прави еден програмер? Па, тој или таа само го крие оваа слика. Значи сите прогрес бар е е вид на како филм што гледате. Ти си вид на несвесни за фактот дека тоа всушност не прави ништо, тоа е само да се помрдне. И тогаш, кога тоа е направено по нагорна линија, тие само го скрие или да го исклучите. И тоа е магијата што се случува таму. Подигање ви дава нешто малку познавач, при што може да се, всушност, види процент како тоа оди, но и тоа е само вид од едноставна анимација. Ајде да погледнеме во некои конечниот посложени примери овде. Нешто како модален. Дали некој знае што е модален? прозорецот модален е генерално која би требало да ја преземат контролата на предниот дел и ве спречи да прави било што друго. Тоа вид на силите на корисникот внимание на средината на екранот, ги заклучил и, обично, за сè друго. Значи, ако јас започне оваа демо, екран генерално ќе стане сива боја. Па, како да се направи тоа сиво? Па, веројатно само промени бојата на позадина како што направи вчера или нешто слично. Можеби тоа е преклоп дека полу-транспарентен. И сега се забележи што можете да направите фенси работи како оваа. Значи, ако некогаш кликнете на копчето и сакате малку поп надвор да се појави, можете да го направите тоа. И така, кој се грижи за all-- је? ПУБЛИКАТА: Така е и со подигање, да го добие приклучи, Тоа е толку едноставно како што е како вчера ние го сторивме страница на CSS стилови? Дејвид Џ MALAN: Навистина. Навистина добро прашање. Дозволете ми да одат, за да започнете. И да. Се што треба да направите со цел да употреба подигање суштина копирајте и ставете овие три долги редови на кодот во горниот дел од вашиот сопствен веб page-- главата на page-- и вие сте во трчање. И има различни начини на водење тоа, но тоа ќе биде што поедноставно. Значи она што е корисно за сето ова? Па, ако не сте толку многу имплементатор на веб-страница но ќе се обидуваш да го дизајн, или сакате да се обезбеди некој со жица рамка дијаграми, така да се каже, или интерпретации на она што само уметникот што сакате да направите, јас, на овој ден, често ќе одат на некој сајт како подигање, каде што ако јас сакате да се спроведе something-- како што беше неодамна на кампусот сакавме да се спроведе веб базирана алатка за навигација Харвард разбира каталог, што го прави полесно за студентите да ги пребарувате преку курсеви и додадете курсеви за да се шопинг листа, така да се каже, да вид на се одлучи што тие сакаа да се земе. Се обидував да се замисли за мене, она што состојки би ние сакаме да се користи за изградба на ова? Што би на корисничкиот интерфејс ќе биде како? И само бара преку сајт како овој или со друг како библиотека сајтови, може да се добие инспирација, бидејќи Леле, Јас да го користите овој елемент, и овој елемент, и оваа графичка контрола. И тогаш навистина она што на програмерот ќе почне да се направи, особено во овие денови во овој повеќе современиот свет на веб програмирање, е програмирање е повеќе за ожичување работи заедно. Вид на преземање на оваа исклучување на полица, ова исклучување на полица, ова исклучување на полица, и ќе биде паметен, за да се поврзете сите овие точки, но на крајот се изгради нешто со повторно стои на рамениците на другите, така што ќе не поминуваат за еден месец спроведување на глупави паѓачкото мени, кој е всушност тешко да се направи, ако сакате да работат на Chrome, и на IE и Firefox, како и сите број на други пребарувачи. Ова е причината зошто постои оваа богата комерцијален софтвер со отворен код индустрија, како и. ПУБЛИКАТА: Значи не се ажурирани подигање и ќе мора потоа да го обновите вашиот линкови? Дејвид Џ MALAN: Тоа го прави. Па, да, тоа го прави. Подигање во моментов е на верзија 3.3.6. И, генерално, она што би do-- ова е всушност вреди да се спомене. Таму е она што е генерално познат како семантички верзии систем во светот. Не секој го прави тоа. Но, ако сте виделе верзија броеви кои се во форма x.y.z-- Така на пример, во првата верзија на програмата може да биде 1.0.0. Или ако тоа е многу, многу бета верзија, или дури и алфа состојба, што значи употреба на ваш сопствен ризик, тоа не е навистина е подготвен за премиер време, вие може дури да почне 0.0.1 или некои такви ознака. Но, ако на софтвер започнува во верзија 1.0, или еквивалентно 1.0.0, типично, што е заеднички овие days-- иако не е omnipresent-- ако една компанија или индивидуалните програмер поправки некои бубачки во некои парче на софтвер кој навистина беше грешка, чија корекција не треба да што влијаат на all-- тој не се менува однесувањето на програмата, тоа само поправки нешто дека не работи properly-- што би обично ажурирање на z вредност таму. Што значи некој како Карим едноставно може да оди во неговата интернет страница, слепо се промени бројот на верзијата од 1.0.0 до 1.0.1, освен тоа, тој брод, и во теорија, не треба да се се загрижени дека тој е само скршени неговиот веб-сајт, бидејќи на недостаток на функционалност, затоа што нешто друго скрши. Во меѓувреме, ако Јас, програмер или некоја компанија требаше да се направи некои значајни промена која додава функционалност, Јас би можеле да ни се ажурира на 1.1.0 бидејќи јас сум, всушност, менување на однесувањето на библиотеката. Јас сум ви даваат можеби и повеќе функционалност. Конечно, ако јас да се, всушност, суштински промени на софтвер, така многу што тоа ќе се скрши многу корисниците на веб-сајтови или апликации, тогаш јас сум должен, во овој модел, за да се надградба на голем број на верзија исто така, кој е кршење на промена. Со други зборови, би можел да има дисконтинуиран поддршка за оние кои капка опаѓачкото мени. Значи, ако се надополни со 2,0, половина Вашиот веб-сајт може да престане да работи. И ова е еден вид на сигнал на заедницата за тоа што е се вклучени во правењето на надградбата. Добра можност да се подигне. Други прашања? Во ред. Па ајде да ги разгледаме во еден финален тема во овој сегмент на програмирање на технологијата Купишта, имено во врска со мобилен телефон. Значи, во светот на мобилни телефони денес ќе have-- и iPads, и површини, и сите оние видови на devices-- имаш многу избори, кога станува збор за спроведувањето апликација или веб-страница за мобилни уреди на вашиот клиент. Па само да се наведат Очигледно, можеби овие денови, кои се платформи, а да се развие во мобилната простор? Што уреди можеби ќе сакате да се поддршка со вашата апликација или веб-страница? ПУБЛИКАТА: Apple. Дејвид Џ MALAN: Добро. Значи Apple уреди. Па тоа значи дека iPhone-от, и дека значи iPad, а можеби дури и iPod. Што друго? Оливие? ПУБЛИКАТА: Андроид. Дејвид Џ MALAN: Андроид. ДОБРО. Значи Андроид телефони, Андроид таблети, Андроид пазар е дури и Месие because-- дури и на Apple станува нејасна. Со оглед на тоа еднаш едно време iPhone е одредена големина, и iPad беше одредена големина, и iPod беше одредена големина, сега имаме iPad Minis, и тенка оние, и на iPhone 6 и 6 Плус. Тоа е да стане хаос. Тоа е да стане светски Android. И јас велам со вид на тркалање моите очи, бидејќи од инвеститорот перспектива, тоа е болка во вратот кога немате Стив Џобс " Визијата на апсолутна контрола во текот на сите овие спецификации. Apple сеуште го прави тоа затоа што тие се оние градење на хардвер. Но, тоа е убава работа, ако Јас сум развивач на софтвер, да знаат дека мојот iPhone е секогаш ќе да бидат на овој голем бидејќи тоа значи дека секогаш знам колку екран на недвижен имот што го имам. Значи, ако сакам да се стави на икона во горниот лев агол, тоа се случува да биде во иста се одржи на уредот секој клиент. Но, во светот на iPhone 6s и iPhone 6 Предности и во светот на Android телефони, тоа е целиот план. И така тоа го прави потешко за програмата работи, особено кориснички интерфејси, затоа што сега ќе мора да почнат уредување вашиот кориснички интерфејси релативно, а не апсолутно. И истиот е точно на пребарувачи, и десктоп компјутери и лаптопи за години затоа што, се разбира, имаат различни екран големини. Што друго? Може да имаат површини, како од Microsoft. Може да have-- ПУБЛИКАТА: Windows телефон. Дејвид Џ MALAN: Што е тоа? ПУБЛИКАТА: Windows телефон. Дејвид Џ MALAN: Да. Па прозорците телефони се уште може да се најде. Вид на вид на BlackBerrys, но тие се обидувам. А потоа гроздовете на други уреди. Значи, во најголем дел, ајде велат дека тие се оние да се грижи за во моментот. Секако дека работи на Apple, секако работи Андроид, и помеѓу Windows, како површина таблети се чини дека се фатат за прилично добро. И така меѓу оние уреди, ако сакате да се тркалаат, да речеме, мобилен присуство на вашиот компанија, она што видови на дизајн одлуки не треба да се направи? Па, ние веќе рековме во светот Apple, има најмалку два јазика кои обично се користат. Една од нив беше наречен што? ПУБЛИКАТА: Objective-C. Дејвид Џ MALAN: Да. Значи Objective-C, која е постара. Тоа е, исто така, на јазик што многу Mac апликации се уште се напишани. А потоа другите понова беше? ПУБЛИКАТА: Свифт. Дејвид Џ MALAN: Свифт. И оние кои се во вид на две да се знае за да ги импресионираат луѓе. Потоа во светот Андроид, на кој јазик го користат Андроид? ПУБЛИКАТА: C #? ПУБЛИКАТА: Јава. Дејвид Џ MALAN: Јава е јазикот на "du jour". Во светот на Windows, сигурен, ние ќе се каже C # во тој случај. Значи веќе ова е вид на досадни, затоа што е готова брза за бизнис сопственикот или некој кој само сака да се тркалаат на мобилен присуство? Како, по ѓаволите? Како, ако сакам да ја поддржам прилично широка база на корисници, Морам да пишувам, се чини, три одделни апликации. Еден на еден од овие јазици, еден во Јава, еден во C #. Па дури и ако сакам функционалноста да бидат идентични, тоа не е важно. Јас се уште треба да се користат различни јазици, бидејќи Apple и Microsoft, и Google тотална поддршка различни средини. И ова е предизвик со години. Назад во текот на денот, кога луѓето се користи за да се купи софтверот на компјутер продавница во смалуваат завиткан кутии, можете или ќе треба да се фатил за на полица Mac, или for-- можеби ова многу мал Mac shelf-- или поголем Windows полица и да купам некои софтвер. И многу често, не беше дури и нешто за вас на полица Мак. Зошто? Па, ако компании одлучија 90% на светот, 95% од светот има компјутери, зошто да се мачи дури и спроведување на работите на Mac OS? Како aside-- вкупно digression-- зошто е тоа дека Mac изгледа толку отпорна на вируси, и црви, и закани за безбедноста? Е Епл подобар во тоа? Подобро во одржување на компјутери безбеден? ПУБЛИКАТА: помала публика? Дејвид Џ MALAN: Тоа е веројатно поголема малку за тоа. Значи, многу корисници на Macs се долго тврдеше, ох, користете Mac, ќе бидат имуни на вируси, и црви, и сите овие работи кои веќе долго време се соочува компјутери. Тоа би можело да биде, бидејќи на Apple има подобри програмери и тие пишуваат подобро софтвер или оперативен систем беше подобро дизајниран. Можеби, но веројатно не. Тоа е веројатно дека кога сте 12-годишниот, или 30 нешто вид на седи дома пишување малициозен софтвер да преземе светот, си оди за да одат по многу поголема целна публика. 95% од светот кои би можеле да да се работи на Windows или некои варијанти од него. Па таму е малку од двете страни. Но, за да нивните кредитни, Apple, според моите сознанија, не е навистина се смета како да бидат повеќе сигурно, бидејќи вие сте само поканува драма ако да се направи тоа барање, јас би помислил. Во ред. Без да се премногу далеку долу тоа, како да се реши овој? Дали треба да се купи или не треба да се плати три различни луѓе да се развие вашите апликации? Дали ви се избере еден во однос на друг? Што треба да водење на вашата мислејќи тука мислите? Карим? Не бе. Некој друг. ПУБЛИКАТА: Само да дојде со хардвер. Дејвид Џ MALAN: Ајде со хардвер? Што мислиш? ПУБЛИКАТА: За животната средина. [Беззвучен] Дејвид Џ MALAN: Значи тоа е вистина. Но, вашите клиенти, Во меѓувреме, може да имаат iPhone телефони, тие би можеле да имаат Андроид телефони, тие би можеле да имаат таблети направени од страна на Microsoft. Па, како да имаат мобилни стратегија за сите овие различни корисници? Се чини дека ако тоа чини, да речеме $ 1,000 за да се направи на iPhone примена, тоа се случува да ве чини $ 2.000 до прават апликација за iPhone и Android апликација, или 3000 $ да, исто така, поддршка на уреди на Windows, како и. Тоа е веројатно доста потценување, и тоа дури и да не да биде линеарен однос како тоа. ПУБЛИКАТА: Ако сакате да имате еден стан или не, може да имате одговора веб-сајт. Дејвид Џ MALAN: Добро. ПУБЛИКАТА: Или можете да имате мајчин стан. Дејвид Џ MALAN: Да. Така што во сите овој контекст тука, ние сме биле зборува за она што би го нарекле мајчин апликации. Тоа е апликации кои се напишани на јазикот на тој уред. Значи мајчин јазик Objective-C или Свифт код, или во Java, или во C #. Што значи дека кога ќе го симнете, да велат Snapchat, популарна апликација, или кога ќе преземете Facebook за телефон, го преземате или верзија напишана за вашиот iPhone, или напишани за вашиот Андроид телефон, или писмени за вашата површина. Но, постои алтернатива. Како Оливие мислел на, што всушност може да се користат HTML 5 Наместо тоа, со користење на она што се нарекува веб- апликација, со која можете едноставно спроведување на вашиот мобилен присуство и било какви функционалност. Што мислам со мобилен присуство? Како вашиот веб-сајт кој има вашата контакт информации, листа на сите вашите производи, можеби има трговски количка, можеби ќе го продаде работи низ него. Без оглед на вашата апликација е, се имплементира, а не во Objective-C, или Свифт, или Java или C #, но во HTML 5, кој е јазикот баравме на вчерашната, со JavaScript и CSS. И, што е убаво за оние три е дека за да ги извршувате, треба само она парче софтвер? ПУБЛИКАТА: веб пребарувач. Дејвид Џ MALAN: веб пребарувач. И најдобриот знам, сите овие уреди доаѓаат со веб прелистувачи, па така корисниците не треба да се инсталирате нешто посебно. Така да само да му кажете на вашиот публиката, вашите клиенти, одат на acme.com во вашиот прелистувачот и само ќе имаат веб-базирани искуство кои се уште пополнува на екранот, Но, вие не мора да се грижите за сите овие трошоци и сите на оваа комплексност. Но, сигурно таму се случува да се фати тука, нели? Особено ако се истакне дека пред неколку години, првата верзија на мобилна апликација на Фејсбук беше главно барање HTML 5. И тие имаат, повеќе Неодамна, reimplemented тоа во своите други апликации. Па зошто би не веднаш сакам да кажам, Па, очигледно ние ќе треба да го направите ова? Кои би можеле да бидат скриени трошоци? ПУБЛИКАТА: перформанси. Дејвид Џ MALAN: Изведба? Како мислиш? ПУБЛИКАТА: На мајчиниот стан има повеќе перформанси. Дејвид Џ MALAN: Значи тоа е Точно, за неколку причини. Ние можеме да ги поедноставуваат одговорот. И се потсетиме на нашата дискусија на толкува наспроти Составувач јазици. Ова е HTML 5 и со неа, само за да бидат јасно, JavaScript-- најчесто се напишани JS-- и CSS се сите толкува јазици, иако само го вклучите Javascript- е програмски јазик. И така, наспроти овие, кои некои од овие се состави, барем овие three-- Objective-C, Java и C # - овие, во теорија, само треба да биде побрзо. Но, има една друга стварност for-- ПУБЛИКАТА: функционалности? Дејвид Џ MALAN: Што е тоа? ПУБЛИКАТА: функционалности. Дејвид Џ MALAN: функционалност? Како тоа? ПУБЛИКАТА: Користете ја камерата исклучите вашиот телефон или нешто слично. Можете да ги користите оние со прелистувачот. Дејвид Џ MALAN: Токму така. Тие се sec-- ПУБЛИКАТА: [Беззвучен] Дејвид Џ MALAN: Тоа е уште една добра. Има карактеристики кои доаѓаат со денешните мобилни телефони кои не се, од дизајн, за безбедноста причини, достапни на веб прелистувачи. Бидејќи тоа ќе биде вид на гаден работа, ако само кога ќе ја посетите google.com, или cnn.com, или било website.com, дека веб-сајтот има моќ да го вклучите на вашиот фото апарат, да се слика за вас, а потоа го користат. Но, вие не би сакале случаен веб-сајт да ја посетите за прв пат да го имаат тоа способност. И така она што телефон производителите обично го прават се тие само да одбие пристап со тој вид на информации на прелистувачот, што значи дека не може да се спроведе на камерата. Вие не може да се спроведе притисни известувања, сигнализација што ќе добиете на вашиот екран со кратки пораки. И всушност, дури и GPS е само еден вид на вид на располагање на веб прелистувачи. Ако некогаш сте се, на лаптоп или на мобилен уред, зафрла нешто како можеби cnn.com, но, исто така, објавија локалните вести станици имаат тенденција да го направите ова, ќе бидете прашани често со message-- foxnews.com сака да ја знаете вашата локација. Прифаќање или одбивање. Па, пребарувачот се обидува да пристапи вашиот GPS информации од вашиот телефон. Но, за среќа на Microsoft, и Apple и Google одлучија дека се чувствува како тоа е корисна ситуација, сакаме Google Maps и други алатки за работа, но ние не сакаме да се пренесува на луѓето надвор само со овозможување на било кој сајт да го направите тоа. Значи, да се вид на врска на половина пат и да го извести корисникот. Но тоа не е секогаш случај со сите хардвер, како на камерата и со притискање известувања и слично, па можеби ќе треба да се жртвува одредени функции. Но перформансите премногу. Тоа е сè помалку забележливо во денешно време, можеби како LTE фаќа за и побрзо интернет брзини на телефони, но може да се вид на почувствувајте ја разликата. Како web-базирана апликација само се чувствува побавно, обично, од една страна мајчин јазик апликација, делумно затоа што на веб-базирана апликација по дефиниција е на интернет. Тоа зборува на серверите на интернет. И ако вашата мрежна конекција е бавно, дури и лизгање може да е бавна. Но мајчин апликација, ќе мора веќе пре-downloaded-- веројатно кога сте биле дома од App Store, или барем да се пре-симне тоа во целост порано, без оглед на вашата speed-- врска па сега ќе ги имаат сите на битови кои генерално се што ви треба. Освен можеби некои податоци кој доаѓа од сервер. Значи овие се размени тука. Таму е вид на средината компромис, во факт. И мислам дека you-- ПУБЛИКАТА: Користете присутен на податоците. Во мајчин апликации, може да се [Беззвучен] Дејвид Џ MALAN: Апсолутно. Па таму е прашање на локално, која е навистина досадно Ако не можат да играат некоја игра или употреба некои софтвер само затоа што ти си во подрумот некаде или во лифт. А мајчин апликација е еластични со поголема веројатност против тоа, претпоставувајќи дека имате сите податоци што треба на локално ниво. Значи, постои и трета опција овде. И ајде да се подготви на спектар како мајчин стан тука и веб апликација овде. И, што е во средината е нешто called-- и мислам дека би можеле да имаат го користел зборот пред, можеби? Хибрид апликација. И како што зборот значи, тоа е нешто во средината. Тоа е вид на веб-апликација и тоа е вид на мајчин апликација. И што значи тоа? Излегува постојат frameworks-- да се користи терминот од earlier-- софтвер што другите луѓе го имаат напишано за секој еден од овие платформи. Овие и уште други уреди. Всушност, дозволете ми да одат на PhoneGap, која е една таква рамка која јас Верувам Adobe сопственик сега. Дозволете ми да одат, за да започнете. Ајде да видиме. Види дали може да видите листа на алатки. Хардвер. Прв чекори. PhoneGap хардвер. Ајде да видиме. PhoneGap хардвер пристап. Дозволете ми да се види дали може да се најде малку шема која што се користи за да имаат. Ова е на друг сајт. Ова е корисно? Бр Тоа е ќе загубиме нашето време таму. PhoneGap хардвер. Уреди. API уред. Не бе, што сум се преселил. PhoneGap. Ајде да одиме еден последен поглед во ова и види дали може да ви покаже. Прв чекори. Инсталирајте PhoneGap. Инсталирате мобилен стан. Ајде. Тие го реорганизира сè. Во ред. О, добро. Па, тука ќе одиме. Тоа не е на сите дека поучен, но тоа е она што јас бев вид барате. Значи PhoneGap е рамка што ќе може да го симнете бесплатно, кој ви дава некои стартер код, во суштина. Значи некој код кој тие го напишале тоа не направи многу за ништо. Но, она што ви дава во суштина е еквивалентно на апликација која само го става на голем правоаголник на екранот на корисникот. Тоа не се стави на URL-то бар, како интернет пребарувач, не се стави адреса. Тоа само го става голем правоаголник. И да го конфигурирате овој голем правоаголник, под хаубата, да се, всушност, оди до acme.com, или можеби m.acme.com, за mobile.acme.com, но корисникот не знае тие се на таа адреса. Сите тие го гледаат е Содржината на веб-страница. Но, она што е убаво за ова суштество стан хибрид е дека она што PhoneGap и други компании се даваат вас е тие ви даваат малку на код во Objective-C или Свифт, или малку на код во Java, или малку на код во C #, и во суштина, сите што треба да обезбеди е минимално на адреса на вашиот веб-базирана апликација. И тогаш ќе пакет ова сите заедно и ќе го или пристапете до вашите коментари сајт преку интернет, или дури и кеширање на локалните копирате во барањето, а потоа да ги зачувате вашите апликации во формат iPhone, Андроид телефон формат, површината формат, или било кој број на други уреди. Можете да испратите секоја од овие верзии на Play Store на Google, на App Store, на Windows Store, и така натаму. И сега, може да имаат сите на вашите публика преземете навистина мајчин стан, иако поголемиот дел од кодот е напишана од некој друг, но содржината на таа страна мајчин јазик стан сите доаѓаат, обично, свој веб-сајт. Така да продолжите со пишување на вашиот сајт во HTML, JavaScript и CSS. Па зошто да се замаглат овие редови? Зошто има примена хибрид тоа е вид на мајчин јазик, но, исто така, вид на веб-базирани? Што е целата поента на додавањето на оваа комплексност? Мислам, дури и се уште, само од обѕрне преку оваа страница, Прв чекори водич чувствува како тоа е мора во целина многу чекори за мене да се направи пред да can-- ПУБЛИКАТА: Преискористување? Дејвид Џ MALAN: Преискористување? Што мислиш? ПУБЛИКАТА: на изворниот код. Значи истиот код да се кандидира на сите различни платформи. Дејвид Џ MALAN: Да. ПУБЛИКАТА: [Беззвучен] Дејвид Џ MALAN: совршен. Ако времето е тесна и ако немаат дека многу developers-- можеби имаш еден развивач и тој или таа сигурно не знае сите овие environments--, секако, не е добро, и, секако, не знаат да програмираат во сите три истовремено и брод три производи во времето дозволено за еден, што може да го има или ја изгради сè во HTML и JavaScript и CSS, а потоа да научите малечки малку за мајчин апликации, само доволно за да ја преземете рамка, како таков, а потоа да испратите вашиот производ со сите на различните стан продавници така што сега ќе мора роден апликација. Така што изгледа како победа-победа, Но, повторно, да биде јасно, Кои се потенцијалните трошоците или gotchas? ПУБЛИКАТА: Изведба? Дејвид Џ MALAN: Да. Перформанси. Тоа е тешко да се опише вербално. Значи, ако сте само се на вера мобилна апликација, веб-апликација ќе обично се вршат побавно. Тоа не може да изгледа сосема во право, затоа што во iPhone, и Андроид телефони, и Windows уреди, има секогаш еден вид на стандардниот изглед и се чувствуваат сите копчиња и менија. И компании во мрежата, може да се обидете за приближување на тие естетика со библиотеките како подигање, но user-- остроумен user-- се случува да се знае дека нешто не е сосема во право тука. И тоа е во ред, можеби тоа не е голема работа. Но прашањето за ефикасноста апсолутно е голема работа. Мајчин апликации ќе имаат тенденција да се само да биде многу повеќе одговора и затоа подобро. И така, што тогаш би можеле да бидат најдоброто од двата света? Ако сте особено мал компанија или мала група, не имаат ресурси да се развие еден стан во паралела на сите три платформи, и искрено, се чувствува како тоа е лоша идеја во секој случај затоа што ако го промовираме и на сите три истовремено се реализира, ние треба да се додаде некои функции или направи нешто поинаку, сега ќе мора да го поправам во три места, а не една. Што е можеби оптимална стратегија тука во целост, Ако ресурси и време се тесни? ПУБЛИКАТА: Само го прави тоа на iOS. Дејвид Џ MALAN: Тоа не е неразумно. iPhone-, барем во САД, се супер популарни. Андроид се уште се чини дека имаат доминантно удел на пазарот, на глобално ниво, во целина. Така да не се мора претставник на целината на светот оваа недела. Но, тоа е апсолутно една одлука. Мислам, на кампусот тука јас дека некои крволочен број или процент на студенти има iPhone-и не Android телефони. Но, во странство, тоа е вид на спротивното. Така да одлучуваат врз основа на вашата публика. Како да знаете што вашата публика има? Па, ние научивме трик вчера. Можете да ги прашате. Ако имате заробеништво публиката можете да ги испратите форма на анкетата. Или пак само да го направи она што? ПУБЛИКАТА: Google Analytics? Дејвид Џ MALAN: Што е тоа? ПУБЛИКАТА: Google Analytics. Дејвид Џ MALAN: Google Analytics. Да. Или дури и повеќе вид на технички, само се погледне во вашиот сопствен веб сервери логови. Затоа што она што се случува секој пат кога некој пребарувач, дали лаптоп, десктоп или телефон посетат вашиот веб-сајт? Тие испрати дека HTTP заглавието дека покажува вас она што прелистувачот и оперативниот систем што го користите. Така може да се заклучи, со голема веројатност, она што вашиот демографски е со користење на тој начин а потоа се приспособат. Па претпоставувам дека е неприфатливо. Тоа е вид на лоши за бизнис, ако Андроид корисници не можат да купат нашите графичките контроли. ПУБЛИКАТА: Без разлика дали сте ќе се наплаќаат или не? Дејвид Џ MALAN: Дали ви се случува да наплаќаат? Па добро, ќе го добиете она што го плаќаат. ПУБЛИКАТА: Без разлика дали вашата апликација е ќе се да биде бесплатно или дали тоа е gonna-- Дејвид Џ MALAN: Добро. Па можеби и може да се надоместат трошоци на тој начин, or--? ПУБЛИКАТА: Читам една студија еднаш рече дека повеќе Apple корисници плаќаат за апликации versus-- Дејвид Џ MALAN: Тоа е точно бидејќи тие се веќе плаќаат повеќе за нивните уреди. Затоа, не е неразумно претпоставка. ПУБЛИКАТА: [Беззвучен] Дејвид Џ MALAN: Добро. Значи, ако тие се повеќе подготвени да платат, тогаш по ѓаволите со Андроид корисници. Тие не се случува да се плаќаат на нас, ништо во секој случај. Би можеле да се фокусираме на нашите приоритети, барем во првите неколку месеци или една година, на iOS. Сосема разумни. Што е поинклузивно стратегија од тоа? Maybe-- што е тоа? ПУБЛИКАТА: [Беззвучен] Дејвид Џ MALAN: А повеќе expensive-- па можеби и да инвестира повеќе in-- оди напред. ПУБЛИКАТА: Да. Само еден мобилен веб-сајт. Дејвид Џ MALAN: Значи се направи мобилен веб-сајт, а не дури и се грижат за овој комплексност. Или можеби разумна стратегија, што дури и Фејсбук зеде, е да започнете со хибриден апликација, бидејќи тоа не е дека многу потешко да го направите тоа отколку ова. Вие само треба да прочитате некои документација и да дознаам како за да испратите работи на App Store. Па можеби ќе почнете со ова, така што за еден ден, можете да ги поддржуваат сите на вашите корисници. И тогаш, исто како што се Фејсбук и други компании да се направи, кога ќе имаат ресурси, имате луѓе, зошто не се повторно спроведување само примена iOS. Сеуште имаш нешто за секого, иако тоа е инфериорен искуство можеби, со примена на хибрид. Но, можете постепено може да се тркалаат и да го замени вашиот краткорочни мерки на хибридни апликации со повеќе мајчин апликации. ПУБЛИКАТА: Но, со хибриден ви стан ќе имаат пристап до мобилни карактеристики? Дејвид Џ MALAN: Не е задолжително. Па можеби ќе се направи свесна одлука на почетокот на, Може да поставувате фотографии на мајчин iPhone апликација за Фејсбук, но не и за примена на Андроид, Првично, на пример. И тоа е малку бела лага, бидејќи веб апликации имаат повеќе ограничувања од хибридни апликации што се испоставува надвор, и ако ги читаме документација за PhoneGap и работи како што, луѓе имаат излезе со начините да им даде на веб-базирани апликации пристап до камерата, толку долго како се користи хибрид апликација. Како ли тоа работа? Бидејќи хибрид апликација, по дефиниција, има малку на код во Objective-C, и Свифт, и Java, или во C #, да има пристап на хардвер. Не мора да значи сè, но тоа многу добро може да да биде случај дека имате доволно за да добијат пристап до камерата, дури и за Андроид платформи, за На пример, во тој измислена пример. Било какви други прашања? Во ред. Зошто не ги земаме 15 минути пауза тука. Ние ќе продолжи во три со правосилна се погледне на веб програмирање, бази на податоци, и го вклучите Javascript-.