DAVID J. Malan: Torej smo nazaj. Torej, na visoki ravni tema v tem trenutku zdaj je tehnologija nizov, ki ni še posebej tehnični izraz, to je bolj za ulov vse za katero koli število kombinacij tehnologij ki jih lahko uporabi za reševanje problemov. In morda najbolj primeren način za začetek bi bilo gledati jezikov, saj Držim rožljanje off cel kup in večina vsi v sobi je Verjetno slišala vsaj enega. In zakaj ne bi poskušali ločiti what-- razlikovati te jezike in na kratko govori o tem, kdaj bi izbrali drug na drugega, kako oni nekako bistveno različen, in zlasti ko ste klepetali z inženirji, ali poskuša odločiti, koga najeti, ali kaj izvajanja predlog za GreenLight, kako bi si dejansko lahko tiste vrste odločitev. Torej, kaj je samo klopotec nekaj stvari off. Jezikov, ki ga ljudje slišali, kaj pride na misel? C. OK. OK, C ++. Kaj je to? OBČINSTVO: Python. DAVID J. Malan: Python. Odlično. Kaj drugega? Visual Basic. Slišal sem Java. Visual Basic-- alias VB. Java. NET, kar je več od ulova vseh za to, kar je ponavadi C # kot jezik na vprašanje. In naj omenim, da je. Torej se bomo vrnili k temu. Žal mi je? Žal? OBČINSTVO: SQL. DAVID J. Malan: Scratch? OBČINSTVO: SQL. DAVID J. Malan: Oh, SQL. V REDU. SQL. Torej bomo vrnili that-- dejansko, je good-- po premoru, kot tudi. Kaj drugega? OBČINSTVO: Oracle. DAVID J. Malan: Torej Oracle, ni jezik. Pravzaprav bi uporabili SQL, kot tudi. Torej, kaj je dal, da je po zlom, kot tudi. In mi je žal, kar sem? OBČINSTVO: Mathematica. DAVID J. Malan: Mathematica? OK, seveda. In MATLAB je nekako tam včasih. OBČINSTVO: R. DAVID J. Malan: R. Pojdiva tukaj. Fortran. Seveda. Starejši šola. Fortran. COBOL. Bom vržejo ven BASIC. BASIC. Kaj-- OBČINSTVO: MATLAB? DAVID J. Malan: MATLAB. Oh, ti prehitel. Karkoli? Ne morem si zamisliti nekaj drugih. Ne morem si zamisliti nekaj drugih. In tisto, kar je bil zadnji? OBČINSTVO: ASP. DAVID J. Malan: ASP? Ja. Aktivne strežniške strani. Da bi na splošno spadajo v drugi jeziki, včasih C #, tako da pustimo, da off. Vendar bomo prišli nazaj na to za okvire in podobno. Še kaj? PHP je priljubljen. Ruby je druga. JavaScript ni treba zamenjati z Java, je drugo. To je neke vrste veliko. Tako je lahko zagotovo velika, kot da je seznam še ni, Samo za začetek vedeti, kje začeti. In tako bi, kaj je pristop to od nekaj kotov. Najprej poskusimo kategorizirati vsaj nekaj od teh jezikov v dve širši vedra, ki spominjajo na pogovor smo imeli pred odmorom, kjer smo se pogovarjali o zbiranju, in izvorno kodo, in strojni kodi, ker to ni, kako vsi jeziki delo. Torej bomo izderi nekaj primerov of-- ali v nasprotni examples-- tega modela. In potem, zakaj ne bi govorimo o aplikacijah da teh jezikih se običajno uporabljajo za. In odkrito povedano, čeprav To je zelo dolg seznam, to je samo podmnožica tega seznama, ki ki bi jih običajno pripravijo iz teh dni za reševanje problemov. Nekateri jeziki so novejši od drugih. Nekateri jeziki bolj priljubljen kot drugi. Torej to ni všeč, imate kot velika naloga pred vami Pri odločanju med ti različni jeziki. Torej, kaj je to. Imeli smo prej, izvorno kodo, in potem smo imeli strojno kodo. Ups. Pisanje napačno besedo. strojni kodi. In smo imeli nekaj proces v srednji called-- ja, prevajalnik. Torej prevajalnik. In kaj je strojni kodi dejansko deluje na na koncu se bo vaš dejanski CPU. Z drugimi besedami, strojni kodi, sem pomeni najnižje navodilom ravni da je CPU dejansko razume. Seštevanje, odštevanje, akcija, shranjevanje in operacije, kot je ta. In tako je to model za to, kar je splošno znana kot zbranih jezikih. Morda ni presenetljivo. Tako da je ta model Za zbranih jezikih. Vendar se izkaže, tam je en razred jezikov imenovana razlaga languages-- razlagati languages-- da se nekoliko razlikujejo. Pišete v izvorni kodi, teči jih s pomočjo tolmača, in da tolmač kar teče na CPU. Z drugimi besedami, kaj ne EMIT je kaj, očitno? strojni kodi. Ničle in tiste, ki CPU sam na koncu razume. Torej, v prvi različici in jezike, kot so C, kot smo videli, ste napisali v izvorni kodi da je malo Skrivnosten, ampak vsaj to je nekako angleško podobnih in to je vsaj čitljivo ko se navadiš nanj. Jo vodijo skozi prevajalnik in iz dobiš na koncu ničle in narave. Da za poenostavljanje. Obstaja nekaj drugih korakov tam. V bistvu, če ste kdaj slišali Izraz "zbirni jezik" to je en korak pred ničle in tisti. Da malo bolj berljivo, vendar še vedno precej Skrivnosten. In zato je vmesne korake da se v resnici dogaja. Toda izhod, na koncu, je teh ničel in enic. Toda v razlaga svet, kjer ste jeziki, ki so razlagali jeziki, ki jih dejansko preskočite ta korak. Z drugimi besedami, ko napisati Program, ki ste jo pravkar takoj teči. Ga ne pripravijo in ga zaženite, kot sem prej. Pravkar ste jo napisali in ga zaženite. In če želite, da bi hitro spremembo, naredite hitro spremembo in ga ponovno zaženite. Tako da ni srednji korak tukaj. Zdaj, za program sem napisal prej, ki je ta program "Hello World", boste morda smiselno wonder-- ali razumno morda state--, da ni bil, da je čas porabijo za pripravo svoj program. Zdi se, da je to storil prav tako. In tam je grafični različice prevajalniki. Jaz sem z zelo Skrivnosten različico, vendar bi lahko zadeti gumb za predvajanje in da dejansko ne sestavljanje za vas. Sem sestavila program in nato še enkrat, da bi sistem deloval, sem to storiti. In izhodi na levo tam, "Hello!" To se ne zdi vse, kar zahteven. Toda, ko so vaši programi več kot le ena, dva, tri, štiri, pet vrstic dolg, da lahko vzeti veliko več sekund, da se pripravijo. Včasih celo minut ali zelo malo časa za pripravo. Konec koncev, nekateri izmed Največji svetovni izdelki so stvari, kot so operacijski sistemi, Microsoft Word, Microsoft Excel, ki je lahko na sto tisoče ali celo milijone vrstic kode dolgih, in tistih, ki ne le takoj izvršiti. Še več, na spletu, je postalo modno za uporabo preprosto razlagati jeziki, deloma zato, ker vas lahko spremembe kot razvijalec in potem samo takoj osvežite stran brskalnika in takoj videli rezultat. In tako HTML, hkrati pa ne programski jezik, je jezik, ki se razlaga. In videli smo, da je enak učinek včeraj. Pravkar si osvežite stran, potem ko sprememba Cloud9 in-- voila-- boste videli nov rezultat. Torej, kaj je razlika tu? V HTML, odpoklic, smo imeli odprto HTML, odprta glava, odprt naslov, blizu naslova, blizu glave, odprte telo, in tako naprej. Smo imeli vse te oznake, da smo precej veliko je dejal, povedal, brskalnik, kaj storiti. Hej brskalnik, prihaja HTML stran. Hej brskalnik, prihaja naslov. Hej brskalnik, tukaj je nekaj besedilo, ki bi morala biti krepko. In potem poveste nasprotno. Hej brskalnik, to je to za tisku krepko. Hej brskalnik, da je to za telo. In tako naprej. In kaj je brskalnik? Brskalnik je samo tolmač. To je program, ki je nekdo všeč Microsoft ali Google je napisal, katerih namen v življenju je, da brati jezik, znan kot HTML, in interpretirati. Zgoraj navzdol, od leve proti desni. In kadarkoli brskalnik vidi odprt nosilec, naslov, blizu nosilec, bi morala razlagati, da v tem smislu, oh, da pomeni, naj bodo te besede način tu na vrhu brskalnika. Tako da samo ne kaj HTML koda pravi. Vendar pa ni ničel in enic. Ni urejanje. Nisi naredil. Brskalnik ni naredil. To enostavno ne gre. Torej, v duhu teh teku teme, danes in včeraj, da se zdi, da je čudovito lastnost. Shranite kodo in nato samo teči ali razlagati. Tukaj ni vmesne korake. Zagotovo pa je strošek? Ne morejo biti vsi Upsides. Torej, kaj bi to strošek? OBČINSTVO: Space. DAVID J. Malan: Space. Torej, seveda. V prevedene svetu, ki ste jih ne samo original izvorno kodo, ste tudi ustvarjanje in potem verjetno varčevanje stroj code-- ničle in ones-- in to je dobil, da prevzame določeno količino prostora. Absolutno. Torej, to je vas to stane več prostora. Ja? Občinstvo: Brskalniki morda razlagajo različno. DAVID J. Malan: Brskalniki lahko razlagati drugače. To je res. Ampak nisem prepričan, da sem udobno trdijo To je zato, ker je razlaga. To je več samo zato, ker je izvedba jeziku da se je nejasnosti. Torej naj ne povsem potrditi da je eden, vendar dobro slutnja. Kaj drugega bi lahko plačana cena? Andrew? OBČINSTVO: si združevanje dva koraka, da vas zato imajo večjo kompleksnostjo, kot tudi. DAVID J. Malan: The complex-- povečanje kompleksnosti kje? Za kogar? OBČINSTVO: Torej, v tolmača korak, ki jo združuje tolmača in prevajalnik za samo vodijo to-- DAVID J. Malan: Ah, OK. Ironično je, da je to verjetno malo enostavnejši za izvajanje tolmača, čeprav se zdi, da Upsides donosi te ugodnosti. Torej, morda res. Ampak to nekako odvisna I bi rekel, na jeziku in o tem, kako so šli o njenem izvajanju. Ne more biti veliko več kompleksnosti, dejansko, v prevajalnik, samo zato, ker moraš iti od nekaj tako visoki ravni, da se nekaj tako nizko raven. Toda dobra misel. Torej povedano drugače, preveden program ko je spremenil v teh ničel in enic, konča v jeziku da CPU govori ker je v tej strani svet, je program, ki ste jih napisal, koda ste napisali, ni nikoli dejansko dobi pretvorimo v dejanskem jezik Računalnik govori. Ničle in tisti. Da ostane v prvotnem, več človeških prijazen, bolj berljiv jezik. Torej, kaj bi lahko bila posledica tam, če ne dejansko moti pretvorbo program samega jezika da osnovna računalniška govori? OBČINSTVO: ne Might razumeti, kaj? DAVID J. Malan: Might Ne razumem kaj. In da lahko claim-- če ne bi razumel nekaj, da je napako ali pomanjkanje za funkcijo v tolmača. Tako da bi bilo bolj napaka kot strošek. OBČINSTVO: Imate dostop do izvorne kode? DAVID J. Malan: Obstaja dobra. Torej negativna tukaj je, da Zdi se, da imajo dostop. Ti, končni uporabnik, se lahko zdi, da imajo dostop do izvorne kode. In to ni vedno res. Ampak to je res v primer JavaScript, ki bomo pogled na po break danes, ki je je razlaga programski jezik da ste napisali v izvorni kodi. Ampak to izvorno kodo dobi prenesen iz strežnika v brskalnik in teče v brskalnik človeško. Torej, tukaj bo lahko samo odprete okno, kot sem počel v Chromu in pogled na to, kar smo sami pogledal včeraj z Googlom. To je morda videti nekoliko nerazumljivo, vendar je tam. Torej, to je absolutno ena cena, plačana. OBČINSTVO: Uspešnost hit? DAVID J. Malan: Ja. In to je druga panike. Tam je predstava hit. Ker ste to srednji človek, ki je sam je program, med vami in CPU, v nasprotju samo hranjenje teh surovi ničle in tisti v CPU, tam je predstava hit, ki vas vzeti z razlagati jeziku. Tako, da poljubno program da lahko traja eno sekundo teči na računalniku ali enega minut, da deluje na računalniku tukaj, lahko traja 10 sekund ali 10 minut, da deluje na računalniku tukaj. To se na splošno ne bo, da je veliko za difference-- faktorjem 10-- zato, ker je optimizacije lahko storite. Ampak to je skoraj vedno počasneje. Zdaj, flip side za to skrb je, da se tudi računalniki, vsak 12 do 18 months-- po katerem Moorov zakon, tako da speak-- so samo še hitreje in hitreje. Imam več in več prostora na disku. Imam več in več RAM-a. Kdo v resnici briga? In to je nekakšen razumen argument. Dejansko je eden od razlogov Zato smo lahko prenašajo počasneje razlagati jezikov je zato, ker smo ljudje v resnici ne opazijo. Računalniki imajo prišel prav tako darn hitro. Ker nazaj v dan, še posebej ko je bila strojna oprema veliko bolj omejena, ste imeli manj vsega, je bilo veliko dražje tako da je vse dražji, ter nato si res želela, da iztisnite toliko uspešnosti, kot bi lahko. Ampak to zahteva pisno na a-ravni nižja, če hočete, z sestavila jeziku. Torej ste vzeli to uspešnosti hit. Ampak na splošno, so Upsides Zdi se, da je to vredno v teh dneh. No, z izjemo vprašanje intelektualne lastnine. Takšne berljivost kode, bomo pridejo nazaj, ko pogledamo JavaScript. Torej poskusimo kategorizirati vsaj nekaj od teh. Torej med zbranih jezikih, smo bi imela C, C ++, nekako, sorta, Java, Čeprav je malo izjema, za Razlogi Pokazal ti bom vsak trenutek. C # bi bilo na tem seznamu. Ogledali si bomo bolj na samo bolj moderne jezike. V redu. In da se zdi, kot veliko tam. Ker je na tej strani ograje, bomo morda morali JavaScript in Python, in PHP in Ruby. In ali je to dovolj za novejših tisti? Da se počuti, kot veliko za zdaj. V REDU. In potem dot dot dot, ker seznam je neskončen. In v resnici, če želimo, da samo dobili občutek this-- Wikipedia, zbrana jeziki. Im 'ugibati, bomo lahko dobili bolj izčrpen seznam. Torej gremo. Torej, tukaj je veliko bolj izčrpen seznam. In sem upal bi nekdo uganiti D kot jezik, ker to tudi obstaja, vendar so se ustavili na D, se zdi. Čeprav se lahko dejansko E. Oh, pravzaprav, to naj se na seznam teh dneh. Swift je dejansko jezik, ki Apple izumil ki se sedaj uporablja, bolj tako v razvoju iPhone. Vendar se bomo vrnili k da z našo razpravo za mobilni telefon v samo malo, kot dobro. Torej Swift, kot tudi. In potem, če gremo razlagati language-- razlagati language-- potem tukaj še več seznam, kot tudi. Torej, če si google in poglej na Wikipediji za to, boste videli vse vrste jezikov. Vendar je namen, za danes res, samo izvira na to morda Vprašanje intelektualne lastnine in berljivost s strani končnega uporabnika, in uspešnosti, je še en panike, kot dobro. Torej med temi jeziki, Da vidim, če vam lahko dajo samo nekaj vzorec jezikov. Ne želim iti skozi vsi jeziki v nedogled. Ste se kdaj spraševali, kaj nekatere jezik izgleda? Storili smo videli pred nekaj trenutki. Zakaj ne bi nekaj za funkcijo zahteve. Kdo bi rad videl, kaj drug jezik izgleda? Ja. OBČINSTVO: Java. DAVID J. Malan: Java. V redu. Torej gremo na Java. In samo, da vam sample-- bi lahko napisali vse to ven, vendar bi bilo hitreje, samo da poglej vzorčno kodo nekoga drugega. V redu. Torej je to dober primer? Ups. V REDU. Torej, tukaj je Java različica Program sem napisal že prej, "Hello World". Torej Java, boste pogosto glejte "razred." ključno besedo Potem boste videli nekaj ime po tem. Videli boste zavite oklepaje kot smo videli prej, in včasih gredo na isto linijo, včasih druge linije, to je neke vrste osebna odločitev. Boste videli ključne besede, kot so "Javno", "statični", "nična." Vendar smo videli "glavna". "Glavni" je navadno ime privzeto funkcijo ali privzeto kos kode, ki dobi teče v programu. "Niz". Kaj mislimo s niz prej? Včasih sem nekako mimogrede. Niz je kaj? Beseda. To je kot zaporedje znakov. Posamezni liki, nazaj do na hrbtni strani, običajno v matriki, kot smo razpravljali. In v resnici, si oglejte to sintakso Tu sta oglatih oklepajih? To pomeni, hej računalnik, tukaj prihaja niz nizov. oglati oklepaj zapis IS običajno uporabljajo za označevanje tega. In potem lahko verjetno si guess-- kaj se to poudarjeno kos kode verjetno ne? OBČINSTVO: Izhod? DAVID J. Malan: Ja. To natisne nekaj na zaslonu. Torej, "sistem" je neke vrste sklicevanje na računalniku. "Out" pomeni računalnik je izhod ali zaslon. Torej "system.out.print ln" verjetno pomeni? "Ln". Tiskanje linija, ki programerjem kot da očitno pojasniti nekaj besed iz v celoti in se Bližnjice z drugimi besedami. Toda "ln" je linija, tako print linijo. Tako da izpiše "Hello Svet! «In nato v novo vrstico. Torej, to je to. Toda Java je tisto, kar bom klic objektno usmerjen. In res, samo da dobimo Nekaj ​​drugih definicij tam, da boste morda glej, na splošno pa veliko različnih vrst jeziki, vendar je najpogostejši so procesne ali nujnih jeziki. Obstajajo funkcionalno jeziki, ki ne pomeni, da so drugi nefunkcionalna. In potem je tukaj še Objektno usmerjenih jezikov. In to je morda najbolj kategorizacija večini jezikov da bi si kdaj odločite za vrsto tipičnega komercialnega projekta. To bi bilo preveč, Mislim, od luknje podgan iti dol, da bi poskušali razložiti različne razlike. Toda jeziki smo videli tako far-- C je postopkovno ali Nujno jezik. V zadnjem času je izumil jeziki ponavadi, žal, objektno usmerjen, kar pomeni, imajo druge značilnosti, ki so jim. Ali lahko pojasnite, da na ta način? Poglejmo še ne hodi tja. Objektno usmerjen način lahko implement-- lahko model realnega sveta nekoliko bolj učinkovito. Človeštvo, v daljšem časovnem obdobju, je pogruntal, wow, da bi bilo lepo, če moj jezik je imel to funkcijo, ali to funkcijo. In to je, zakaj imamo tako veliko jezikov na svetu. Razumni ljudje, pametni ljudi, se strinjate ali ne strinjate in vedno nekako prišli skupaj razvijanje novih jezikov vse skupaj. Primer. Apple izumil Swift v Upanja verjetno znižanje bar za razvoj iPhone, ker prejšnji language-- imenovano Cilj-C, kar bi tudi na našem seznamu here-- je bilo veliko bolj Skrivnosten in še veliko težje zaviti svoj um okoli. In kot programiranje postaja nedvomno bolj dostopna in bolj široko ljudje celo sprejel manj tehnični, goal-- to je zelo pogumen cilj, da bi poskušali znižati ovire za vstop, tako da samih jeziki lažje, da bi začeli z, a nič manj močna nujno. In še en jezik. Zakaj ne pogledamo na nekaj podobnega Python, ki je zelo v modi v teh dneh. Python. Primer programa. Pa poglejmo. "Zdravo, svet" jeziku. Naredimo to. "Pozdravljen, svet." Poglejmo, če to daje nam lep primer. V REDU. Torej, to je pravzaprav nekako zabavno. Torej, če ste kdaj google "Hello World", ki je se zgodi, da je eden od prvih programov kdaj napisana v sodobnem jeziku, samo kot dokaz koncepta, lahko vidite vse vrste izvedb tega. Nekatere od teh jezikov Nisem še slišal. Vendar pa lahko see-- gremo na Basic, tisti, ki sem se naučil že pred leti, v delu. To je bil zabaven jezik, saj vas je moral, kot programer, številka vse svoje linije. Niso v nasprotju, kar sem tem, ko sem pisal psevdokoda na rumeno dokument prej za binarno iskanje, za iskanje telefonski imenik. In tako, če si hotel da gredo v drugo vrstico, bi dobesedno tip, pojdi do 10, ali pa na 20. In če pišete linij, na Konvencija je storiti, to je linija 10, To je linija 20, to je vrstica 30, 40, z nič vmes, s čimer si nekaj prostora če se boste odločili, počakaj malo, moral sem dodal nekaj Več koda nekje. Še vedno je imel nekakšno devetih priložnosti za stisnite, da se med programu Prej si moral ročno oštevilčite vse. Torej, to je nekako kaj mislim Ko sem rekel, se je svet prišel gor z novim funkcije. Nekje na poti nekoga spoznal, fant to je neumno. To je samo ustvarja delo za programerja. Torej, on ali ona samo nekako zgrajena nov sloj na vrhu tistega tako da vam ni treba skrbeti O tem, kaj vrstica številke kodo je pravzaprav naprej. Torej, ko lahko izberete en drug jezik ali? No, kateri od teh jezike ste nagnjeni slišati o najbolj svoj svet te dni? Oglejmo padajočega Objective-C preveč. OBČINSTVO: C #. DAVID J. Malan: C #. Torej mi barvo. Ali imamo drugo barvo nekje? Torej, C #. In kaj veste o C #? Vse, kar pomlad na misel? OBČINSTVO: To je programski jezik. DAVID J. Malan: To je programski jezik. V REDU. To je res. Torej govorimo o C #. C # kaže, da je treba uporabiti pri okolja Windows, tako da, če pišete Microsoftovo programsko opremo za Windows, je C # zelo pogosto uporablja, pa naj gre za namizne programske opreme, ali tudi telefon, programska oprema za Windows telefone, če ste imeli tiste, ali na spletu celo preveč. In v resnici, morda Kareem zgoraj navedeni ASP prej? Torej je tudi to stvari imenovane okviri, ki se lahko uvedejo z razširitvijo. Okviri, kot so ASP. Stojala za aktivne strani strežnika. In to je številka, in način načrtovanja ki na splošno lažje za pisanje spletnih aplikacij. Z drugimi besedami, da bi bilo super, super siten pisati spletni strani v jeziku C, ki smo videli, ker bi morali uporabiti tisk + F, bi morali uporabiti to ključno besedo "Glavna" in zaviti oklepaji. Veliko prikrite sintakse in pristop k izvajanju nekaj, kar je precej zapleteno. Spletna stran. In tako so se drugi jeziki razvili da takšne stvari lažje. In po drugi strani, so ljudje prišli do z okviri, vrsta orodij ki ga lahko uporabite, da bi bilo še lažje pisati spletne strani. Tako, na primer, da bi to veliko bolj konkreten, Naj odprejo samo besedilno datoteko za trenutek. In morda odpoklic včeraj da smo rekli nekaj kot je, to je spletna stran. HTML. Zapri HTML. Naj preskočiti glavo in pač telo tukaj. Recimo, da sem hotel pisati ne "Hello World" ampak "Hello David", kjer je David ime trenutno prijavljeni uporabnik. Kaj je nekaj podobnega ASP bo naredil, ali JSP-- ki je Java server pages-- ali poljubno število drugih okvirih je oni ne jeziku, samo po sebi. Oni so tako kot dodatno programsko opremo, ki vas bi namestili v svojem okolju da samo lažje programiranje. Tako, na primer, namesto da narediti nekaj podobnega "Pozdravljeni, printf (" Davida ")" ali nekaj, kar je vrste co-mingling-- vrsta kode smo videli before-- ti bi naredil nekaj veliko preprostejše, kot "name%." In tako ti okviri, kot ASP-- in I Ne spomnim se, če sem že skladnja ravno prav za ASP. JSP je little-- je to prav? Torej z ASP, to je neke vrste posebno sintakso da so nekateri razvijalci odločili, To bi lahko pomagal ljudem ven. In lahko izrazim bolj na kratko ograde, na primer. Kot poda vrednost tukaj, kadar to ime vrednost ni N-A-M-E, to je nekaj vrednost, shranjeno tam. Torej "ime", v zvezi s tem, mi bi poklical spremenljivko. Algebra ima spremenljivk kot so x in y, in z. Programerji uporabite spremenljivke, ki so bolj opisna kot x, y in z, običajno. Torej, "ime", bi dobesedno neke vrste spomina posodo za nekaj podobnega D-A-V-I-D, za moje ime, ali tisti, sicer se prijaviti v spletno stran. In zato je ta vrsta ugodnosti dobite pri nekaterih okoljih. Torej, C # in nekaj podobnega ASP bi zelo pogosto se uporablja v svetu Windows ali za svoje namizje programsko opremo ali spletni strežnik, še posebej, če so vaši strežniki v zameno Microsoft Windows in Microsoft IIS-- ali Internet Information Server, če dobim kratico right-- ki je Microsoftov spletni strežnik. Torej, kaj druge jezike so ljudje poznajo, ali ste že slišali bolj pogosto kot ne? OBČINSTVO: Vem, da Python je vrsta priljubljen [neslišno]. DAVID J. Malan: Zelo priljubljena. Torej je Python tukaj uporablja zelo pogosto V znanstvenih aplikacij ali podatkov znanosti, kjer imate veliko podatkov, ki jo želite analizirati in želite, da uporabite programski jezik za to. R bi se običajno uporabljajo za to kot tudi v statističnem smislu. Toda Python ima toliko funkcije, zgrajena leta. Toliko dodatnega knjižnice, kot ljudje pravijo. Knjižnice so le zbirke kode, da drugi ljudje zapisal, da je lahko to, da uporabljate ne bi bilo treba znova teh koles. In tako Python je zelo pogosto uporablja v podatke znanstvenih aplikacij. Ampak to je tudi zelo pogosto uporablja v spletnih aplikacijah. Lahko izvajajo dinamičen Spletna stran uporablja Python. In dinamično spletno stran, sem se pomeni ne le statično vsebino kot smo ustvarili včeraj, s le težko kodiranje v besedilu latinski in druge podobne stvari, ampak sposobnostjo za prijavo, sposobnost za nakup nekaj, sposobnost, da preverite s svojimi vozički, ipd. Vse to zahteva dinamičnost in vas Potrebujem jezika kot enega izmed njih. OBČINSTVO: Torej, ali Python ima svojo podaljšek, podobno kot je všeč [neslišno] DAVID J. Malan: To počne. Tako v svetu Python, Django je zelo priljubljen okvir za Python. WSGI je še en mehanizem, ki je nekako razlikuje od tega vendar podobno v duhu. To je dodatek, ki vam omogoča, teči Python kode na strežniku. Tam je other-- ja. Tako ti bomo poklical okvire. In to je malo zlorabe. To je več tehnologije za spletni strežnik. Vendar bomo naj bo enostavno in dal je v tem stolpcu je vseeno. V REDU. WSGI. WSGI. Druga thing-- in dejansko, naj mi premakniti da svojem stolpcu ker bi kričati na sebi za jih postavi v isto vedro. Dajmo to v strežnik lastnosti, recimo. To ni tehnični izraz. Torej, tukaj smo lahko WSGI. Tam je CGI, ki je starejši Tehnika, ki služijo up jezikov kot Perl ali PHP, in nekateri drugi. Spet sem že omenil te izraze ne toliko, da bi jih nekako Okorio, vendar tako, da če vidite jih je nekaj si preprosto google, da preberete več. Ni resnična sok da se nekatere od teh stvari. Ampak pojdimo nazaj na jezike. Pogovarjala sva se o C #, Python. Kaj še lahko uporabljate za web programiranje v teh dneh? Osredotočimo se na to še vedno. OBČINSTVO: PHP. DAVID J. Malan: PHP. In kaj je prišel nazaj, da je eden. Torej je PHP zelo pogosto uporablja. PHP skuša priti na slabem glasu. Začelo se je kot jezik izvaja ki jih ljudje, ki morda niso bili nujno najboljši oblikovalci jezik. In tako si lahko preberete vse vrste članki na spletu o tem, kako slabo je PHP. In na žalost je to manifestacija deloma za samo verske razprave da bruhajo med programerji. In to je nekaj, vredno vodenje v mislih, s poslovnega vidika, da to je zelo enostavno za tehnične ljudi da bi dobili vse delal z njihovimi mnenja o določenih stvareh. In ne, ne pomeni nujno da je eden kričati najglasnejši ali najmočnejši, Angriest mnenje je prav. Veliko krat, res samo ni važno. In tako so ljudje le trdila, ne glede na lastne pristranskosti ali cone udobja so. In tako bi morali ohraniti to v mislih, ko bodo sklep, da samo ker nekdo pravi To je pravi jezik delo, da bi bilo res, ampak tudi samo morda je Pravica jezik v svojem igra nastavite ali cone udobja. Ki ni slab, vendar pa bi se morali zavedati da lahko pride do nekaj kontekst tam. Obstaja nekaj objektivno napačne izjave, kot C je napačen jezik za uporabo v teh dneh za izvajanje spletne strani skoraj vedno. Ampak to ni nerazumno reči, da vsaka od teh je prav, da smo doslej obkrožila. PHP je šel skozi številne različice. Torej jeziki imajo običajno različico številke, povezane z njimi. PHP je do, mislim, različica 7 zdaj, tako da je bila približno za kar nekaj časa. In kot jeziki dobili novejši, pogosto dobijo nove funkcije. Vendar morate biti pozorni na to ker če je vaša spletna stran izvaja v različici 7 PHP, vendar skušate zagnati spletno stran, ali ste morda zunanje razvoj kodo da nekdo drug in jih mail je na vas ali ga pošljite na vas in pravijo, tukaj, dal to na svoj spletni strežnik, če vaš spletni strežnik, je nekaj let outdated-- ali je svoj strežnik ali spletno host-- morda ne bo dejansko vozijo. Torej, to so vrste stvari, da je nekdo mora biti pozoren Pri nadgradnji stran ali njeno izvajanje prvič. Slišal sem JavaScript prej. Torej JavaScript je zanimiva ena s tem, da je na splošno strani odjemalca, kot bomo videli Po premoru, ki je pomeni, da teče v uporabnikovem brskalniku. Lahko pa tudi teče JavaScript v teh dneh uporabo nekaj, kar ti Node.js, kjer Node.js je mehanizem za tek kode JavaScript na strani strežnika, namesto da bi uporabili Python, ali PHP ali druge podobne jezike. JavaScript je še posebej primerna za aplikacije za klepet in v realnem času aplikacije, medtem ko PHP ni veliko jezik za izvajanje nekaj kot strežnik chat, kjer uporabniki ostanejo povezani z njim ves čas. PHP je bolj obisku me enkrat, dobil nazaj rezultat, in nato še eno povezavo nekatere sekund ali minut od zdaj. Ker lahko Node.js in JavaScript bo uporablja več stalnih povezav. Drugi jeziki, ki jih sumijo se običajno uporabljajo za spletno stvari? OBČINSTVO: Bi jQuery je okvir? DAVID J. Malan: Dobro vprašanje. Niti. Jaz bi rekel jQuery knjižnico, kjer spet knjižnica je samo kup kode da ima nekdo drug zapisano, da na splošno rešuje nekatere probleme, ki omogoča, upajmo, lažje za vas, da opravi svoje delo. In mi naredil en primer To v kontekstu spleta. V kontekstu spleta obstaja ta jezik, JavaScript, da bomo videli kasneje, pri čemer si Lahko bi rekli nekaj podobnega this-- "Document.getElementById." In kaj pravim včeraj? Prvič, mislim, da je bil edinstven ID, sem dal na del, ki je izgledal takole. "P id =" prvi ">", nato pa smo imeli kot "Lorem ipsum," et cetera. Torej, če bi napisali program v JavaScript nekako manipulirati, spreminjanje spletne strani, ki jih so igrali z včeraj, Jaz bi to uporabili Označeni vrstica kode da se to posebno kodo HTML iz moje strani, da zlasti vozlišče, kot bomo ga pokličete. Vendar pa v jQuery namesto pisanja to, kar je surovo JavaScript code-- samo iz škatle, to je, kako vas pisati it-- bi namesto samo reči, "#first." To je enakovredno. In tako temelji le na tem zelo Skrivnosten primer, kar morda je argument za uporabo jQuery? Zakaj bi razvijalec uporabo knjižnice, kot je jQuery, ki se nanašajo na izoliranem primer, morda? OBČINSTVO: Manj kode. DAVID J. Malan: Ja. To je manj kode. To je samo hitreje na vrsto. Kontrapunkt je da je videti strašnejši. Ne, ne morem prebrati, da od leve proti desni. V bistvu, ker je v glavnem ločila zdaj namesto dejanske besede, Lahko nekako sklepati, da "Document.getElementById" dobi element iz dokumenta njegov ID. Res mogoče ne uporabljate kot okrajšave iz te stvari tukaj. Torej, to je kompromis. Tam je prefinjenost, ki prihaja pogosto s pomočjo knjižnice, zlasti kot jQuery. Ampak dejstvo je, jQuery je nekako o postal de facto standard, tako da skoraj vsak, ti dni, ki piše JavaScript kodo uporablja jQuery ali kaj podobnega všeč, in ne piše taka verbose izrazi, kot so to, ker še enkrat, človeštvo se je naučil, wow, to je bilo nekako zamujena priložnost da bi naše življenje lažje. Torej ljudje bi njihovo življenje lažje. Dobro vprašanje. Drugi jeziki razmisliti. Rekel bi, da med tem seznam Ruby je zelo priljubljena. In tako v svetu Ruby, tam je okvir imenovane Rails, ki je zelo priljubljena. Tako Ruby na tirih je pogosto uporablja izraz. Tudi v tem svetu, naj me Krog Java za spletno stvari, kje v svetu Java boste morda morali JSP, ali Java Portletov, ki je skupen tehnologije. In to je le spet načina uporabe ta jezik v strežniško okolje. Torej, kaj to pomeni? Če imaš fizično strežnik, bi jo dobesedno prenos programske opreme, spletni strežnik in ga namestiti na tak način da imate podporo za enega izmed ti okviri, s katero bi lahko, po drugi strani, na enega ali več od teh jezikov. In v resnici, če se prijavite za kot spletni strežnik ali nekaj oblaku Storitve smo se pogovarjali o včeraj, pogosto stvari šele prihaja z konfiguracija stroja za vas. Saj ni treba, da to nastaviti ročno. Ampak, če si, to je, če je vloga upravitelja sistema, tako rekoč, prihaja v igro. On ali ona bi dejansko ne ta vrsta stvari za vas, ali tako imenovani skrbnik bi to pogosto stori za vas. V redu. Vsa vprašanja o nekaterih od teh tukaj? Ali kakršnih koli možnosti na vse vprašati o jezikih? Okviri? Potem naj vam predstavim samo ena knjižnica To je tudi zelo pogosti v teh dneh. To bi lahko naštevali v neskončnost. In ta knjižnica je vrsta začne padati v nemilost. To je bilo okoli. To je populariziral ga je Twitter za nekaj časa. In zdaj veliko spletnih strani, veliko razvijalcev uporabljati. Vendar pa so nove stvari, ki prihajajo ven in prihaja skupaj. Ampak naj ti samo dal občutek kaj to pomeni za uporabo knjižnice. Torej še enkrat, je JavaScript zelo priljubljen jezik. CSS ali Cascading Style Sheets, smo govorili včeraj. Tudi to je vseprisotna. Nihče ne naredi spletno stran danes brez uporabe HTML in CSS minimalno. Ampak to ni vedno enostavno narediti določene stvari. In tako mi gredo na getbootstrap.com. Ups. To ni, kako črkovati. Getbootstrap.com, ki me bo vodila na ciljni strani za to knjižnico. Tako so velikodušno klic sami okvir, ki je nekako nekako pošteno, ampak jaz bi še vedno pokličete bolj knjižnice kot okvir. Toda to so le sporno semantika. Naj grem na njihovo kartico CSS in Naj gre za nekaj takega. Torej spomniti, kaj so naši obrazci pogledal kot včeraj Cloud9? Bilo je precej grdo. Stare gumbi šole. Mislim, da je gumb je bil siv, ki ga privzeto. In vse, kar je bilo res oblikovano precej messily. Torej, če želite, da vaše spletne obrazce pogledati malo nicer-- mi povečavo tukaj. In lepše res samo pomeni zelo nitpicky estetiko. Torej opazili, kako se je škatla email zaokroženo pravokotne vogale do njega. Tako da je malo čistejši tam. Opazimo, da je beseda email je tam, dokler ne začnem tipkati potem pa izgine. Tako da je lepo lastnost. Opazili, kako je stvar nekako žareče lepo, kar nekaj tega vas dobite brezplačno v brskalniku, ampak nekateri to je tudi knjižnice, Koda, da imajo drugi ljudje zapisano, da ti to dal. Nekaj ​​podobnega mi daje svoje geslo. Ta gumb je malo bolj seksi od privzeto. Zelo v modi zdaj. Odkar iOS 7, ali je tako, svet je dobila zelo ravno, ker je na svetu še preden je bilo veliko sence, veliko od razmišljanj o ikon. Podobno kot v oblačilni svetu, tam je modni trendi, ki pridejo in gredo. Zdaj je vse ravno na telefonu. Dejstvo je, gumbi na vašem iPhone so zdaj samo modre povezave. Tam ni pogosto celo krožni gumbi. Torej, to so le stvari ki gredo v in iz o modi, in tako je to, kako bi lahko narediti bolj moderno videti spletni obrazec. Gumbi. Torej Bootstrap ima veliko lepih gumbov. Torej, če želite modri gumbi, zeleni gumbi, modra, oranžna, rdeča. Bootstrap olajša narediti te stvari. To so vrste stvari da si lahko popolnoma naredil včeraj z CSS in HTML, ampak to je samo bolečine v vratu. In tako namesto, bi kaj Bootstrap ste storili nekaj takega. Če želite, da button-- Izkazalo se je, to je HTML tag nismo uporabljali yesterday-- in želite to pogledati kot je ta zeleni gumb, dobesedno daj to razred, ki smo govorili o včeraj, za "btn btn-uspeha." Zakaj te besede? Twitter, so avtorji Bootstrap, prišel s temi besedami. Lahko bi poklical jim kaj hočejo. Ampak, kaj ste dobili zdaj nekdo drug na Twitterju, v tem primeru, je pogruntal, kako narediti Gumb videti lepo in čisto in zeleno. Zapakirane up to funkcionalnost v razredu CSS, ki se imenuje "btn" in "btn-uspeh," tako da je vsak od nas lahko zdaj jo uporabljajo, ne da bi sploh razmišljal o ga. Tako so odvzete stran pojem zelenega gumba tako da nam ni treba skrbeti njeno izvajanje sami. Mi lahko dejansko osredotočila na izvajanje stvari, ki so pomembni za nas. Če smo se pomaknite tukaj. Sporočila o napakah na zaslonu. Včasih želite malo sporočilo da se pojavi na vrhu brskalnika. Vsak od nas lahko to storite z nekaterimi napor, po včerajšnji lekciji, ampak zakaj bi vas moti? To je tako nezanimivo estetski detajl. Oglejmo stati na rame Bootstrap in jim dovoliti, da nam stvari, kot je ta, kjer smo dobesedno, da bi dobili rdeče polje, samo še narediti odstavek tag z razredom of-- žal. "Bg-nevarnost", bi nam dal to rdečkasto polje namesto tega. Zdaj pa gremo na več zanimivih stvari. Če grem nazaj na vrh Ta stran in pojdite na komponente, zdaj svet postane bolj zanimivo. Na primer, zelo pogosta je padajočega menija, kot je ta. To bi bilo absolutno bolečina izvajati. In to ni bilo tako dolgo nazaj, da smo programerji bi moralo izvesti te vrste menijev iz nič. Vendar je takšna skupna paradigma da knjižnice, kot Bootstrap samo vam možnost, da naredimo spustnem meniju veliko, veliko lažje. Ni eden od načinov, da to storite, ampak če sem prebral dokumentacijo Jaz bi videli, da je v redu, sem moral uporabiti to HTML, če hočem spustnega menija da se obnaša, kot da je. Podobno, pojdimo na gumb spusti navzdol. Torej je to tudi ljubitelj. Če hočem to videti kot gumb vendar ta mali trikotnik pomeni Moram kliknite nanjo in dobil to meni, to je uporaba jezika, imenovano JavaScript. In smo lahko vsi izvajati to v JavaScript. Ampak spet, to je kolo nočete na novo. Pravkar si želeli sneti polica knjižnico za to. Pojdimo na nekaj kot napredek barov. Torej, kaj takega je nekako kul. Če ste že kdaj videli napredek bar premikanje po zaslonu, izvajanju, ki se pogosto je samo ikona predenje. V resnici, tako kot sedmih Naj grem na Ajax-- kaj je to? Ajax info? Ups. Ajaxinfo. Naj spomnim naslova. No pa gremo. Torej, če ste kdaj videli nekaj animacije medtem ko se stran naloži, ali razmišljanja, ali varčevanje, ali ustvariti nekaj, ki jih morda videli takšne animacije, kot ti. Tako da je pogled na nekaj kot je ta tukaj, in kaj je izbrati barvo ospredja zelena, ki čuti nekako prijazen. Lahko kliknite to? Pridite eno. V REDU. Mi bomo samo pojdi z rdečo, saj da je tisto, kar smo dobili. Torej, tukaj jo imamo. Torej, če ste jih kdaj videl to na zaslonu, pri čemer nenadoma pojavi in ​​potem nenadoma izgine, kar je to, da je za izvajanje tega? No, to je samo GIF. G-I-F. In to je animirani datoteke, ki pomeni le to je kot v starih šolskih stripa. Obstaja samo kup drugačna okvirji, ki bodo [jecljanje] in samo ponavlja. In to je vzpostavljajo iluzija gibanja. Tako da takoj, ko se naredi stran nakladanje ali delaš nekaj, kaj programer narediti? No, on ali ona samo skrije to sliko. Torej, vse bar napredek je vrsta od všeč film, ki ga gledate. Ti si nekako pozablja na dejstvo, da je to v resnici ne počne ničesar, to je samo premika. In potem, ko je to storjeno napreduje, jo samo skrije ali pa ga izklopite. In to je vse čarobno ki se dogaja tam. Bootstrap vam daje nekaj malo Ljubitelj, s katerim lahko dejansko glej odstotek, saj gre, vendar je tudi to nekako preprostega animacijo. Oglejmo si nekaj final bolj zapletene primere tukaj. Nekaj ​​podobnega modal. Ali kdo ve, kaj je modalni je? Okno modalni je navadno tisti, ki naj prevzeti nadzor nad ospredju in vam preprečujejo da bi počel kaj drugega. To nekako prisili uporabnikov pozornost na sredini zaslona, njihovo zaklepanje ven, tipično za vse ostalo. Torej, če sem začela to predstavitev, na Zaslon bo na splošno postala siva. No, kako bi bilo sivo? No, verjetno samo spremenil barvo ozadja kot smo včeraj ali nekaj takega. Mogoče je prekrivanje da semi-pregledno. In sedaj opazili, lahko storite fancy stvari, kot je ta. Torej, če ste kdaj kliknili na gumb in bi radi malo pop ven, da se zdi, lahko to storite. In tako se je mar all-- ja? OBČINSTVO: Torej z Bootstrap, da se ga vključi, je tako enostavno, kot kot včeraj smo stran CSS slogi? DAVID J. Malan: Res. Res dobro vprašanje. Naj gre za uvod. In ja. Vse kar morate storiti, da bi Uporaba Bootstrap je v bistvu kopiranje in prilepite te tri dolge vrstice kodo v vrhu svojem spletnem page-- vodja vašega page-- in ste gor in teče. In tam je različna načina to bi vendar to najenostavnejši. Torej, kaj je koristno, o vsem tem? No, če nisi toliko izvajalec spletne strani vendar si poskuša oblikovati, ali pa si želijo zagotoviti nekoga z žico okvir diagrami, tako rekoč, ali izročitve le za umetnike česa želite storiti, sem, da je to dan, bo pogosto gredo na spletno stran kot Bootstrap, kjer, če I želijo izvajati something-- kot je pred kratkim na kampusu smo želeli izvajati spletno orodje za krmiljenje Harvard je katalog Seveda, zaradi česar je lažje za študente za brskanje po tečajih in dodamo tečaje nakupovalni seznam, tako rekoč, da nekako odločiti, kaj so hoteli vzeti. Poskušala sem si predstavljati za Sam, kaj bi sestavine želimo uporabiti za izgradnjo tega? Kaj bi bil uporabniški vmesnik všeč? In samo gledaš skozi mesta, kot ta ali druge podobne knjižnice mesta, lahko pridobijo navdih, ker wow, Lahko uporabite ta pripomoček, in ta pripomoček, in to widget. In potem res kaj programer začne narediti, še posebej v teh dneh v tem modernejši svet spletnega programiranja, je programiranje je bolj o ožičenje stvari skupaj. Nekako ob tem nespecializiranih, To off polici, to off police, in vi pa pameten povezati vse te pike, toda na koncu zgraditi nekaj s ponovnim stoji na ramena drugih, tako da ne boste porabili na mesec izvajanje neumno spustnem meniju ki je pravzaprav težko narediti, če želite, da se delo na Chrome, in IE in Firefox, in vsaka število drugih brskalnikov. To je razlog, zakaj je ta bogat Programska oprema za trgovine in open source industriji kot tudi. OBČINSTVO: Torej ne Bootstrap se posodablja in moraš potem posodobite svoje povezave? DAVID J. Malan: To počne. No, ja, to počne. Bootstrap je trenutno na različico 3.3.6. In na splošno, kaj bi do-- To je dejansko vredno omeniti. Tukaj je tisto, kar je na splošno znan kot pomensko različic Sistem po svetu. Ni vsakdo počne. Ampak, če ste videli številke različic da so v obliki x.y.z-- tako, na primer, prva različica za program lahko 1.0.0. Ali pa, če je to zelo, zelo beta, ali celo alfa stanje, kar pomeni uporabo na lastno odgovornost, da to ni res pripravljen za prime time, morda celo začeli 0.0.1 ali nekaj tako imenovanje. Ampak, če programska oprema se začne pri različici 1,0 ali ekvivalentno 1.0.0, običajno, kar je skupno to days-- čeprav ne omnipresent-- je če podjetje ali Posamezne programer določa nekaj bug v nekaterih del programske opreme, ki res je bil bug, katerega popravek ne Vpliv vas na all-- se ne spreminja obnašanje programa, to samo določa nekaj da ni delovalo properly-- bi jih običajno posodobiti z vrednost tam. Kar pomeni, da nekdo, kot je Kareem lahko preprosto pojdite na svoji spletni strani, slepo spremeniti številko različice od 1.0.0 do 1.0.1, razen to, da ladja, in teoretično ni treba skrbi, da je samo razpadla na njegovi spletni strani, ker nekateri pomanjkanje funkcionalnosti, ker kaj drugega zlomil. Medtem, če sem programer ali kakšno podjetje pokazala, da so nekatere pomembne Sprememba, ki doda funkcionalnost, I nam lahko posodobite 1.1.0 ker sem dejansko spreminjanje obnašanja knjižnice. Jaz vam morda več funkcionalnosti. Končno, če bi bil dejansko bistveno spremembo programske opreme, tako toliko, da bo prekinil veliko uporabniki spletne strani ali aplikacije, potem sem dolžan, v tem modelu, da nadgraditi glavno številko različice preveč, ki je lomljenje sprememba. Z drugimi besedami, da imam Ustavljeno podpora za tiste padec down menija. Torej, če ste nadgradili do 2,0, pol vaše spletne strani lahko preneha delovati. In to je vrsta signala za skupnost, da se tisto, kar je vključen v izdelovanje nadgradnjo. Dobra priložnost za dvig. Druga vprašanja? V redu. No, pa si oglejte na enem finalu tema v tem segmentu programiranja tehnoloških nizov, sicer povezano z mobilne naprave. Torej v današnjem svetu mobilnih telefonov si have-- in iPad, in površine, in vse tiste vrste od devices-- imate veliko izbire, ko gre za izvajanje aplikacija ali spletna stran Vaša stranka je za mobilne naprave. Torej samo navesti očitne, morda v teh dneh, kaj so platforme za razvijejo v mobilni prostor? Kaj naprave boste morda želeli podpreti z aplikacijo ali spletno stran? OBČINSTVO: Apple. DAVID J. Malan: OK. Torej Apple naprave. To pomeni, iPhone, in da pomeni, iPad, in morda celo iPod. Kaj drugega? Olivier? OBČINSTVO: Android. DAVID J. Malan: Android. V REDU. Torej Android telefone, Android tablete, Android Market je še messier because-- in celo Apple postaja grdo. Ker je nekoč iPhone je določeno velikost, in iPad je določeno velikost, in iPod je določeno velikost, ki je zdaj imamo iPad Minis, in tanke tisti, in iPhone 6 Plus in 6. To je postala zmešnjava. To je postal svetovni Android. In to pravim z vrsto valjanja moje oči, saj je razvijalec je perspektive, je bolečine v vratu, kadar nimate Steve Jobs " Vizija popolne kontrole po vseh teh specifikacij. Apple še vedno počne, ker oni tisti, ki gradijo strojno opremo. Ampak to je lepo stvar, če Sem razvijalec programske opreme, samo vem, da je moj iPhone je vedno tekoč biti tako velika, ker to pomeni, da vedno vem koliko zaslon nepremičnin imam. Torej, če želim postaviti ikone V zgornjem levem kotu to se dogaja, da je v popolnoma enak mesto na napravi vsakega posameznega kupca. Toda v svetu iPhone 6s in iPhone 6 Pluse in v svetu Android telefonov, je po vsem karta. In zato si je težje programa stvari, predvsem uporabniški vmesniki, ker zdaj boste morali začeti urejanje vaš uporabniški vmesniki relativno, ne absolutno. In enako je bilo res na brskalnikih, in namizni in prenosni računalniki za let zaradi vas, seveda, so različnih velikosti zaslona. Kaj drugega? Morda imate površin, kot Microsoft. Morda have-- OBČINSTVO: Windows phone. DAVID J. Malan: Kaj je to? OBČINSTVO: Windows phone. DAVID J. Malan: Da. Torej okna telefonov še vedno mogoče najti. Vrsta vrsta naprave BlackBerry, vendar pa naprej poskušali. In potem grozdov v drugih napravah. Torej, za večino del, kaj je pravijo, to so tisti, da skrbi v tem trenutku. Zagotovo Apple stvari, gotovo stvari Android, in med Windows, kot so površinske tablet Zdi se, da lov na precej dobro. In tako med temi napravami, Če želite, da bo uvedla, recimo, mobilno prisotnost za vaše Družba, katere vrste konstrukcijskih odločitev moraš narediti? No, smo že povedali na svetu Apple je vsaj dva jezika ki se običajno uporabljajo. Ena je bila imenovana, kaj? OBČINSTVO: Objective-C. DAVID J. Malan: Ja. Torej, Objective-C, ki je starejši. To je tudi jezik, ki veliko Mac aplikacije so vedno napisane v. Potem druga novejša ena pa je bila? OBČINSTVO: Swift. DAVID J. Malan: Swift. In to so vrsta dva vedeti, da bi naredil vtis ljudje. Potem pa v Android svetu, kateri jezik ne Android uporabo? OBČINSTVO: C #? OBČINSTVO: Java. DAVID J. Malan: Java je jezik "du jour." V svetu Windows, seveda, bomo rekli, C # v tem primeru. Torej, že je ta vrsta moteč, ker tisto, kar je takeaway za podjetja lastnik ali nekdo, ki je pravkar želi, da bo uvedla mobilno prisotnost? Kot, prekleto? Tako kot, če želim podpreti dokaj široko bazo uporabnikov, Moram napisati, se zdi, tri ločene aplikacije. Ena v enem od teh jezikov, ena v Java, enega v C #. In tudi če hočem funkcionalnost biti enaka, to ni važno. Še vedno je treba uporabiti drugačne jeziki, saj Apple in Microsoft, in Google vsa podpora v različnih okoljih. In to je bila izziv za let. Nazaj v dan, ko je ljudje uporabljajo za nakup programske opreme v računalniški trgovini v skrči zaviti škatle, bi bodisi morali dosegli za polico Mac, ali for-- morda ta zelo majhen Mac shelf-- ali večji Windows polica in kupiti nekaj programske opreme. In zelo pogosto, ni bilo niti kaj za vas na polici Mac. Zakaj? No, podjetjih odločili, če je 90% sveta, 95% sveta ima računalnike, zakaj sitnost tudi izvajanje stvari na Mac OS? Kot aside-- skupaj digression-- zakaj je to da Mac zdi tako neprepustna za virusi, in črvi in ​​varnostne grožnje? Apple bolje na to? Boljši pri ohranjanju računalniki varno? OBČINSTVO: Manjša skupina? DAVID J. Malan: To je verjetno večji bit z njim. Tako so mnogi uporabniki Macov imajo dolgo trdil, oh, uporabim Mac, boste imuni na viruse in črvi in ​​vse te stvari ki že dolgo muči računalnikov. Da bi zato, ker Apple ima boljše programerji in pišejo boljšo opremo, ali Operacijski sistem je bolje oblikovan. Mogoče, vendar verjetno ne. Verjetno je, da ko ste 12-year-old, ali 30 kaj nekako sedel doma pisno zlonamerno programsko opremo, da prevzame svet, boš šel po mnogo večji ciljna publika. 95% na svetu, ki bi lahko se operacijski sistem Windows ali kakšno variante le-teh. Tako da je malo na obeh straneh. Ampak, da njihove kreditne, Apple, kolikor mi je znano, je se ni res touted kot bolj varno, saj ste samo vabi drama, če naredite to trditev, bi mislim. V redu. Brez dobili preveč daleč navzdol da, kako rešiti to? Ali imate za nakup ali pa moraš plačati tri različne ljudi, da razvijejo aplikacije? Ali boste izbrali drug na drugega? Kaj je treba voditi vaš razmišljanje tukaj misliš? Kareem? Ne. Nekdo drug. OBČINSTVO: Pridi s strojno opremo. DAVID J. Malan: Pridi s strojno opremo? Kaj misliš s tem? OBČINSTVO: Za okolje. [Neslišno] DAVID J. Malan: Torej, to je res. Ampak vaše stranke, Medtem, morda iPhone, imajo lahko Android telefonov, ki jih morda tablete, ki jih je Microsoft. Torej, kako imate mobilni strategijo Za vse te različne uporabnike? Zdi se, da če stane, recimo 1000 $, da bi iPhone Vloga, da se dogaja stalo $ 2.000 do bo iPhone aplikacija in aplikacija Android, ali 3.000 $ podpreti tudi naprave Windows, kot tudi. To je verjetno precej podcenjevanje, in ne morda celo je linearno razmerje, kot je ta. OBČINSTVO: Če želite imeti aplikacijo ali Ne, lahko imate odzivno spletno stran. DAVID J. Malan: Dobro. OBČINSTVO: Ali lahko ima vgrajeno aplikacijo. DAVID J. Malan: Ja. Torej v vseh tem tukaj, smo se pogovarjali o tem, kaj ljudje bi rekel avtohtone aplikacij. To je aplikacije, ki so napisana v maternem jeziku te naprave. Tako domači Objective-C ali Swift koda, ali Java ali C #. Kar pomeni, da ko prenesete, kaj je pravijo Snapchat, priljubljeno aplikacijo, ali ko prenesete Facebook za telefonom, nalaganjem bodisi verzija napisana za vaš iPhone, ali napisana za telefon Android, ali napisana za površino. Vendar pa obstaja alternativa. Kot Olivier je namiguje, lahko dejansko uporabljam HTML 5 Namesto z uporabo, kar se imenuje web Vloga, s katero ga preprosto izvajajo svojo mobilno prisotnost in vse funkcionalnosti. Kaj mislim z mobilnim prisotnost? Kot vašo spletno stran, da je vaša kontaktni podatki, seznam vseh svoje izdelke, mogoče ima nakupovanje voziček, mogoče prodati stvari skozi to. Ne glede na vaša vloga je, da njeno izvajanje, ne v cilju-C, ali Swift, ali Java ali C #, ampak v HTML 5, ki je bil jezik, smo iskali na včeraj, z JavaScript in CSS. In kaj je lepo o tistih tri je, da jih vodijo, potrebujete le kakšen kos opreme? OBČINSTVO: Spletni brskalnik. DAVID J. Malan: Spletni brskalnik. In najbolje vem, vse te naprave prihajajo s spletnimi brskalniki, tako da uporabnik ni treba namestiti nekaj posebnega. Tako da lahko samo povem svoj Občinstvo, vaše stranke, pojdite na acme.com v vašem brskalnik in si bom samo imeti spletno temelji izkušnjo ki še vedno zapolnjuje zaslon, vendar vam ni treba skrbeti za vse Ti stroški so vse te kompleksnosti. Ampak zagotovo pa se bo da je ulov tukaj, kajne? Še posebej, če sem poudariti da je pred nekaj leti, zelo prva različica mobilna aplikacija Facebook je je bil večinoma HTML 5 aplikacij. In imajo več Pred kratkim, je reimplemented V svojih drugih aplikacijah. Torej, zakaj bi si ne Takoj želim povedati, dobro, seveda bomo to naredili? Kaj bi se skriti stroški? OBČINSTVO: Uspešnost. DAVID J. Malan: Uspešnost? Kako to misliš? OBČINSTVO: Native app ima večjo zmogljivost. DAVID J. Malan: Torej, to je Res, za nekaj razlogov. Mi lahko oversimplify odgovor. In spomni našo razpravo o razlagati v primerjavi zbranih jezikih. To je HTML 5 in z njo, samo da bi Jasno, JavaScript-- pogosto napisana JS-- in CSS so vsi razlagati jeziki, čeprav samo JavaScript je programski jezik. In zato v primerjavi z njimi, nekateri od teh se zbirajo, vsaj ti three-- Objective-C, Java in C # - teh, v teoriji bi morala biti samo hitrejši. Toda obstaja še ena realnost for-- OBČINSTVO: Funkcionalnosti? DAVID J. Malan: Kaj je to? Občinstvo: Funkcionalnosti. DAVID J. Malan: Funkcionalnost? Kako to? OBČINSTVO: S kamero off telefonu ali kaj podobnega. Lahko uporabite tiste z brskalnikom. DAVID J. Malan: Točno tako. Oni sec-- OBČINSTVO: [neslišno] DAVID J. Malan: To je še ena dobra. Obstaja funkcije, ki prihajajo z mobilnimi telefoni danes da se ne glede na obliko, za varnost Razlogi, dostopne na spletnih brskalnikov. Ker bi bilo nekako grozljivo stvar, če je ravno takrat, ko obiščete google.com, ali cnn.com, ali website.com, da ima ta spletna stran z energijo za obračanje fotoaparata, posneti fotografijo vas, in jo nato uporabljati. Ampak si ne bi želeli naključno spletno stran da obiščete za zelo prvič da ima to sposobnost. In kaj telefon Proizvajalci običajno storijo je pa samo preprečite dostop za to vrsto informacij za brskalnik, ki vam pomeni ne more izvajati kamero. Ne, ne moreš izvajati potisna obvestila, piska, ki jih dobite na zaslonu s kratkimi sporočili. In v resnici tudi GPS je le nekako iz vrste na voljo spletnih brskalnikov. Če ste kdaj, na laptop ali na mobilni napravi, potegnil nekaj podobnega morda CNN.com, ampak tudi lokalne novice postaje ponavadi za to, ste pozvani pogosto z message-- foxnews.com želi vedeti, kje ste. Odobri bodisi zavrne. No, brskalnik poskuša dostopati GPS podatke iz telefona. Toda na srečo Microsoft, in Apple in Google so se odločili, da se počuti kot je koristen položaj, želimo, Google Maps in drugih orodij za delo, vendar ne želimo, da lezenje ljudi iz ga samo omogoča katero koli spletno stran, da to storijo. Torej, kaj je nekako srečata pol ter pozove uporabnika. Ampak to še ni nujno z vso strojno opremo, kot so kamere in s pritiskom obvestil in podobno, tako da boste morda morali žrtvovati nekatere funkcije. Toda predstava preveč. To je vse manj opazen danes, morda kot LTE ulov in hitreje internetne hitrosti na telefonih, lahko pa nekako občutite razliko. Kot ujeti osnova prijave Samo počuti počasneje, tipično kot native aplikacije, deloma ker je ujeti osnova prijave po definiciji je na internetu. To je v pogovoru s strežniki na spletu. In če je omrežna povezava počasen, celo pomikanjem lahko počasno. Toda native aplikacija, imate že predhodno downloaded-- verjetno ko ste bili doma iz trgovine z aplikacijami, ali pa vsaj vnaprej preneseno je v celoti prej, ne glede na vaš povezava speed-- in zdaj imate vse bitov, ki jih običajno potrebujete. Razen morda nekaterih podatkih ki prihaja iz strežnika. Torej, to so kompromisi tukaj. Tam je nekako sredi kompromis, v resnici. In mislim, da you-- OBČINSTVO: Uporabite offline podatkov. V native aplikacije, lahko [neslišno] DAVID J. Malan: Absolutno. Torej je vprašanje offline, ki je zelo nadležno Če ne morete igrati neko igro ali uporabe nekaj programske opreme, samo zato, ker ste v kleti nekje ali v dvigalu. Izvorni program je odporno z večjo verjetnostjo proti, da ob predpostavki, da imajo vse Podatki, ki jih je treba na lokalni ravni. Torej obstaja še tretja možnost tukaj. In naj pripravi spekter kot domači app tukaj in spletne aplikacije tukaj. In kaj je v sredini je nekaj called-- in mislim, da bi morali uporablja besedo prej, morda? Hybrid aplikacija. In kot beseda pomeni, to je nekaj v sredini. To je nekako spletne aplikacije in to je nekako native aplikacije. In kaj to pomeni? Izkazalo se je, da so frameworks-- uporabiti izraz iz earlier-- programske opreme da so drugi ljudje pisno Za vsakega od teh platform. Te in še druge naprave. Dejstvo je, da mi gredo na PhoneGap, ki je en tak okvir, ki sem Verjamemo Adobe ima zdaj. Naj gre za uvod. Pa poglejmo. Poglej, če lahko vidim seznam orodij. Strojna oprema. Uvod. PhoneGap strojne opreme. Pa poglejmo. PhoneGap dostop do strojne opreme. Naj vidim, če bomo lahko našli malo grafikon, ki se uporabljajo, da imajo. To je na drugem mestu. Ali je to koristno? No. To bo zapravljaj časa tam. PhoneGap strojne opreme. Naprave. API naprava. Nope, pa ste ga premaknili. PhoneGap. Pojdimo še zadnjič pogled na to in poglej, če ti lahko pokaže. Uvod. Namesti PhoneGap. Namestitev aplikacije za mobilne naprave. Daj no. Ti si preuredili vse. V redu. Oh, v redu. No, pa gremo. To pa ni vse, prosveti, vendar To je tisto, kar sem nekako iskal. Torej PhoneGap je okvir, ki vas lahko prenesete brezplačno, ki vam omogoča nekaj starter koda, v bistvu. Torej del kode, ki so napisali da ne naredi skoraj ničesar. Toda tisto, kar ti daje v bistvu ekvivalentna aplikacije, ki samo postavlja Velik pravokotnik na zaslonu uporabnika. To ne postavlja bar URL, kot je brskalnik ne dajo naslova. Samo postavlja velik pravokotnik. In konfigurirate tako velika pravokotnik, pod pokrovom, dejansko gre za acme.com, ali morda m.acme.com za mobile.acme.com, vendar pa uporabnik ne ve oni so na tem naslovu. Vse, kar vidim, je Vsebino spletne strani. Toda kaj je lepo o tem bitju hibridni app je to kaj PhoneGap in druga podjetja ki vam je oni vam daje malo kode v cilju-C ali Swift, ali malo kode v Javi, ali malo kode v C #, in v bistvu, vse, kar morate zagotoviti je minimalno Naslov vaše spletne aplikacije, ki temelji. In potem si snop to vse skupaj in si to so bodisi dostopate do Spletna stran preko interneta, ali pa celo predpomnilnika lokalni kopijo v uporabi, in nato shranite aplikacijo v iPhone format, telefon Android format, obliko površine, ali poljubno število drugih naprav. Upload vsaka od teh različic Google Play Store, na App Store, na Windows Store, in tako naprej. In zdaj imate lahko vse vaše občinstvo prenos resnično native aplikacijo, čeprav je bila večina kode nekdo drug napisal, vendar pa je vsebina tega nativne aplikacije vse prihajajo, tipično, svojo spletno stran. Torej si napisati svojo spletno stran v HTML, JavaScript in CSS. Torej, zakaj zamegljenosti te vrstice? Zakaj imajo hibridno aplikacijo da je vrsta rodu, ampak tudi vrste web temelji? Kaj je bistvo dodajanje te kompleksnosti? Mislim, še vedno, le iz pogled skozi tej strani priročnik za začetek uporabe občutek je dobil cel kup korakov za mene storiti, preden sem can-- OBČINSTVO: Ponovna? DAVID J. Malan: Ponovna? Kaj misliš s tem? OBČINSTVO: Od izvorne kode. Torej bi bila ista koda deluje na vse različne platforme so. DAVID J. Malan: Ja. OBČINSTVO: [neslišno] DAVID J. Malan: Odlično. Če čas je omejen in če vas nimajo, da veliko developers-- Morda imate en razvijalec in on ali ona gotovo ne vem, vsi ti environments-- gotovo ni dobro, in prav gotovo ne more programa V vseh treh hkrati in ladja tri izdelke rok za eno, lahko ga imate ali jo zgraditi vse v HTML in JavaScript in CSS, in nato naučili mali malo o domorodnih aplikacij, ravno dovolj za prenos okvir, kot je ta, potem naložite izdelek vseh različnih trgovinah z aplikacijami tako da imate zdaj native aplikacij. Tako, da se zdi, kot win-win, ampak še enkrat, da bo jasno, kaj so potencialni stroški ali gotchas? OBČINSTVO: Uspešnost? DAVID J. Malan: Ja. Izvedba. To je težko opisati z besedami. Torej, če si se na vera mobilna aplikacija, spletna aplikacija bo običajno opravljajo počasneje. Morda ne izgleda čisto v redu, ker na iPhone in Android telefonov, in naprave Windows, tam je vedno neke vrste privzeti videz in občutek, da vse gumbi in meniji. In podjetja v spletu, lahko poskusite za približanje teh estetiko s knjižnicami, kot Bootstrap, vendar user-- bistroumno user-- se dogaja, da veš, da nekaj ni čisto v redu tukaj. In to je v redu, morda to ni nič takega. Toda vprašanje uspešnosti absolutno je velik posel. Native aplikacije bo ponavadi samo veliko bolj odziven in zato bolje. In tako, kaj potem lahko najboljše iz obeh svetov? Če ste še posebej majhen družba ali majhna skupina, nimate sredstev razviti aplikacijo vzporedno na vseh treh platformah, in odkrito povedano, občutek, kot da je to slaba ideja nekako ker če ga razvaljamo in vsi trije hkrati zavedajo, da bi morali dodali nekaj funkcij ali naredil kaj drugače, zdaj morate popraviti v tri mesta, ne ena. Kaj je mogoče optimalno Strategija tukaj na splošno, Če so viri in čas tesen? OBČINSTVO: Samo to na iOS. DAVID J. Malan: To ni nerazumna. iPhones, vsaj v ZDA so zelo priljubljena. Android še vedno zdi, da imajo prevladujoč tržni delež, v svetu, na splošno. Torej niste nujno reprezentativna v celotnem svetu ta teden. Ampak to je absolutno ena odločitev. Mislim, na kampusu tukaj sem mislim nekaj krutih številko ali odstotek študentov imajo iPhone in ne Android telefonov. Ampak v tujini, to je nekako nasprotno. Torej odločite, da glede na svoje občinstvo. Kako veš, kaj je vaša ciljna skupina? No, smo izvedeli trik včeraj. Lahko od njih zahteva. Če imate ujeto občinstvo jim lahko pošljete obrazec anketo. Ali pa bi si kaj? OBČINSTVO: Google Analytics? DAVID J. Malan: Kaj je to? OBČINSTVO: Google Analytics. DAVID J. Malan: Google Analytics. Ja. Ali pa še bolj neke vrste tehnično, samo poglej svoje spletne strežnike dnevnikov. Ker kaj se zgodi vsakič, ko brskalnik ali prenosni računalnik, namizni ali Telefon obiščejo vašo spletno stran? Ti poslati HTTP glave, ki prikazuje si kaj brskalnika in operacijskega sistema, ki ga uporabljajo. Torej lahko sklepamo, z veliko verjetnostjo, kaj je tvoj demografske uporablja ta način in nato prilagodi. Torej predvidevam, da je to nesprejemljivo. To je neke vrste slabo za posel, če Uporabniki Androida ne more kupiti naše pripomočke. OBČINSTVO: Ali ste bo zaračunati ali ne? DAVID J. Malan: Ali boste za polnjenje? Torej OK, boste dobili kar ste plačali za. OBČINSTVO: Ali je vaša aplikacija bo prosto ali je gonna-- DAVID J. Malan: OK. Mogoče bi lahko povrnejo stroški, ki jih način, or--? OBČINSTVO: Prebral sem študijo nekoč, da je omenjeni več uporabnikov Apple plačal za aplikacije versus-- DAVID J. Malan: Res je ker oni so že plačujejo več za njihove naprave. Torej ni nerazumna predpostavka. OBČINSTVO: [neslišno] DAVID J. Malan: OK. Torej, če oni so bolj pripravljeni plačati, potem pa k vragu z uporabniki Android. Oni ne bodo plačati nam ničesar anyway. Mi lahko tudi osredotoči naše prednostne naloge, vsaj v prvih nekaj mesecih ali eno leto, na iOS. Popolnoma razumno. Kaj je bolj vključujoče Strategija kot to? Maybe-- kaj je to? OBČINSTVO: [neslišno] DAVID J. Malan: Bolj expensive-- tako da morda vložiti več in-- iti naprej. OBČINSTVO: Ja. Samo mobilna spletna stran. DAVID J. Malan: Torej, narediti mobilne spletne strani in ne tudi skrbeti za to kompleksnosti. Ali morda smiselno strategijo, ki je tudi Facebook je, se začnejo s hibridom Vloga, ker to ni da je veliko težje to storiti kot to. Moraš prebrati nekaj dokumentacijo in ugotoviti, kako za nalaganje stvari v App Store. Mogoče začnete z ta, da na prvi dan, lahko podpira vse svoje uporabnike. In potem, tako kot Facebook in druga podjetja so storili, če imate sredstva, imate ljudi, zakaj ne bi ponovno izvajati samo aplikacija za iOS. Še vedno ima nekaj za vsakogar, čeprav to je slabše izkušnje morda, z uporabo hibridne. Vendar pa lahko postopoma uvedla in zamenjati kratkoročno ukrepi hibridnih aplikacij z vaši več avtohtonih aplikacije. OBČINSTVO: Ampak s hibridno Aplikacija bodo imeli dostop do funkcij mobilne? DAVID J. Malan: Ni nujno. Torej, morda narediti zavestno odločitev že na začetku, lahko naložite le fotografije na materni iPhone aplikacija za Facebook, ne pa tudi o uporabi Android, sprva, npr. In to je malo belo laž zato ker spletne aplikacije imajo več omejitev od hibridnih aplikacij, se izkaže ven, in če beremo dokumentacijo za PhoneGap in stvari, kot to, ljudje so prišli do načina dati aplikacije web temeljijo dostop do fotoaparata, tako dolgo, kot ga uporabljate hibrid aplikacija. Kako pa to deluje? Ker hibrid Vloga, po definiciji, ima malo kode v Cilj-C, in Swift in Java ali C #, lahko dostop do strojne opreme. Ni nujno, da je vse, vendar pa bi lahko zelo dobro se zgodi, da imate Dovolj dostop, da bi dobili kamero, tudi za Android platforme za primer, v tem izmišljene npr. Vsa druga vprašanja? V redu. Zakaj ne vzamemo naše 15 minutni odmor tukaj. Bomo nadaljevali ob treh s končno poglej spletno programiranje, podatkovne baze, in Javascript.