David J. Malan: Takže jsme zpátky. Takže na vysoké úrovni téma v současné době nyní je technologie komíny, což není Zvláště technický termín, je to spíš o úlovku vše jakýkoliv počet kombinací technologií které můžete použít k řešení problémů. A možná nejvíce montáž způsob, jak začít by bylo podívat se na jazyky, protože Pořád drnčení pryč spoustu a téměř všichni v místnosti má pravděpodobně slyšeli alespoň jednoho. A tak proč se snažíme odlišit what-- odlišit tyto jazyky a krátce pohovořil o tom, kdy byste zvolit jeden přes druhého, jak jsou nějak zásadně různými způsoby, zejména když jste chatování s inženýry, nebo se snaží rozhodnout, koho zaměstnat, nebo co implementace Návrh na greenlight, jak byste vlastně dělat tyto druhy rozhodnutí. Takže řekněme, chrastění některé věci pryč. Z jazyků mají lidé slyšel o to, co přijde na mysl? C. OK. OK, C ++. Co to je? Diváků: Python. David J. Malan: Python. Vynikající. Co dalšího? Visual Basic. Slyšel jsem, že Java. Vizuální Basic-- alias VB. Jáva. NET, což je více chytit všechny za to, co je obvykle C # jako jazyk v otázce. A dovolte, abych zmínil. Takže se vrátíme k tomu. Omlouvám se? Promiňte? Diváků: SQL. David J. Malan: Scratch? Diváků: SQL. David J. Malan: Oh, SQL. OK. SQL. Takže se vrátíme k to-- ve skutečnosti, je to good-- po přestávce stejně. Co dalšího? Diváků: Oracle. David J. Malan: So Oracle, není jazyk. Ve skutečnosti by se používat SQL stejně. Dejme tedy, že po přestávka stejně. A mrzí, něco tady? Diváků: Mathematica. David J. Malan: Mathematica? OK Jistě. A MATLAB je v jistém smyslu tam občas. Diváků: R. David J. Malan: R. Pojďme sem. Fortran. Jistě. Starší školu. Fortran. COBOL. Budu vyhodit BASIC. ZÁKLADNÍ. Žádný-- Diváků: MATLAB? David J. Malan: MATLAB. Oh, beat vás k němu. Nic? Neumím si představit pár druhých. Neumím si představit několik dalších. A jaký byl naposledy? Diváků: ASP. David J. Malan: ASP? To jo. Stránky Active Server. To by obecně spadají další jazyky, někdy C #, tak to si necháme off. Ale vrátíme se k tomu u rámců a podobně. Něco dalšího? PHP je populární. Ruby je další. JavaScript, nesmí být zaměňována s Java, je jiný. To je trochu hodně. Takže to může být jistě ohromující, jako kdyby seznamu již není, prostě začít vědět, kde začít. A tak naštěstí, pojďme přistupovat z několika úhlů. Za prvé, pojďme se snaží roztřídit alespoň některé z těchto jazyků do dvou širokých kbelíky, připomínající rozhovor jsme měli před přestávkou, kde jsme si povídali o kompilaci, a zdrojový kód, a strojový kód, protože to není, jak všechny jazyky fungovat. Takže budeme vyklovnout několik příkladů of-- nebo proti examples-- uvedeného modelu. A pak, proč ne my mluvit o aplikacích že tyto jazyky se obecně používá. A upřímně řečeno, přestože To je docela dlouhý seznam, je to jen podmnožina tohoto seznamu, který by obvykle čerpat z těchto dní řešit problémy. Některé jazyky jsou novější než ostatní. Některé jazyky populárnější než ostatní. Tak to není, jako máte takový ohromující úkol před vámi Při rozhodování mezi tyto různé jazyky. Tak jdeme na to. Měli jsme starší, zdrojový kód, a pak jsme měli strojový kód. Pokřiky. Psaní špatné slovo. strojový kód. A my jsme měli nějaký proces v prostřední called-- jo, kompilátoru. Takže kompilátor. A co je strojový kód ve skutečnosti běží na na konci bude vaše skutečná CPU. Jinými slovy, strojového kódu, I znamenat instrukce na nejnižší úroveň že procesor ve skutečnosti chápe. Sčítání, odčítání, stěhovat, ukládat a operace podobně. A tak toto je model pro to, co je obecně známé jako kompilované jazyky. Není asi překvapením. Tak tohle je model Pro kompilované jazyky. Ale ukazuje se, je tu další třída jazyků volal interpretovány languages-- vykládán languages-- že jsou mírně odlišné. Píšete ve zdrojovém kódu, spouštět je prostřednictvím tlumočníka, a že interpret je co běží na procesoru. Jinými slovy, to, co děláte ne Posílat je to, co očividně? strojový kód. Nuly a ty, které CPU Samotný nakonec chápe. Takže v této první verzi a jazyky jako C, stejně jako jsme viděli, píšete ve zdrojovém kódu to je trochu tajemný, ale aspoň je to trochu anglicky-like a to nejméně čitelná jakmile si na to zvyknout. Můžete jej spustit pomocí překladače a ven dostanete nakonec i nul a jedniček. Že jako zjednodušující. Tam jsou některé další kroky tam. Ve skutečnosti, pokud jste někdy slyšeli Výraz "jazyk symbolických instrukcí," To je jeden krok před se nuly a jedničky. Že trochu lépe čitelné, ale stále dost tajemný. A tak je tu mezistupně které jsou ve skutečnosti děje. Ale výstup, nakonec, Právě tyto nuly a jedničky. Ale v interpretovaný svět, kde máte jazyky, které jsou interpretovány jazyky, ve skutečnosti vynechat tento krok. Jinými slovy, když píšete Program, stačí spustit okamžitě ji. Nemusíte ji sestavit a spusťte jej, jak jsem předtím. Stačí napsat to a spusťte jej. A pokud chcete provést rychlou změnu, uděláte rychlou změnu a spusťte jej. Takže není prostřední krok zde. Nyní pro tento program jsem napsal dříve, který byl tento "Hello World" program byste mohla rozumně wonder-- nebo by mohl rozumně state-- že nebyl ten čas náročné sestavit svůj program. Zdá se, že to udělal právě takhle. A je tu grafický verze kompilátorů. Já používám velmi tajemné verzi, ale mohl zasáhnout tlačítko přehrávání a že by ve skutečnosti dělat kompilace pro vás. Jsem sestavil program a poté opět jej spustit, jen jsem to udělat. A to výstupy vlevo tam, "Ahoj!" To se mi nezdá, že všechno nevýhodné. Ale když vaše programy jsou více než jen jeden, dva, tři, čtyři, pět linek dlouho, může trvat mnohem více sekund sestavit. Někdy dokonce minut nebo docela dost času na kompilaci. Koneckonců, některé z Největší produkty světoví jsou věci jako operační systémy, Microsoft Word, Microsoft Excel, který by mohl být stovky tisíc nebo dokonce milióny řádků kódu dlouhých, a ty, které nejsou jen ihned spustit. Kromě toho, na webu, je to Stalo se módou používat prostě interpretovaný jazyk, zčásti proto, že vás lze provést změnu jako vývojář a pak už jen okamžitě přeložit stránka prohlížeče a okamžitě vidět výsledek. A tak HTML, i když není programovací jazyk, je jazyk, který je interpretován. A my jsme viděli, že stejný efekt včera. Jen načtení stránky po provedení změna Cloud9 a-- voila-- uvidíte nový výsledek. Takže to, co je tady v tom rozdíl? V HTML, recall, měli jsme otevřené HTML, otevřená hlava, otevřený titul, v blízkosti názvu, V blízkosti hlava, otevřená karoserie, a tak dále. Měli jsme všechny z těchto značek, které jsme dost mnohem řekl, řekni prohlížeč co má dělat. Hej prohlížeč, přichází HTML stránky. Hej prohlížeč, přichází titul. Hej prohlížeč, přichází některé text, který by měl být tučným písmem. A pak řeknete opak. Hej prohlížeč, to je ono Pro tučně textu. Hej prohlížeč, že je to pro tělo. A tak dále. A tak to, co je prohlížeč? Prohlížeč je jen interpretem. Jedná se o program, který někdo jako Microsoft nebo Google napsal, jehož smyslem života je číst jazyk, známý jako HTML, a interpretovat. Shora dolů, zleva doprava. A kdykoliv prohlížeč vidí otevřené držák, titulní, úzkým držák, to by mělo interpretovat, že v tom smyslu, oh, že znamená, že by měl dát tyto slova cesta tady v horní části prohlížeče. Tak to prostě dělá to, co HTML kód říká. Ale není nul a jedniček. Neexistuje žádná kompilace. Vy to neudělal. Prohlížeč to neudělal. Je to prostě není zapojen. Takže v duchu těchto probíhajících témat, dnes a včera, která se zdá být báječný funkce. Šetříte svůj kód a poté stačí jej spustit, nebo jej interpretovat. Neexistuje žádné mezistupně. Jistě tu stojí? Nemůže být všechny Upsides. Takže to, co by mohlo být, že náklady? Diváků: Space. David J. Malan: Space. Takže, jistě. V kompilované světě, máte nejen původní zdrojový kód, jste také vytváření a pak pravděpodobně ukládání Stroj code-- nuly a ones-- a to dostal do zabírají určité množství prostoru. Absolutně. Tak to vás to stálo více prostoru. To jo? Diváků: prohlížeče mohou interpretovat různě. David J. Malan: prohlížeče mohou interpretovat různě. To je pravda. Ale nejsem si jistý, že jsem komfortní prohlašovat to je, protože je to interpretováno. To je víc, jen proto, že je to implementace jazyka která sama o sobě má nejasnosti. Takže pojďme ne zcela potvrdit že jeden, ale dobré tušení. Co jiného by mohla být cena zaplacená? Andrew? Publikum: Ty kombinující dva kroky, takže si proto mají rostoucí složitost stejně. David J. Malan: The complex-- zvýšení složitosti, kde? Pro koho? Publikum: Takže v interpret krok, budete kombinovat tlumočníkovi a kompilátor jen za vedoucí to-- David J. Malan: Ach, OK. Je ironií, že je to asi trochu jednodušší implementovat interpret, i když by se mohlo zdát, aby výnosové Upsides tohoto pohodlí. Takže možná pravda. Ale docela to záleží, myslím, by se říci, na jazyku a na tom, jak šli o jejím provádění. Tam může být mnohem více složitosti, ve skutečnosti, v kompilátoru, Jen proto, že máte jít od něco tak vysoké úrovni k něčemu tak nízké úrovni. Ale dobrá myšlenka. Takže jinak řečeno, je sestaven program když proměnil těchto nul a jedniček, končí v jazyce že procesor mluví, že v této straně world program jste napsali, kód jste napsali, ve skutečnosti nikdy dostane přeměněn na skutečné jazyka počítač mluví. V nuly a jedničky. Zůstává v původním, lidštější přátelský, čitelnější jazyk. Takže to, co by mohlo být implikace tam, pokud nemáte ve skutečnosti obtěžovat převod program samotného jazyka že základní počítač mluví? Diváků: nemusí něco pochopit? David J. Malan: Might nerozumíte. A to může claim-- pokud to nechápal něco, to je chyba nebo nedostatek z funkce v interpretu. Tak, že by byl na chyba než náklady. Publikum: Máte přístup do zdrojového kódu? David J. Malan: Je tu dobrý. Takže Nevýhodou zde je, Zdá se, mít přístup. Ty, koncový uživatel, by se mohlo zdát mít přístup ke zdrojovému kódu. A to není vždy pravda. Ale je pravda, v Případ JavaScriptu což se podíváme na později přestávka dnes, což je interpretovaný programovací jazyk že píšete ve zdrojovém kódu. Ale to zdrojový kód dostane převedeny z vašeho serveru do prohlížeče a běží v prohlížeči lidském to. Tak tady mohla jen otevřít okna, jako jsem dělal v Chrome, a podívat se na to, jak jsme sami Podíval se na včerejška se společností Google. Mohlo by to vypadat trochu nesrozumitelný, ale je to tam. Tak to je naprosto jedno cena zaplacená. Diváků: Performance hit? David J. Malan: Jo. A to je další potentát. Tam je výkon hit. Protože máte tento prostřední muž, který sám o sobě je program, mezi vámi a CPU, na rozdíl od jen krmení těchto syrový nuly a jedničky do procesoru, je tu výkon hit, který vás vzít s interpretovaný jazyk. Tak, že libovolně, program že může trvat jednu sekundu spustit na počítači nebo v jednom minuty běžet na počítači tady, může trvat 10 sekund nebo 10 minuty běžet na počítači zde. Je to obecně nebude, že velký difference-- faktoru 10-- protože je tu optimalizace, které můžete udělat. Ale je to téměř vždy pomalejší. Nyní, odvrácenou stranou k tomuto problému je to, že dobře počítačů, každý 12 až 18 months-- dle Moorův zákon, tak aby speak-- jsou jen dostat rychleji a rychleji. Mám stále více a více místa na disku. Mám stále více a více paměti RAM. Kdo opravdu zajímá? A to je něco jako rozumný argument. Jedním z důvodů, proč Proto můžeme tolerovat pomalejší interpretovaný jazyk, protože je my lidé nemají opravdu nevšimne. Počítače mají dostali jen tak zatraceně rychle. Vzhledem k tomu, zpět v den, a to zejména Při hardware byl mnohem více omezen, jste měli méně všeho, to bylo mnohem dražší takže vše jsou dražší, no a pak jste opravdu chtěli vytlačit tolik výkonu, jak byste mohli. Ale to požadováno písemně nižší úrovně, chcete-li, s kompilované jazyka. Takže jste si vzít tento výkon hit. Ale obecně, je Upsides Zdá se, že stojí za to v těchto dnech. No, s výjimkou Problematika duševního vlastnictví. Taková čitelnosti kódu, my budeme vrátit, když se podíváme na JavaScriptu. Takže pojďme se pokusit zařadit alespoň některé z nich. Takže mezi kompilované jazyky, my by měl C, C ++, trochu, sorta, Java, I když je to trochu výjimkou, protože Důvody Ukážu vám za chvíli. C # by se na tomto seznamu. Podíváme se na více těsně čím více moderních jazyků. Dobře. A že se zdá, jako spousta tam. Zatímco na této straně plotu, bychom mohli mít JavaScript a Python, a PHP a Ruby. A je to dost pro ty novější? Že se cítí jako spousta nyní. OK. A pak dot dot dot, protože seznam je nekonečný. A ve skutečnosti, chceme-li jen získat představu o tom tohle-- Wikipedie, kompilovaný jazyk. Hádám, že se můžeme dostat daleko více vyčerpávající seznam. Tak jdeme na to. Tak tady je mnohem více vyčerpávající seznam. A já jsem doufal, že někdo by se hádat D jako jazyk, protože to také existuje, ale oni zastavili u D by se mohlo zdát. Ačkoli tam ve skutečnosti může být E. Oh, ve skutečnosti, mělo by to být na seznamu těchto dnech. Swift je vlastně jazyk, který Apple vynalezl který je nyní používán, stále tak ve vývoji iPhone. Ale vrátíme do že s naší diskusí z mobilního telefonu v jen trochu stejně. Takže Swift stejně. A pak, pokud jdeme do vykládán language-- interpretovat language-- pak tady ještě delší seznam stejně. Takže jen google pokud vy a hledat na Wikipedii pro ty, uvidíte všechny druhy jazyků. Ale účel je, pro dnešek opravdu, jen scvrkává na to možná Problematika duševního vlastnictví a čitelnost koncovým uživatelem a výkon, je další potentát stejně. Takže mezi těmito jazyky, Podívám se, jestli vám můžeme dát jen některé vzorek jazyků. Nechceme projít všechny jazyky do nekonečna. Přemýšleli jste někdy, co jistá jazyková vypadá? Udělali jsme vidět před chvílí. Proč bychom trvat několik z funkce požadavky. Kdo by chtěl vidět, co jiný jazyk vypadá? To jo. Diváků: Java. David J. Malan: Java. Dobře. Tak pojďme k Javě. A jen proto, aby vám ukáže sample-- můžeme vypsat všechny tyto ven, ale to by bylo rychlejší jen proto, aby podívejte se na ukázkový kód někoho jiného. Dobře. Takže je to dobrý příklad? Pokřiky. OK. Tak tady je Java verze Program jsem napsal dříve, "Hello World". Takže Java, budete často vidět "třídu." klíčových slov Pak uvidíte nějaké jméno po tom. Uvidíte složené závorky jako jsme viděli předtím, a někdy jdou na Stejný linka, někdy i jiné linky, je to něco osobního rozhodnutí. Uvidíte klíčová slova jako "Veřejný", "statické", "void". Ale my jsme viděli "hlavní". "Main" je obecně název výchozí funkce nebo výchozí kus kódu, který dostane spustit v programu. "Řetězec". Co tím máme na mysli řetězec dříve? Použil jsem ji trochu nedbale. Řetězec je co? Slovo. Je to jako posloupnost znaků. Jednotlivé znaky, Zpět na zády k sobě, obvykle v poli, jak jsme diskutovali. A ve skutečnosti, vidět tuto syntaxi Zde jsou dvě hranaté závorky? To znamená, hej počítač, zde přichází pole řetězců. Notace hranatou závorku je běžně používá k označení, že. A pak můžete pravděpodobně trvat guess-- co to zdůrazněno kus kódu pravděpodobně dělat? Diváků: Výstup? David J. Malan: Jo. Tiskne něco na obrazovku. Takže "systém" je něco jako Odkaz na počítači. "Out" znamená, že váš počítač je Výstup nebo na obrazovce. Takže "system.out.print ln" Pravděpodobně to znamená? "Ln". Tisk čára, která programátory, jako je se zřejmě hláskovat některá slova ven v celém svém rozsahu a vzít zkratky s jinými slovy. Ale "ln" je řada, takže tisk online. Tak to vytiskne "Hello World! "Následuje nový řádek. Tak je to. Ale Java je to, co bude Výzva objektově orientovaný. A skutečně, jen se získá pár dalších definic tam, že byste mohla viz, obecně, tam Je mnoho různých typů jazyky, ale nejčastější jsou procedurální či rozkazovací jazyky. Tam jsou funkční jazyky, která neobsahuje znamenat, že jiní jsou nefunkční. A pak je tu objektově orientované jazyky. A to je možná nejlepší kategorizace většině jazyků že byste někdy zvolit pro druh typického komerčního projektu. To by bylo příliš mnoho, Myslím, že z otvoru krysy jít dolů, aby se pokusili vysvětlit různé rozdíly. Ale jazyky Viděli jsme tedy far-- C je procesní nebo imperativem jazykem. V poslední době vynalezl jazyky mají tendenci být, je mi líto, objektově orientovaný, což znamená, mají další funkce k nim. Mohu to vysvětlit tímto způsobem? Pojďme ani tam dolů. Objektově orientované prostředky můžete implement-- můžete modelovat reálný svět o něco efektivněji. Lidstvo, v průběhu času, přišel na to, wow, to by bylo, kdyby mém jazyce pěkný měl tuto funkci, nebo tuto funkci. A to je důvod, proč máme tak mnoho jazyků na světě. Rozumní lidé, smart lidé, souhlasí nebo nesouhlasí a vždy nějak sejít na vývoji nových jazyků dohromady. Názorný příklad. Apple vynalezl Swift v naděje pravděpodobně sníží tyč k rozvoji iPhone, protože předchozí language-- volal Objective-C, což by mohlo být také v našem seznamu here-- Byl mnohem tajemný a hodně obtížnější zábal něčí mysl kolem. A jak programování se stává pravděpodobně přístupnější a obecněji přijaté lidé dokonce menší technické se goal-- Je to velmi statečný cílem pokusit se snížit překážky vstupu na trh tím, že samotní jazyky snazší začít s, ale neméně silný nutně. A jeden další jazyk. Proč bychom se podívat na něco jako Python, což je velmi v módě v těchto dnech. Krajta. Ukázkový program. Uvidíme. "Hello World" jazyky. Pojďme to udělat. "Ahoj světe." Uvidíme, jestli to dává us pěkný příklad. OK. Takže je to vlastně trochu legrace. Takže někdy google, pokud "Hello World", který se stane, že jeden z prvních programů kdy byla napsána v moderním jazykem, stejně jako důkaz pojetí, můžete vidět všechny druhy implementací tohoto. Některé z těchto jazyků Jsem ani neslyšel. Ale můžete see-- pojďme do Basic, ten, který jsem se naučil před lety částečně. Jednalo se o zábavný jazyk, protože vás musel, jako programátor, číslo všech svých linkách. Ne na rozdíl od toho, co jsem byl dělal, když jsem psal pseudocode na žlutý dokumentu dříve pro binární vyhledávání, pro vyhledávání telefonní seznam. A tak, pokud byste chtěli jít na jinou linku, byste doslova psát, přejít do 10, nebo jít do 20 ° C. A pokud píšete linky, konvence měla udělat, je to linka 10, To je v souladu 20, to je v souladu 30, 40, nic mezi tím, čímž si nějaké místnosti Pokud se rozhodnete, počkej, Měl jsem přidal některé více kódu někde jinde. Stále měl jakousi devět šancí na zmáčknout, že mezi programem Než jste museli ručně přečíslovat všechno. Tak to je druh, co mám na mysli když říkám, že svět má přijít s novými funkcemi. Někde po cestě někoho si uvědomil, chlapec je to hloupé. To je jen vytvářet pracovat pro programátora. Tak on nebo ona jen tak postaven nová vrstva na vrcholu, že takže nemusíte mít strach O tom, co řádek čísla kódu je ve skutečnosti na. Takže když můžete zvolit jeden jazyk nebo jiný? No, kdo by z nich Jazyky Máte tendenci kdo se dozví o nejvíce si svůj vlastní svět v těchto dnech? Pojďme rozbalovací Objective-C taky. Diváků: C #. David J. Malan: C #. Tak ať mi barvu. Ještě máme jinou barvu někde? Takže C #. A co víte o C #? Cokoliv na jaře na mysli? Diváků: Je to programovací jazyk. David J. Malan: Je to programovací jazyk. OK. To je pravda. Takže mluvíme o C #. C # má tendenci být použity v prostředí Windows, takže pokud píšete software společnosti Microsoft pro Windows, C # je velmi často používán, ať už je to pro desktop software, nebo i software telefonu na telefonech Windows, pokud jste měli ty, nebo na webu až příliš. A ve skutečnosti, možná Kareem zmíněný ASP dříve? Takže je tu také tyto věci zvané rámců, které můžeme představit podle přípony. Rámců, jako je ASP. Stojany pro aktivní stránkách serveru. A to je kód a způsob programování která obecně usnadňuje psát webové aplikace. Jinými slovy, to by bylo super, Super nepříjemné psát webové stránky v jazyce C, který jsme viděli dříve, protože budete muset použít tisk + F, budete muset použít tento klíčové slovo "Hlavní" a složené závorky. Mnoho tajemné syntaxe a přístupu k provádění něco, co je poměrně složitý. Webové stránky. A tak další jazyky se vyvinuly aby se takové věci jednodušší. A naopak, lidé mají přijít s rámovou konstrukcí, tak nějak nástrojů které můžete použít, že dělat to ještě jednodušší psát webové stránky. Tak například, aby se Tento mnohem konkrétnější, dovolte mi otevírají jen textový soubor na chvíli. A vy byste mohli vzpomenout včera že jsme si řekli něco podobně, to je webová stránka. HTML. Close HTML. Dovolte mi přeskočit hlavu a prostě tělo zde. Představme si, že jsem chtěl psát ne "Hello World" ale "Ahoj Davide," kde je David jméno aktuálně přihlášeného uživatele. Co se něco podobného ASP bude dělat, nebo JSP-- což je Java serveru nebo pages-- libovolný počet dalších rámců Je to nejsou jazyky, samo o sobě. Jsou stejně jako dodatečný software, který vám by nainstalovat do vašeho prostředí že právě usnadňují programování. Tak například, spíše než muset udělat něco jako "Ahoj, printf (" David ")" nebo něco, co je druh ko-mingling-- druh kódu jsme viděli before-- bys něco mnohem jednodušší, jako "name%." A tak tyto rámce, jako ASP-- a I Nevzpomínám si, jestli jsem Začínám syntaxe právě pro ASP. JSP je little-- je to pravda? Tak s ASP, to je jakýsi speciální syntaxe že někteří vývojáři se rozhodli to může pomáhat lidem ven. A mohu vyjádřit stručněji zástupné symboly, například. Stejně jako dát hodnotu tady, kde Tento název hodnota není N-A-M-E, je to nějakou hodnotu v nich uloženy. Takže "name", v tomto kontextu, bychom nazvali proměnnou. Algebra má proměnné jako x a y a z. Programátoři používají proměnné, které jsou popisnější než X, Y, a Z typicky. Takže "name" by doslovně být nějaký druh paměťového kontejneru pro něco podobného D-A-V-I-D, pro mé jméno, nebo kdo jinak je přihlášen do webové stránky. A tak to je ten druh pohodlí získáte s určitých prostředích. Takže C # a něco jako ASP by velmi běžně se používají ve světě Windows, ať už jde o jeho plochu software nebo web server, zvláště pokud jsou servery na oplátku systémem Microsoft Windows a Microsoft IIS-- nebo Internet Information Server, když jsem si zkratku right-- což je web server Microsoft. Takže to, co jiné jazyky jsou lidé obeznámeni s, nebo jste slyšeli o častěji než ne? Diváků: Já vím, že je Python druh populární [neslyšitelné]. David J. Malan: Velmi populární. Takže Python je zde použit velmi často ve vědeckých aplikacích nebo dat věda, kde máte hodně dat, které chcete analyzovat a chcete použít programovací jazyk pro něj. R mohou být běžně používaný pro které jakož i, ve statistické kontextu. Ale Python má tolik funkce postavena v roce. Tolik dodatečné knihoven, jak lidé říkají. Knihovny jsou jen sbírky kódu, který ostatní lidé napsal, že můžete použít tak, aby vás Nemusíte znovu vynalézat ty kola. A tak Python je velmi často používán v datové vědeckých aplikacích. Ale je to také velmi často používá ve webových aplikacích. Můžete implementovat dynamický webové stránky pomocí Python. A dynamickou webové stránky, já znamenat nejen statický obsah jako jsme vytvořili včera tím, že Jen těžko kódování v latinském textu a jiné takové věci, ale spíše schopnost přihlásit, možnost koupit něco, možnost check-out se svými nákupních košíků, nebo podobně. To vše vyžaduje dynamiku a vy Potřebuji jazyk, jako je jedna z nich. Diváků: Takže to Python mít vlastní rozšíření, podobně rád [neslyšitelný] David J. Malan: to dělá. Takže ve světě Python, Django je velmi oblíbený framework pro Python. WSGI je jiný mechanismus, který je nějak odlišný od toho ale podobný v duchu. Je to add-on, který umožňuje spustit Python kód na serveru. Je tu other-- jo. Tak to budeme nazývat rámců. A je to trochu zneužití. Jedná se spíše o technologii webového serveru. Ale budeme držet to jednoduchý a dal je v tomto sloupci nicméně. OK. WSGI. WSGI. Další thing-- a ve skutečnosti, ať mi navrhnout, aby se na jeho vlastním sloupci, protože bych křičet na sebe pro jejich uvádění ve stejném kbelíku. Řekněme to na serveru rysy, řekněme. To není technický termín. Takže tady bychom mohli být WSGI. Je tu CGI, který je starší Technika servírují jazyky jako Perl nebo PHP, nebo některé další. Opět jsem se zmínil tyto podmínky ne tolik, aby nějak barvit je, ale tak, aby pokud vidíte z nich je to něco, prostě google se dozvíte více. Není tam žádný skutečný šťáva na některé z těchto věcí. Ale vraťme se k jazykům. Mluvili jsme o C #, Python. Co jiného můžete použít pro webové programování v těchto dnech? Zaměřme se na to pořád. Diváků: PHP. David J. Malan: PHP. A pojďme vrátit se k tomuto jeden. Takže PHP je velmi často používán. PHP má tendenci se dostat špatný rap. Začalo to jako jazyk implementován o lidi, kteří možná nebyli nutně Nejlepší jazykoví návrháři. A tak si můžete přečíst všechny druhy Články on o tom, jak špatná je PHP. A bohužel, to je projevem, v části, pouhého náboženské debaty že vypuknout mezi programátory. A to je něco, stojí za to mít na paměti, z obchodního hlediska, že je to pro technické lidi velmi snadné aby všichni pracovali se svými názory na některé věci. A nemusí to nutně znamenat, že ten ječí nejhlasitější nebo s nejsilnější, nejrozzlobenější názor je v pořádku. Mnohokrát, je to opravdu prostě nezáleží. A tak lidé jsou jen dohadovat cokoliv jejich vlastní předsudky nebo komfortní zóny. A tak byste měli mít na paměti, že při vytváření rozhodnutí, že právě protože někdo říká, je to ten správný jazyk pro úloha, která by mohla být pravda, ale také to může být, že je správný jazyk v rámci vlastní dovednost nastavit nebo komfortní zóna. Což není špatné, ale měli byste si uvědomit, že mohou existovat nějaký kontext. Tam jsou některé objektivně chybné výroky, jako C je nesprávný jazyk používat v těchto dnech pro realizaci webové stránky Skoro pořád. Ale to není nerozumné říci, že některý z nich jsou špatné, že jsme kroužili tak daleko. PHP prošla mnoha variantách. Takže jazyky mívají verzi Čísla jsou s nimi spojeny. PHP je až Myslím, verze 7 nyní, tak to bylo po nějakou dobu. A jak jazyky dostat novější, často získat nové funkce. Ale musíte dbát na to protože pokud vaše webové stránky byl implementována ve verzi 7 PHP, ale snažíte spustit své webové stránky, nebo možná jste externě vývoj kódu na někoho jiného a e-mail to s vámi nebo jej poslat na vás a říkají tady, dát tento na webovém serveru, pokud váš webový server je málo let outdated-- ať už je to svůj vlastní server nebo web host-- to nemusí ve skutečnosti běžet. To jsou druhy věcí, které někdo musí být vědom při aktualizaci webu nebo prováděcích ji poprvé. Slyšel jsem JavaScript dříve. Takže JavaScript je zajímavý jeden v tom, že je obecně na straně klienta, jak uvidíme po přestávce, která znamená, že běží v prohlížeči uživatele. Ale můžete také spustit JavaScript v těchto dnech použitím něco, co nazývá Node.js, kde Node.js je mechanismus pro běh kód JavaScript na straně serveru, namísto použití Python, nebo PHP nebo jiné takové jazyky. JavaScript je zvláště vhodná chatu aplikace a v reálném čase aplikace, zatímco PHP není velký jazyka k realizaci něčeho jako serveru chatu, kde uživatelé zůstat ve spojení s ní neustále. PHP je více mě navštívit jednou vrátit výsledek, a potom klepněte na tlačítko jiný odkaz některé vteřin nebo minut od této chvíle. Zatímco Node.js a JavaScript mohou být používá spíše pro trvalé připojení. Jiné jazyky, které jste podezření jsou běžně používány pro webové věci? Diváků: jQuery by být vytvořen rámec? David J. Malan: Dobrá otázka. Ani. Nazval bych jQuery knihovnu, kde Znovu knihovna je jen banda kódu že někdo jiný má napsal, že obecně řeší některé problémy, Díky tomu, doufejme, jednodušší pro vás dělat svou práci. A dovolte mi udělat jeden příklad to v rámci webu. V rámci tohoto pásu je tu Tento jazyk, JavaScript, že uvidíme později, kdy vás by mohl říci něco jako tohle-- "Document.getElementById." A co říkám to včera? Za prvé, myslím, byl jedinečný identifikátor jsem dal k prvku, který vypadal takhle. "P id =" první ">" a pak jsme měli jako "Lorem ipsum", et cetera. Takže když jsem psali program v JavaScript nějak manipulovat, Změna webových stránek, které jsme hráli s včera, Chtěl bych použít zvýrazněný řádek kódu získat konkrétní fragment HTML z mé straně, že konkrétní uzel, jak budeme říkat. Nicméně, v jQuery, místo psaní to, což je surový JavaScript code-- jen po vybalení z krabice, to je jak na Vás napsat to-- byste místo toho jen říci, "#První." To je ekvivalent. A tak založena pouze na této velmi tajemný příklad, co možná je argumentem pro využívání jQuery? Proč by vývojář použít knihovnu jako jQuery, na základě této izolované příkladu možná? Diváků: Méně kód. David J. Malan: Jo. To je méně kód. Je to prostě rychlejší psaní. Protipólem je že to vypadá děsivější. Nemůžete opravdu číst to zleva doprava. Ve skutečnosti, protože je to většinou interpunkční nyní místo aktuální slova, Mohu druh usuzovat, že "Document.getElementById" dostane prvek z dokumentu podle jeho ID. Opravdu mohu použít žádný takový mnemotechnické pomůcky z této věci zde. Takže je to kompromis. Je tu propracovanost, který přichází často s použitím knihovny, zejména jako jQuery. Ale realita je jQuery má laskavý of stal de facto standardem, takže téměř každý tito dny kdo píše kód JavaScriptu používá jQuery nebo něco podobného to líbí, a už ne píše Tyto podrobného výrazy jako to, protože opět lidstvo se naučil, wow, to bylo druh promarněnou příležitostí aby se náš život jednodušší. Takže lidé, aby jejich život jednodušší. Dobrá otázka. Jiné jazyky, aby zvážila. Řekl bych, že mezi tato Seznam Ruby je docela populární. A tak ve světě Ruby, tam je rámcová zvané kolejích, což je velmi populární. Takže Ruby on Rails je běžně používaný výraz. Také v tomto světě, dovolte mi, abych Kruh Java pro web věci, kde ve světě Javy můžete mít JSP, nebo Java Servlets, což je běžná technika. A to je jen opět způsoby využití že jazyk v serverovém prostředí. Co to tedy znamená? Pokud máte fyzický Server, byste doslova stáhnout software webového serveru a nainstalujte ji takovým způsobem, že máte podporu pro jeden z Tyto rámce, se kterými mohl na oplátku, použijte jednu nebo více z těchto jazyků. A ve skutečnosti, pokud se zaregistrujete pro jako poskytovatelů webhostingu nebo některé z oblaku Služby jsme si povídali o včera, často Věci prostě přijde s Konfigurace stroje pro vás. Nemusíte ručně nastavit toto nahoru. Ale kdyby to udělal, to je místo, kde role administrátora systému, tak říkajíc, vstoupí do hry. On nebo ona by vlastně dělat Tento druh věcí pro vás, nebo takzvaný webmaster by to často dělají za vás. Dobře. Jakékoli otázky týkající se některé z nich tady? Nebo jakékoliv příležitosti na vše se zeptat jazyky? Kostry? Pak dovolte mi představit jen jeden další knihovny To je také velmi běžné v těchto dnech. Tento seznam by mohl pokračovat do nekonečna. A tato knihovna je v jistém smyslu začínají vypadávat laskavosti. Bylo to kolem. To bylo propagováno Twitter na nějakou dobu. A teď spousta internetových stránek, mnoho vývojářů používat. Ale nové věci přicházejí ven a přichází spolu. Ale dovolte mi dát vám pocit co to znamená použít knihovnu. Takže znovu, JavaScript je velmi populární jazyk. CSS, nebo kaskádové styly, jsme mluvili včera. I to je všudypřítomný. Nikdo dělá webové stránky ještě dnes bez použití HTML a CSS minimálně. Ale to není vždy snadné dělat určité věci. A tak nech mě jít do getbootstrap.com. Pokřiky. To není, jak se píše. Getbootstrap.com, který mě bude vést na vstupní stránce pro tuto knihovnu. Tak oni říkají velkoryse sami rámec, který je v jistém smyslu jakési spravedlivé, ale já bych to ještě nazývat více knihovny než rámce. Ale to jsou jen diskutabilní sémantika. Nech mě jít na jejich kartě CSS a nech mě jít k něčemu takovému. Takže připomenout, jaké jsou naše formy vypadal stejně jako včera na Cloud9? Bylo to docela ošklivý. Old School tlačítka. Myslím, že tlačítko bylo šedé od default. A všechno bylo doopravdy formátovány zcela nepořádně. Takže pokud chcete, aby vaše webové formuláře vypadat trochu nicer-- dejte mi přiblížit zde. A tím pěknější já opravdu jen znamenat velmi nitpicky estetiku. Tak Všimněte si, jak je e-mailová schránka tam má zaoblený pravoúhlé rohy do ní. Takže je to tam trochu čistší. Všimněte si, že e-mail slovo Je tam, dokud jsem začít psát a pak to jde pryč. Tak to je pěkný malý rys. Všimněte si, že to je v jistém smyslu zářící pěkně, který některé z těchto vás získat zdarma z vašeho prohlížeče, ale některé to je také knihovny, Kód, že ostatní lidé mají psáno, že ti to dát. Něco takového dává mi moje heslo. Toto tlačítko je trochu víc sexy než default. Velmi hodně v módě právě teď. Od té doby iOS 7 nebo ano, Svět se dostal velmi ploché, zatímco na světě předtím spousta stínů, Pozemky z úvah o ikon. Stejně jako v oděvním světě, tam je módní trendy, které přicházejí a odcházejí. Nyní je vše byt na telefonu. Ve skutečnosti tlačítek na iPhone jsou nyní jen modré odkazy. Není tu často i kruhové tlačítka. Takže to jsou jen věci které jdou dovnitř a ven módy, a tak to je, jak byste mohli aby modernější vypadající webového formuláře. Tlačítka. Takže Bootstrap má spoustu hezkých tlačítek. Takže pokud chcete modré knoflíky, zelená tlačítka, modrá, oranžová, červená. Bootstrap usnadňuje tyto věci dělat. Jedná se o spoustu věcí, že byste mohli absolutně udělal včera pomocí CSS as HTML, ale je to jen bolest v krku. A tak místo toho, co by Bootstrap jste udělat, je něco takového. Pokud chcete button-- dopadá toto je HTML tag jsme nevyužili yesterday-- a chcete, aby to vypadalo jako je tento odkaz, doslova jen dát třídu, které jsme udělali mluvit včera, z "btn btn-úspěchu." Proč tato slova? Twitter, autoři bootstrap, přišli s těmito slovy. Mohli nazývají je něco chtějí. Ale to, co se nyní dostává se někdo jiný na Twitteru, v tomto případě, přišel na to, jak si udělat Tlačítko vypadají pěkné a čisté a zelené. Oni sbaleny tuto funkci ve třídě CSS, s názvem "btn" a "btn-success", takže každý z nás může Nyní ji použít bez přemýšlení to. Takže oni abstrahovat pryč ponětí o zelené tlačítko takže jsme nemuseli starat o prováděcí to sami. Můžeme se skutečně soustředit na implementaci věci nás zajímají. Pokud budeme posouvat tady dole. Chybová hlášení na obrazovce. Někdy chcete malý vzkaz objevit se na horní části prohlížeče. Každý z nás by to dělat s některými snaha, po včerejší lekci, ale proč byste se obtěžovat? To je takový nezajímavý estetický detail. Pojďme postavit na ramena bootstrap a ať nám věci, jako je toto, kde jsme doslova, dostat se červené pole, stačí k tomu odstavec štítek s třídou of-- líto. "Bg-nebezpečí" by nám dát Tento načervenalé box místo. A teď pojďme k další zajímavé věci. Mám-li se vrátit na vrchol Na této stránce a přejít na komponenty, Nyní se svět dostane mnohem zajímavější. Například, velmi časté je rozbalovací menu, jako je tento. To by bylo absolutní bolest realizovat. A nebylo to tak dlouho Před že jsme programátoři bude muset implementovat tyto druhy nabídek od nuly. Ale je to taková společná paradigma že knihovny jako bootstrap Jen vám možnost, aby se rozbalovací menu mnohem, mnohem snadněji. Neexistuje jeden způsob, jak to udělat, ale když jsem četl dokumentaci Chtěl bych vidět, že v pořádku, měl bych používat Tento HTML když chci rozbalovací menu která se chová podobně. Stejně tak pojďme na tlačítku spadnout. Tak to je ještě chovatel. Pokud chci, aby to vypadalo jako tlačítko ale ten malý trojúhelník znamená, Měl bych na něj klikněte a dostat se do tohoto menu, tato je pomocí jazyka JavaScript s názvem. A my všichni mohli realizovat Tento v JavaScriptu. Ale opět, to je kolo Nechcete se objevit. Jen budete chtít sundat police knihovny pro toto. Pojďme k něčemu stejně jako pokrok bary. Takže něco takového je docela fajn. Pokud jste někdy viděli pokrok bar pohybující se po obrazovce, se provádí tak často je jen ikona předení. Ve skutečnosti, stejně jako stranou, ať mě jít do Ajax-- co je to? Ajax info? Pokřiky. Ajaxinfo. Nech mě pamatovat adresu. Tam jedeme. Takže pokud jste někdy viděl některé animace zatímco stránka se načítá, nebo myšlení, nebo uložení nebo vytvoření něčeho, budete mohli vidět takové animace jako tyto. Takže pojďme se podívat na něčem jako je tenhle tady, a pojďme si vybrat barvu popředí green, který se cítí trochu příjemný. Mohu klikněte na to? Přijďte jeden. OK. Budeme prostě jít s červenou, protože že to, co dostáváme. Tak tady to máme. Takže pokud jste někdy viděl na obrazovce, čímž se náhle zdá se, a poté náhle zmizí, co je to, že je provádění že? No, to je jen GIF. G-I-F. A to je animovaný soubor, což znamená jen Je to jako staré školy komiksu. Je tu jen banda odlišný rámy, které se chystáte [koktání] a jen opakováním. A to se zavádí program iluze pohybu. Tak, že jakmile je stránka se provádí načítá nebo dělat něco, co programátor dělat? No, on nebo ona prostě skryje tento obrázek. Takže vše, bar pokrok je laskavý of rádi film, který sledujete. Jsi nějak zapomíná na skutečnost, že to není vlastně dělat něco, je to jen v pohybu. A pak, když se to dělá pokrok, prostě schovat, nebo jej vypnout. A to je všechno kouzlo že se tam děje. Bootstrap vám dává něco trochu milovník, kde můžete skutečně viz procenta, jak to jde, ale to příliš je prostě tak nějak jednoduché animace. Podívejme se na některé finále Složitější příklady zde. Něco jako modální. Ví někdo, co je modální? Okno modální je obecně ten, který by měl převzít kontrolu nad popředí a zabrání dělat něco jiného. Tak nějak nutí uživatele Pozornost ke středu obrazovky, zamykání ven, typicky, všeho ostatního. Takže když jsem spustit tento demo, na Obrazovka bude obecně stane šedá. No, jak to děláme šedá? No, my jsme asi jen změnil barvu pozadí jako my včera nebo něco takového. Možná je to překryv že semi-transparentní. A teď si všimnout, co můžete udělat ozdobné věci, jako je tento. Takže pokud jste někdy kliknout na tlačítko a chcete trochu vyskočí se objevit, můžete udělat. A tak kdo se zajímá o all-- jo? Diváků: Tak s bootstrap, aby si to zabudovány, Je to tak jednoduché, jak jako včera jsme udělali stránku CSS styly? David J. Malan: Vskutku. Opravdu dobrá otázka. Nech mě jít Začínáme. A ano. Vše, co musíte udělat, aby se Použití Bootstrap je v podstatě kopírovat a vložte tyto tři dlouhé řady kód do horní části své vlastní webové page-- hlava vaší page-- a vy jste nahoru a běh. A je tu různé způsoby, jak dělat to, ale to by bylo nejjednodušší. Takže to, co je užitečné tom všem? No, pokud nejste tolik realizátor internetových stránek ale snažíte navrhnout to, nebo chcete-li zajistit někoho s drátových rámcových schémat, tak říkajíc, Nebo jen umělce ztvárnění toho, co Chcete-li udělat, jsem, aby to den, často jdou na web jako bootstrap, kde Kdybych chtějí zavést something-- jako nedávno na akademické půdě jsme chtěli realizovat internetový nástroj pro navigaci Harvard je samozřejmě katalog, usnadňovat to pro studenty procházet kurzy a přidat kurzy pro nákupní seznam, tak říkajíc, na druh rozhodnout, co chtěli vzít. Snažil jsem se představit pro Sám, jaké ingredience by Chceme-li použít k vybudování to? Co by uživatelské rozhraní bude? A právě dívá skrz místě, jako tento nebo jiné takové knihovny místa, můžete získat inspiraci, protože wow, Mohu použít tento widget, a tento widget, a tento widget. A pak opravdu to, co programátor začne dělat, a to zejména v těchto dnech v této modernější svět webové programování, Je programování je čím dál o zapojení věci dohromady. Tak nějak brát to z regálu, to z regálu, to z regálu, a vy je chytrá propojit všechny ty tečky, ale nakonec něco postavit znovu stojící na ramenou druhých, takže nemusíte utrácet za měsíc implementaci hloupou rozbalovací menu, což je vlastně těžké dělat, když Chcete to pracovat na Chrome a IE a Firefox, a jakýkoli řada dalších prohlížečů. To je důvod, proč je to bohatý komerčních a open source software průmysl stejně. Diváků: Takže to Bootstrap aktualizován a vy budete muset aktualizovat své odkazy? David J. Malan: to dělá. No, ano, to dělá. Bootstrap je v současné době ve verzi 3.3.6. A obecně to, co byste do-- To je ve skutečnosti stojí za zmínku. Tam je to, co je všeobecně známý jako sémantické verzování systém na světě. Ne každý to dělá. Ale pokud jste viděli čísla verze které jsou ve tvaru x.y.z-- tak například, první verze z programu může být 1.0.0. Nebo jestli je to velmi, velmi beta, nebo i alfa stav, což znamená, že použití na vlastní nebezpečí, že to není opravdu připraven k hlavním vysílacím čase, můžete dokonce začít 0.0.1 nebo něco takového označení. Ale pokud software začíná na verzi 1,0, nebo ekvivalentně 1.0.0, typicky, co je běžné v těchto days-- i když ne omnipresent-- je v případě, že společnost nebo Jednotlivé programátor opravy některé chyby v nějakém kusu softwaru, který ve skutečnosti Byla to chyba, jejíž oprava by neměla Dopad na vás all-- to nic nemění chování programu, to prostě řeší něco že nefunguje properly-- byste typicky aktualizovat Z hodnotu tam. Což znamená, že někdo jako Kareem by prostě jít do své webové stránky, slepě změnit číslo verze od 1.0.0 až 1.0.1, uložte to, loď to, a teoreticky není nutné obávat, že právě rozbité jeho webových stránkách, protože některé chybějící funkcionality, protože něco zlomil. Mezitím, jestli jsem programátor nebo nějaká společnost byly aby se některé významné Změna, která přidává funkce, I nás mohl aktualizovat 1.1.0 proto, že jsem vlastně změně chování knihovny. Dávám vám možná více funkcí. A konečně, pokud bych měl vlastně zásadním způsobem měnit software tak, moc, že ​​to bude zlomit mnoho uživatelů webových stránek nebo aplikací, Pak jsem povinen, v tomto modelu, aby inovovat hlavní číslo verze taky, což je lámání změna. Jinými slovy, mohl bych mít ukončena podpora pro ty kapky down menu. Takže pokud jste upgrade na 2.0, napůl Váš web může přestat pracovat. A to je druh signálu ke komunitě, aby to, co je zapojen do tvorby upgrade. Dobrou příležitostí ke zvýšení. Další otázky? Dobře. No pojďme se podívat na jeden konečný téma v tomto segmentu programování technologických komínů a to v souvislosti s mobilní. Takže ve světě mobilních telefonů dnes vy have-- a iPady, a povrchy, a všechny tyto druhy z devices-- máte spousta možností, pokud se jedná o provádění aplikace nebo webové stránky pro mobilní zařízení zákazníka. Takže jen proto, aby uvést zjevné, možná v těchto dnech, jaké jsou platforem rozvíjet v mobilním prostoru? Jaká zařízení budete chtít podporu při aplikaci či na webových stránkách? Diváků: Apple. David J. Malan: OK. Takže zařízení Apple. Tak to znamená, iPhone, a že znamená iPad, a možná dokonce i iPod. Co dalšího? Olivier? Diváků: Android. David J. Malan: Android. OK. telefony Takže Android, Android tablety, Android Marketu Je dokonce Messier protože-- a i Apple se stává chaotický. Zatímco kdysi iPhone byl určité velikosti, a iPad byl určité velikosti, a iPod byl určité velikosti, nyní máme iPad Minis, a tenký Ti, jakož i iPhone 6 Plus a 6. Stává se z toho zmatek. Je to stává Android svět. A říkám to s druhem válcování mé oči, protože od vývojáře perspektiva, to je bolest v krku, když nemáte Steve Jobs " vize absolutní kontrolou přes všechny tyto specifikace. Apple stále dělá proto, že jsou ty stavební hardware. Ale je to pěkná věc, pokud Jsem vývojář softwaru, jen vím, že moje iPhone je vždy bude bude to velké, protože to znamená, že vždy vím, kolik obrazovka s nemovitostmi mám. Takže pokud chci dát ikonku V levém horním rohu, že to bude v ten samý uváděli na zařízení každého jednotlivého zákazníka. Ale ve světě iPhone 6s a iPhone 6 Plusy a ve světě Android telefony, to je po celé mapě. A tak to dělá to těžší programu věci, zejména uživatelské rozhraní, protože teď budete muset začít aranžování vaše uživatelská rozhraní relativně, nikoliv absolutně. A totéž platí už na prohlížečích, a stolní počítače, notebooky a za roky kvůli tobě, samozřejmě, mají různé velikosti obrazovky. Co dalšího? Ty by mohly mít povrchy, jako od společnosti Microsoft. Ty by mohly have-- Diváků: Windows phone. David J. Malan: Co je to? Diváků: Windows phone. David J. Malan: Ano. Tak Windows telefony lze stále nalézt. Druh druhu BlackBerry, ale dál snažit. A pak svazky z jiných zařízení. Takže ve většině případů, pojďme říkají, to jsou ti pečovat o v tuto chvíli. Jistě Apple věci, jistě věci Android, a mezi Windows, stejně jako povrchové tablet Zdá se, že lov na docela dobře. A tak mezi těmito zařízeními, Chcete-li dojezdu, řekněme, mobilní přítomnost pro vaše Společnost, jaké druhy rozhodnutí designových máte dělat? No, my jsme již uvedli V Apple světě, existuje alespoň dva jazyky , které se obvykle používají. Jeden se jmenoval, co? Diváků: Objective-C. David J. Malan: Jo. Takže Objective-C, který je starší. Je to také jazyk, který mnoho Mac aplikace jsou stále napsaný v. Pak další novější bylo? Diváků: Swift. David J. Malan: Swift. A to jsou druh dvě vědět, zapůsobit na lidi. Pak v Android světě, jaký jazyk má Android používat? Diváků: C #? Diváků: Java. David J. Malan: Java je jazyk "du Jour." Ve světě Windows, jistě, řekneme C # v tomto případě. Tak už je to druh nepříjemné, protože to, co je stánek s jídlem pro podnikání majitel nebo někdo, kdo právě chce nasadit mobilní přítomnost? Stejně jako, sakra? Stejně jako v případě chci podpořit Poměrně široká uživatelská základna, Musím napsat, jak se zdá, tři samostatné aplikace. Jeden v jednom z těchto jazyků, jeden v Javě, jeden v C #. A i když chci funkčnost být identické, na tom nezáleží. I přesto je třeba použít odlišný jazyky, protože Apple a Microsoft, a Google veškerou podporu různá prostředí. A to byl problém po celá léta. Zpět v den, kdy lidé používali na nákup softwaru u počítače v obchodě zmenšit zabalené krabice, byste buď muset sáhnout po Mac polici, nebo for-- možná to velmi malý Mac shelf-- nebo větší police Windows a koupit nějaký software. A velmi často, nebyl ani něco pro vás na Mac polici. Proč? No, firmy rozhodnout, zda 90% na světě, 95% světové populace Má PC, proč se obtěžovat dokonce prováděcí věci na Mac OS? Jako aside-- celkem digression-- proč je to, že Mac se zdá být tak odolný proti virům, a červy, a bezpečnostní hrozby? Je Apple lepší na to? Lepší udržet počítač v bezpečí? Diváků: Menší publikum? David J. Malan: To je pravděpodobně větší bit k němu. Takže mnoho uživatelů Maců mají dlouho tvrdí, oh, používat Mac, budete imunní vůči virům, a červi, a všechny tyto věci že již dlouho trápily počítačů. To by mohlo být, protože Apple má lepší programátory a píší lepší software, nebo Operační systém byl navržen tak lepší. Možná ano, ale pravděpodobně ne. Je pravděpodobné, že když jste 12-letý, nebo 30 něco nějak sedí doma psaní škodlivý software převzít svět, budete jít po mnohem větší cílovou skupinu. 95% na světě, který by mohl se systémem Windows nebo nějakou jejich varianty. Takže je tu trochu z obou stran. Ale k jejich cti, Apple, pokud je mi známo, nebyla ve skutečnosti nabízel sami jako bezpečnější, protože jste právě pozvat drama, pokud uděláte toto tvrzení, řekl bych. Dobře. Aniž by se příliš daleko dolů že, jak jsme vyřešit? Máte k nákupu či musíš platit tři různé lidem rozvíjet vaše aplikace? Myslíte si vybrat jeden přes druhého? Jaké by měly vést svůj mysli si o tom myslíš? Kareem? Ne. Někdo jiný. Diváků: Stačí přijít s hardwarem. David J. Malan: Pojďte s hardwarem? Co tím myslíš? Diváků: Pro životní prostředí. [NESLYŠITELNÝ] David J. Malan: Takže je to pravda. Ale vaši zákazníci, Mezitím, může mít iPhone, oni by mohli mít Android telefony, které může mít tablety vyrobené společností Microsoft. Tak jak se máte mobilní strategie Pro všechny tyto různé uživatele? Zdá se, že pokud to stojí, řekněme $ 1,000 dělat iPhone Aplikace, bude to tě to stát $ 2000 až učinit iPhone aplikace a Android aplikace, nebo $ 3000 také podporuje zařízení Windows stejně. To je asi docela eufemismus, a to možná ani být lineární vztah takhle. Diváků: Chcete-li mít aplikaci nebo ne, můžete mít citlivější webové stránky. David J. Malan: Dobrý. Diváků: Nebo můžete mít nativní aplikace. David J. Malan: Jo. Takže v celém tomto kontextu zde, jsme mluvili o tom, co lidé by vyžadovalo nativních aplikací. To je aplikace, které jsou napsány v rodném jazyce tohoto zařízení. Takže nativní Objective-C nebo Swift kód, nebo v jazyce Java, nebo v jazyce C #. Což znamená, že když si stáhnete, pojďme říkají snapchat, populární aplikace, nebo když si stáhnete Facebook pro telefon, stahujete buď verze napsána pro iPhone, nebo psaný pro váš telefon Android, nebo psaný pro vaši plochu. Ale je tu alternativa. Jako Olivier byl zmiňovat, můžete skutečně používat HTML 5 Místo toho, s použitím co se nazývá web Aplikace, přičemž stačí realizovat svůj mobilní přítomnost a jakékoliv funkce. Co mám na mysli mobilním přítomností? Stejně jako vaše webové stránky, která má vašem kontaktní informace, seznam všech vaše produkty, možná to má nakupování vozík, možná budete prodávat věci přes to. Ať už je vaše žádost, vy provádět, nejsou v Objective-C, nebo Swift, nebo Java nebo C #, ale v HTML 5, který byl jazyk jsme se zabývali při včera, JavaScriptu a CSS. A co je hezké o ty, tři je, že k jejich spuštění, budete potřebovat jen to, co kus softwaru? Diváků: Webový prohlížeč. David J. Malan: Webový prohlížeč. A to nejlepší, co vím, všechny z nich Přístroje jsou vybaveny webových prohlížečů, takže uživatel nemusel nainstalovat něco speciálního. Takže můžete jen říct svůj publikum, vaši zákazníci, přejít na acme.com ve vašem prohlížeče a budete jen mají webovým zkušenosti s že stále vyplní celou obrazovku, ale nemusíte starat o všechno Tyto náklady a veškeré této složitosti. Ale určitě tam bude být háček, ne? Zvlášť pokud bych zdůraznit že před pár lety, úplně první verze mobilní aplikace Facebooku byla většinou HTML 5 aplikace. A oni mají více v poslední době, je znovu implementována ve svých ostatních aplikacích. Tak proč byste ne okamžitě chtěl říci, No, samozřejmě budeme dělat? Co by mohlo být skryté náklady? Diváků: Performance. David J. Malan: Performance? Jak to myslíš? Diváků: Nativní aplikace Má větší výkon. David J. Malan: Takže to je pravda, neboť z několika důvodů. Můžeme příliš zjednodušují odpověď. A připomínají naši diskusi o interpretovat proti kompilovaných jazyků. To je HTML 5 a spolu s ní, jen aby se jasné, JavaScript-- obyčejně psán JS-- a CSS jsou všechny interpretovaný jazyk, i když pouze JavaScriptu je programovací jazyk. A to v závislosti na nich, přičemž některé z nich jsou sestavovány, alespoň tyto three-- Objective-C, Java a C # - to, Teoreticky by mělo být jen rychlejší. Ale je tu ještě jiná realita for-- Diváků: Funkčnost? David J. Malan: Co je to? Diváků: funkcí. David J. Malan: Funkčnost? Jak to? Publikum: Pomocí této kamery off telefonu nebo tak něco. Můžete použít ty s prohlížečem. David J. Malan: Přesně tak. Jsou sec-- Diváků: [neslyšitelné] David J. Malan: To je další dobrý. K dispozici je funkce, které přicházejí s mobilními telefony dnes které nejsou podle návrhu, na bezpečnost Důvody, přístupné na webových prohlížečů. Vzhledem k tomu, že by bylo trochu strašidelný věc, pokud ve chvíli, kdy navštívíte google.com, nebo cnn.com, nebo jakýkoli website.com, že tato webová stránka má sílu se obrátit na fotoaparátu, vyfotit z vás, a pak ji používat. Ale byste nechtěli náhodné webové stránky že navštívíte vůbec poprvé mít tuto možnost. A tak to, co telefon Výrobci obvykle dělat Je prostě odepření přístupu k tomuto druhu informací do prohlížeče, což znamená, že vám nemůže implementovat fotoaparát. Nelze implementovat oznámení bez vyžádání, se pípnutí, které dostanete na obrazovce s krátkými textovými zprávami. A ve skutečnosti, dokonce i GPS je jediný druh o jakési k dispozici na webové prohlížeče. Pokud jste někdy, na notebooku nebo v mobilním zařízení, vytáhl něco jako možná CNN.com, ale i místní zpravodajské stanice inklinují k tomu budete vyzváni často s message-- foxnews.com chce znát vaši polohu. Schválit nebo odmítnout. No, prohlížeč se pokouší o přístup GPS informace ze svého telefonu. Ale naštěstí Microsoft, a Apple a Google se rozhodli, že se cítí jako Je to užitečný situace, Chceme Google Maps a další nástroje pro práci, ale nechceme tečení lidi pouhým umožňuje libovolné webové stránky, jak toho dosáhnout. Takže pojďme se nějak schází na půli cesty a vyzve uživatele. Ale to není nutně případ se všemi hardware, jako je kamera a push oznámení a podobně, takže možná budete muset obětovat některé funkce. Ale výkon příliš. Je to čím dál méně patrný v dnešní době, možná jako LTE uchytí a rychlejší Internet rychlost na telefonech, ale můžete trochu cítit rozdíl. Podobně jako webové aplikace na bázi prostě připadá pomaleji, typicky, než nativní aplikace, částečně protože webové aplikace na bázi podle definice je na internetu. Je to mluví k serverům na webu. A pokud vaše připojení k síti pomalé, dokonce i rolování může být pomalé. Ale nativní aplikace, máte již předem downloaded-- pravděpodobně když jste byli doma z obchodu s aplikacemi, nebo alespoň předběžně stáhnout se v celém rozsahu dříve, bez ohledu na vaše připojení speed-- a tak teď máte všechny bitů, které obecně potřebují. Snad s výjimkou některých údajů že pochází ze serveru. Takže se jedná o kompromisy zde. Je tu jakýsi střed kompromis, ve skutečnosti. A myslím, že vás-- Diváků: Použijte dat v režimu offline. V nativních aplikací, můžete [neslyšitelné] David J. Malan: Přesně tak. Takže tam je problém v režimu offline, což je opravdu otravné Pokud nemůžete hrát nějakou hru nebo použití Některý software jen proto, že jste v suterénu někde nebo ve výtahu. Nativní aplikace je pružný s vyšší pravděpodobností, že proti, předpokladu, že máte vše Údaje je třeba lokálně. Takže tam je třetí možnost zde. A pojďme čerpat spektra as Nativní aplikace zde a web app zde. A co je v polovině je něco, co called-- a myslím, že byste mohli mít používal slovo dříve, možná? Hybridní aplikace. A jak to slovo znamená, je to něco ve středu. Je to trochu webové aplikace a je to něco jako nativní aplikace. A co to znamená? Ukazuje se, že existují frameworks-- používat termín z earlier-- softwaru že ostatní lidé psali pro každého z těchto platformách. Tyto a ještě další zařízení. Ve skutečnosti, nech mě jít do PhoneGap, což je jeden takový rámec, který jsem věří, Adobe nyní vlastní. Nech mě jít Začínáme. Uvidíme. Uvidíme, jestli můžu vidět seznam nástrojů. Železářské zboží. Začínáme. PhoneGap hardware. Uvidíme. PhoneGap přístup k hardwaru. Podívám se, jestli můžeme něco najít zmapovat, že míval. To je na jiném místě. Je to užitečné? Ne. Že to bude ztrácet čas. PhoneGap hardware. Zařízení. API zařízení. Ne, že jsem přesunul to. PhoneGap. Pojďme ještě naposledy podíval na to a uvidíme, jestli můžu ti ukázat. Začínáme. Nainstalovat PhoneGap. Nainstalovat mobilní aplikaci. Pojďte dál. Už reorganizována všechno. Dobře. Oh, v pořádku. No, je to tady. To není všechno, že poučný, ale To je to, co jsem se trochu hledal. Takže PhoneGap je rámec, který vás si můžete stáhnout zdarma, který vám dává někteří startovací kód, v podstatě. Takže nějaký kód, že oni psali že nedělá nic moc. Ale to, co vám dává je v podstatě ekvivalentní aplikace, která právě klade velký obdélník na obrazovce uživatele. To neklade URL bar, jako když browser, neklade adresu. Je to prostě klade velký obdélník. A nakonfigurujete tento velký obdélník, pod kapotou, skutečně jít do acme.com, nebo možná m.acme.com, pro mobile.acme.com, ale uživatel neví jsou na této adrese. Vše, co je vidět Obsah webové stránky. Ale co je hezké o této bytosti hybridní aplikace je to, co PhoneGap a jiné společnosti dávají vám je jsou to dává vám trochu kódu v Objective-C nebo Swift, nebo trochu kódu v jazyce Java, nebo trochu kódu v C #, a v podstatě, Jediné, co musíte poskytnout je minimálně adresa vaší aplikace na web. A pak se to sváže vše dohromady a vy mít buď přístup ke svému site prostřednictvím internetu, nebo dokonce do mezipaměti místní kopírovat uvnitř aplikace, a potom uložit vaši žádost ve formátu pro iPhone, Android telefon formát, formát povrchu, nebo libovolný počet dalších zařízení. Nahrát každý z těchto verzí do Obchodu Play Google, do obchodu App Store, na Windows Store, a tak dále. A nyní můžete mít všechny své diváci stáhnout skutečně nativní aplikace, i když většina kódu byla napsal někdo jiný, ale obsah tohoto nativní aplikace vše pocházejí z typicky svých webových stránkách. Takže budete pokračovat v psaní své webové stránky HTML, JavaScript a CSS. Tak proč rozmazání tyto řádky? Proč mají uplatnění hybridní to je druh domorodce, ale také druh webu založené? Jaký je celý smysl Přidáním této složitosti? Myslím, že i přesto, právě z pročítal této stránce Začínáme průvodce cítí jako to má spoustu kroků pro mě udělat, než jsem can-- Diváků: Znovupoužitelnost? David J. Malan: Znovupoužitelnost? Co tím myslíš? Diváků: Ze zdrojového kódu. Takže stejný kód poběží na všechny různé platformy. David J. Malan: Jo. Diváků: [neslyšitelné] David J. Malan: Perfect. Pokud čas je těsný, a pokud vás nemají že mnoho developers-- Možná máte jeden developer a on nebo ona určitě nezná všechny z nich environments-- určitě není dobře, a už vůbec nemůže programem ve všech třech současně a loď tři produkty lhůta pro jednoho, můžete ho mít, nebo ji postavit vše v HTML a JavaScriptu a CSS, a pak se dozvědět malinké bit o nativních aplikacích, akorát ke stažení rámec takhle, se pak nahrát svůj produkt všechny různé obchodů s aplikacemi takže nyní máte nativní aplikace. Takže to vypadá jako win-win, ale opět, aby bylo jasné, Jaké jsou potenciální nákladů nebo Gotchas? Diváků: Performance? David J. Malan: Jo. Představení. Je těžké popsat slovně. Takže pokud jste prostě vzít na víra mobilní aplikace, webová aplikace bude typicky provést pomaleji. To nemusí vypadat zcela v pořádku, protože v iPhone, a telefony se systémem Android, a zařízení se systémem Windows, je tu Vždy jakýsi výchozí vzhled a cítit se všechny tlačítek a menu. A společnosti webu, můžete zkusit směřující ke sblížení estetiku s knihovnami jako bootstrap, ale user-- je bystrý user-- bude vědět, že něco není úplně v pořádku tady. A to je v pořádku, možná že to není velký problém. Ale výkon problém rozhodně je velký problém. Nativní aplikace bude mít tendenci jen být mnohem citlivější a proto lepší. A tak to, co pak může být to nejlepší z obou světů? Pokud jste zejména malé společnost nebo malá skupina, nemáte prostředky vyvinout aplikaci paralelně na všech třech platformách, a upřímně řečeno, pocit, že je to špatný nápad, stejně protože pokud to valit ven a na všechny tři současně si uvědomit, měli jsme přidali několik funkcí nebo udělal něco jinak, teď budete muset opravit ji tři místa ani jednoho. Co je možná optimální Strategie zde celkově pokud zdroje a čas jsou těsné? Diváků: Prostě to udělej na iOS. David J. Malan: To není nerozumné. iPhone, alespoň v USA, jsou super populární. Android se zdá, že mají dominantní podíl na trhu, na celém světě, celkově. Takže nejste nutně reprezentativní z celé zeměkoule tento týden. Ale to je naprosto jedno rozhodnutí. Myslím, že na akademické půdě tady že někteří úděsný počet nebo procento vysokoškoláků mají iPhone a telefony nejsou Android. Ale i v zahraničí, je to trochu o opaku. Takže jste se rozhodli na základě své publikum. Jak víte, co vaše publikum má? No, jsme se dozvěděli trik včera. Dalo by se zeptat. Pokud máte zaujaté diváky můžete poslat formulář průzkumu. Nebo můžete jen to, co? Diváků: Google Analytics? David J. Malan: Co je to? Diváků: Google Analytics. David J. Malan: Google Analytics. To jo. Nebo ještě jakési technicky, jen podívat se na své vlastní webové servery protokolů. Vzhledem k tomu, co se děje Pokaždé, když prohlížeč, zda laptop, desktop nebo telefon navštíví vaše webové stránky? Posílají že záhlaví HTTP, který ukazuje, vy jaký prohlížeč a operační systém používají. Takže si můžete odvodit, s vysokou pravděpodobností, jaké jsou vaše demografické používá tímto způsobem a upravte. Takže předpokládám, že je to nepřijatelné. To je druh špatné pro podnikání, pokud Android uživatelé nemohou koupit naše widgety. Diváků: Ať už jste Bude účtovat nebo ne? David J. Malan: Ať budete účtovat? Takže v pořádku, dostanete, co si zaplatí. Diváků: Ať je vaše aplikace bude být svobodný, nebo zda je to gonna-- David J. Malan: OK. Takže možná byste mohli kompenzovat Náklady tímto způsobem, nebo--? Diváků: Četl jsem studii jednou, že uvedené více uživatelů Apple platit za aplikace versus-- David J. Malan: To je pravda protože jsou již platit víc za jejich zařízení. Takže není nerozumné předpoklad. Diváků: [neslyšitelné] David J. Malan: OK. Takže pokud jsou více ochotni zaplatit, pak k čertu s uživateli Android. Jsou to nebude zaplatit nám nic tak jako tak. Mohli bychom také zaměřit naše priority, alespoň po dobu prvních několika měsíců nebo rok, na iOS. Zcela rozumné. Co je to obsažnější Strategie než tohle? Maybe-- co to je? Diváků: [neslyšitelné] David J. Malan: Více expensive-- takže možná více investovat in-- pokračovat. Diváků: Jo. Jen mobilní webové stránky. David J. Malan: Takže udělat mobilní webové stránky a nikoli dokonce starat o této složitosti. Nebo možná rozumná strategie, který dokonce Facebook trvalo, je začít s hybridním Aplikace protože to není že mnohem těžší, jak to udělat, než toto. Musíte jen přečíst některé dokumentace a zjistit, jak nahrát věci na App Store. Takže možná začnete s to, aby se na jeden den, můžete podpořit všechny své uživatele. A pak, stejně jako Facebook a jiné společnosti učinili, když máte zdroje, Máte lidi, proč ne znovu zavést Jen aplikace iOS. Stále máte něco pro každého, i když je to horší zkušenosti snad s aplikací hybridní. Ale můžete postupně zavádět a nahradit krátkodobé opatření hybridních aplikací s Vaše další nativní aplikace. Diváků: Ale s hybridní aplikace vám budou mít přístup k funkcím mobilních? David J. Malan: Ne nutně. Takže možná uděláte vědomé rozhodnutí brzy, můžete nahrát pouze fotografie na nativní aplikace pro iPhone na Facebooku, ale ne na aplikaci pro Android, zpočátku, například. A to je trochu bílé lži následujících důvodů webové aplikace mají více omezení než hybridní aplikace se ukáže out, a pokud budeme číst dokumentaci pro PhoneGap a věci, jako je to, lidé mají přijít se způsoby, dát aplikací založených web Přístup ke kameře, tak dlouho, dokud používáte hybridní aplikace. Jak to funguje? Vzhledem k tomu, hybridu Žádost podle definice má trochu kódu v Objective-C, a Swift a Java, nebo v jazyce C # měl přístup k hardwaru. Ne nutně všechno, ale to by mohlo velmi dobře tomu bylo v případě, že máte dost přístup se dostat kameru, i pro Android platformy pro Například, v tomto příkladu nepřirozený. Nějaké další otázky? Dobře. Proč ne bereme 15 minut přestávka zde. Budeme pokračovat ve tři hodiny s konečnou podívejte se na webové programování, databáze, a Javascript.