DAVID J. MALAN: Olemme siis takaisin. Niinpä korkean tason aihe tällä hetkellä nyt on tekniikka pinoja, joka ei ole Erityisen tekninen termi, se on enemmän saalis kaikki mahdolliset määrä teknologioiden yhdistelmillä että voit käyttää ratkaisemaan ongelmia. Ja ehkä kaikkein sopiva tapa aloittaa olisi tarkastella kielten vuodesta Jatkan hurja pois läjän ja useimmat kaikki huoneessa on luultavasti kuullut ainakin yhden. Ja niin miksi emme yritä erottaa what-- erottaa kielillä ja puhua lyhyesti, kun olisi valita yksi yli muiden, miten he tavallaan pohjimmiltaan eri, ja erityisesti kun olet chattailuun insinöörien, tai yrittää päättää kenelle palkata, tai mitä täytäntöönpanoa ehdotus Greenlight, miten voit itse tehdä tuollaiset päätökset. Joten vain suoltaa joitakin asioita pois. Kielistä ihmiset ovat kuullut, mitä tulee mieleen? C. OK. OK, C ++. Mikä tuo on? Yleisö: Python. DAVID J. MALAN: Python. Erinomainen. Mitä muuta? Visual Basic. Kuulin Java. Visual Basic-- alias VB. Java. NET, joka on enemmän kiinni kaikista mitä on yleensä C # kuin kieli kysymyksessä. Ja haluaisin mainita, että. Joten palaamme siihen. Olen pahoillani? Anteeksi? Yleisö: SQL. DAVID J. MALAN: Scratch? Yleisö: SQL. DAVID J. MALAN: Ai, SQL. OK. SQL. Joten me palaamme that-- todella, se good-- tauon jälkeen samoin. Mitä muuta? Yleisö: Oracle. DAVID J. MALAN: So Oracle, ei kieli. Oikeastaan ​​he käyttäisivät SQL samoin. Joten laittaa että kun tauko samoin. Ja anteeksi, jotain täällä? Yleisö: Mathematica. DAVID J. MALAN: Mathematica? OK toki. Ja MATLAB on eräänlainen siellä joskus. Yleisö: R. DAVID J. MALAN: R. Mennään tänne. Fortran. Varma. Vanhemmat koulu. Fortran. COBOL. Minä heittää ulos BASIC. BASIC. Any-- Yleisö: MATLAB? DAVID J. MALAN: MATLAB. Voi lyödä teitä siitä. Mitä tahansa? Voin kuvitella pari muuta. Voin ajatella muutamia muita. Ja mikä oli viimeinen? Yleisö: ASP. DAVID J. MALAN: ASP? Joo. Active Server Pages. Se yleensä kuuluisi muita kieliä, joskus C #, joten tehdään poistua tästä pois. Mutta me palaamme että for kehyksiä ja tällaisia. Mitään muuta? PHP on suosittu. Ruby on toinen. JavaScript, jota ei pidä sekoittaa Java, on toinen. Se on tavallaan paljon. Joten se voi olla varmasti ylivoimainen, kuin jos luettelo ei ole jo, vain alkaa tietää mistä aloitat. Ja niin onneksi nyt lähestyä asiaa muutaman näkökulmista. Ensinnäkin, yritetään luokitella ainakin osa näistä kielistä kahteen laajaan kauhat, muistuttaa keskustelun meillä oli ennen taukoa, jossa puhuimme kokoamiseen, ja lähdekoodi, ja kone koodin, koska se ei ole, miten kaikki kielet toimivat. Joten me nyppiä pois muutamia esimerkkejä soita näin tai vastapäivään examples-- kyseiseen malliin. Ja sitten, miksi emme puhua sovelluksista että kielillä käytetään yleensä. Ja rehellisesti, vaikka tämä on melko pitkä lista, se on vain osa tästä luettelosta te yleensä lukea näinä päivinä ongelmien ratkaisemiseksi. Tietyt kielet ovat uudempia kuin toiset. Tietyt kielet ovat suositumpia kuin toiset. Joten se ei ole kuin olet niin ylivoimainen tehtävä, ennen kuin päätettäessä joukossa Näiden eri kielillä. Joten tehdään tämä. Meillä oli aiemmin, lähdekoodi, ja sitten meillä oli konekielelle. Oho. Kirjoittaminen väärä sana. Konekielelle. Ja meillä oli joitakin prosessin keskimmäinen called-- joo, kääntäjä. Niin kääntäjä. Ja mitä konekoodi todella toimii lopulta tulee olemaan todellinen suorittimen. Toisin sanoen, koneella koodin, I tarkoitetaan alinta tasoa ohjeet että CPU todella ymmärtää. Yhteen-, vähennys-, liikkua, tallentaa, ja toimintoja niin. Ja niin tämä on malli, mikä on yleisesti tunnettu koottu kieliä. Ehkä ei ole yllättävää. Joten tämä on malli käännettyjä kieliä. Mutta näyttää siltä siellä n toinen luokka kielten nimeltään tulkittu languages-- tulkitaan languages-- jotka ovat hieman erilaisia. Kirjoitat lähdekoodia, suorita ne tulkin välityksellä, ja että tulkki on mitä toimii CPU. Toisin sanoen, mitä et emit on mitä ilmeisesti? Konekielelle. Nollat ​​ja ne, jotka CPU itse lopulta ymmärtää. Joten tässä ensimmäisessä versiossa ja kieliä kuten C, kuten näimme, kirjoitat lähdekoodia se on hieman mystistä, mutta ainakin se on eräänlainen Englanti kaltaisia ja se on ainakin luettava kun siihen tottuu. Sinä ajaa se läpi kääntäjä ja ulos saat lopulta nollia ja ykkösiä. Tämä yksinkertaistus. On joitakin muita vaiheita siellä. Itse asiassa, jos olet koskaan kuullut termi "konekielellä," se on yksi vaihe ennen nollat ​​ja ykköset. Tämä hieman luettavissa, mutta silti melko vaikeaselkoisia. Ja niin siellä välivaiheita jotka ovat itse asiassa täällä. Mutta tuotanto lopulta on nämä nollia ja ykkösiä. Mutta tulkitaan maailmaan, jossa on kieliä, joita tulkitaan kielet, voit itse ohittaa tuon. Toisin sanoen, kun kirjoittaa ohjelma, juuri heti käyttää sitä. Et kääntää sen ja sitten ajaa sitä, niin kuin ennenkin. Sinä vain kirjoittaa sen ja käyttää sitä. Ja jos haluat tehdä nopeasti muutos, teet nopea muutos ja uusintana se. Joten ei ole keskellä askel täällä. Nyt ohjelman kirjoitin aikaisemmin, mikä oli tämä "Hello World" -ohjelma, saatat kohtuudella wonder-- tai kohtuullisiin state-- joka ei ollut tuolloin vievää kääntää minun ohjelma. Se näyttää tehneet sen vain. Ja on graafinen versioita kerääjiä. Olen käyttäen hyvin mystistä versio, mutta voit lyödä toistopainiketta ja joka itse tehdä kokoamista varten. Olen koonnut ohjelman ja sitten jälleen, ajaa se, minä vain tehdä tämän. Ja se tuottaa vasemmalla siellä, "Hei!" Se ei näytä olevan kaiken työläs. Mutta kun ohjelmat ovat enemmän kuin vain yksi, kaksi, kolme, neljä, viisi riviä pitkä, se voi ottaa paljon sekuntia koota. Joskus jopa minuutin tai melko vähän aikaa koota. Kun kaikki, jotkut maailman suurin tuotteiden ovat asioita, kuten käyttöjärjestelmiä, Microsoft Word, Microsoft Excel, jotka voivat olla satoja tuhansia tai jopa miljoonia rivejä koodia pitkä, ja ne eivät vain välittömästi toteuttaa. Lisäksi verkossa, se on muodikasta käyttää yksinkertaisesti tulkitaan kieliä, osittain koska te voi tehdä muutoksen kehittäjänä ja sitten vain välittömästi uudelleen selainsivun ja heti nähdä tuloksen. Ja niin HTML, mutta ei ohjelmointikieli, on kieli, joka on tulkittu. Ja näimme, että sama vaikutus eilen. Sinä vain lataa sivu tehtyään muutos Cloud9 and-- voila-- näet uuden tuloksen. Joten mitä eroa täällä? HTML, recall, meillä oli avoin HTML, avoin pää, avoin otsikko, lähellä otsikko, sulje pää, avoin ja ja niin edelleen. Meillä oli kaikki nämä tunnisteet, että me melko paljon sanoi, kertoa selaimen mitä tehdä. Hei selain, tässä tulee HTML-sivun. Hei selain, tässä tulee otsikko. Hei selain, tässä tulee joitakin tekstiä, joka olisi rohkea. Ja sitten kertoa päinvastainen. Hei selain, se on siinä että lihavoitu teksti. Hei selain, se on siinä elin. Ja niin edelleen. Ja niin mitä on selain? Selain on vain tulkki. Se on ohjelma, joka joku Microsoft tai Google on kirjoittanut, joiden tarkoitus elämässä on lukea kieli, joka tunnetaan nimellä HTML, ja tulkita sitä. Ylhäältä alas, vasemmalta oikealle. Ja tahansa selain näkee avoimen kiinnike, otsikko, loppusulkumerkki, sen pitäisi tulkita siten, oi, että tarkoittaa minun pitäisi laittaa nämä sanat tavalla täällä yläosassa selaimen. Niin se vain tekee mitä HTML-koodia sanoo. Mutta ei ole nollia ja ykkösiä. Ei ole kokoelma. Et tee sitä. Selain ei tehnyt sitä. Se on vain ole mukana. Joten hengessä näistä jatkuvista aiheita, tänään ja eilen, joka näyttää olevan hieno ominaisuus. Tallennat koodin ja sitten vain ajaa sitä tai tulkita sitä. Ei ole välivaiheita. Varmasti siellä maksaa? Kaikki voi olla puolensa. Mikä siis mahtaa kustannus olla? Yleisö: Space. DAVID J. MALAN: Space. Niin, varmasti. Vuonna koottu maailmassa, olet ei vain alkuperäistä lähdekoodia, olet myös luomaan ja sitten oletettavasti säästö Koneen code-- nollat ​​ja ones-- ja se sai ryhtyä jonkin verran tilaa. Ehdottomasti. Joten se maksaa enemmän tilaa. Joo? Yleisö: selaimet saattavat tulkita eri tavoin. DAVID J. MALAN: selaimet saattavat tulkitsevat sen eri tavalla. Se on totta. Mutta en ole varma, että en mukava väittämällä että koska se on tulkittu. Se on enemmän vain koska se on toteutuksen kielen että itse on epäselvyyksiä. Joten ei aivan vahvista että yksi, mutta hyvä aavistus. Mitä muuta voisi olla maksettu hinta? Andrew? Yleisö: Sinä yhdistyvät kaksi vaihetta, niin te siis on monimutkaistuminen samoin. DAVID J. MALAN: Tällä complex-- kasvu monimutkaisuus missä? Kenelle? Yleisö: Eli tulkki askel, olet yhdistämällä tulkki ja kääntäjä vain johtavat to-- DAVID J. MALAN: Ah, OK. Ironista kyllä, se on todennäköisesti hieman yksinkertaisempaa toteuttaa tulkki, vaikka se näyttäisi saanto upsides tämän mukavuutta. Joten mahdollisesti totta. Mutta se tavallaan riippuu, I sanoisi, kielestä ja miten ne menivät sen täytäntöönpano. Ei voi olla paljon enemmän monimutkaisuutta, todella, että kääntäjä, vain koska sinun täytyy mennä jotain niin korkean tason jotain niin matalan tason. Mutta hyvä ajatus. Joten toisin sanoin, käännetty ohjelma, kun muuttui nämä nollia ja ykkösiä, päätyy kielellä että CPU puhuu, kun taas tällä puolella maailma, ohjelma olet kirjoittanut, koodia olet kirjoittanut, koskaan itse saa muuntaa todellinen kieli tietokone puhuu. Nollat ​​ja niitä. Se pysyy alkuperäisessä, enemmän ihmisen ystävällinen, luettavampi kieltä. Joten mikä voisi olla vaikutusta siellä, jos et itse vaivata muuntaa ohjelman hyvin kieltä että alla oleva tietokone puhuu? Yleisö: Might ei ymmärrä jotain? DAVID J. MALAN: Might ymmärrä jotain. Ja jotka voivat claim-- jos se ei ymmärrä jotain, joka on vika tai puute of ominaisuus tulkin. Jotta olisi enemmän virhe kuin kustannus. Yleisö: Käytössäsi lähdekoodiin? DAVID J. MALAN: On hyvä. Joten haittapuoli tässä teille näyttäisi pääsevät. Sinä, loppukäyttäjä, saattaa näyttää on pääsy lähdekoodiin. Ja se ei ole aina totta. Mutta se on totta kyseessä on JavaScript, joka me tarkastelemme jälkeen tauko tänään, mikä on tulkittu ohjelmointikieli että kirjoitat lähdekoodia. Mutta lähdekoodi saa siirtää palvelimelta selaimelle ja toimii ihmisen selaimeen. Joten tässä hän voisi vain avata ikkuna, kuten olen tehnyt Chromessa ja katsoa sitä, koska me itse vilkaisi eilen Google. Se saattaa näyttää hieman käsittämätön mutta se on siellä. Niin, että on aivan yhtä maksettu hinta. Yleisö: Performance osuma? DAVID J. MALAN: Joo. Ja se toinen biggie. Siellä se heikentää suorituskykyä. Koska olet tämän keskellä mies, joka itse on ohjelma, sinun ja CPU, vastakohtana juuri ruokinta näitä raaka nollat ​​ja ykköset CPU, siellä on suorituskyvyn osuma, että olet ottaa kanssa tulkittu kieli. Siten, että mielivaltaisesti, ohjelman että voi kestää yhden sekunnin suorittaa tietokoneella tai yksi minuutti ajaa tietokoneessa täällä, saattaa kestää 10 sekuntia tai 10 minuuttia ajaa tietokoneessa täällä. On yleisesti ei tule olemaan, että paljon on difference-- tekijä 10-- koska siellä optimointeja voit tehdä. Mutta se on lähes aina hitaampaa. Nyt kääntöpuoli, jotka koskevat on, että hyvin tietokoneita, joka 12 18 months-- mukaan Mooren laki, niin speak-- vain saada nopeammin ja nopeammin. Minulla on yhä enemmän levytilaa. Minulla on enemmän ja enemmän muistia. Kuka todella välittää? Ja se on tavallaan kohtuullinen argumentti. Todellakin, yksi syy Siksi emme voi sietää hitaampaa tulkitaan kielille, koska me ihmiset eivät todellakaan huomaa. Tietokoneet ovat mennyt juuri niin hiton nopeasti. Kun taas takaisin seuraavana päivänä, varsinkin Kun laitteisto oli huomattavasti rajoittaa, teillä oli vähemmän kaikesta, se oli paljon kalliimpaa joten kaikki maksaa enemmän, hyvin sitten todella halusi puristaa ulos niin paljon suorituskykyä kuin voit. Mutta tarvitaan kirjallisesti alemman tason, jos haluatte, jossa on käännetty kieli. Joten teet tätä heikentää suorituskykyä. Mutta yleisemmin puolensa näyttävät olevan sen arvoista näinä päivinä. No, lukuun ottamatta tekijänoikeuksien ongelma. Sellainen luettavuuden koodi käymme palata, kun tarkastelemme JavaScript. Joten yrittää kategorisoida ainakin muutamia näistä. Joten joukossa koottu kieliä, me olisi C, C ++, tavallaan, sorta, Java, vaikka se on hieman poikkeus, sillä syistä Näytän aivan hetken. C # olisivat tällä listalla. Me tarkastelemme enemmän juuri modernia kieltä. Selvä. Ja että tuntuu paljon siellä. Kun taas tällä puolella aitaa, voisimme JavaScript, ja Python, ja PHP, ja Ruby. Ja on se riittää uudempiin? Tämä tuntuu paljon nyt. OK. Ja sitten piste piste piste, koska lista on loputon. Ja itse asiassa, jos haluamme vain saada tunnetta this-- Wikipedia, koottu kieliä. Arvelisin saamme paljon tyhjentävä. Joten tässä sitä mennään. Joten tässä on paljon tyhjentävää luetteloa. Ja Toivoin joku arvata D kuin kieli, koska sekin on olemassa, mutta ne pysähtyivät D näyttäisi. Vaikka saattaisi olla E. Voi todella, tämä pitäisi olla listalla näinä päivinä. Swift on oikeastaan kieli että Apple keksi jota nyt käytetään yhä niin, iPhone kehittämiseen. Mutta me palaamme että keskustelumme mobiili vain vähän samoin. Joten Swift samoin. Ja sitten jos menemme tulkitaan language-- tulkitaan language-- niin tässä jopa pidempään luetteloon samoin. Joten jos vain google ja etsiä Wikipediasta näitä, näet kaikenlaisia ​​kieliä. Mutta tarkoituksena on, tänään todella, vain kuihtuu ehkä tämä kysymys tekijänoikeuksien ja luettavuutta loppukäyttäjä ja suorituskyky, on toinen Biggie samoin. Joten näistä kielistä, anna minun nähdä, jos voimme antaa sinulle vain joitakin näyte kieliä. Emme halua mennä läpi kaikki kielet loputtomasti. Oletko koskaan miettinyt, mitä tietyt kieli näyttää? Teimme nähdä hetki sitten. Miksi emme ota pari ominaisuuspyyntöjen. Kuka haluaisi nähdä mitä muu kieli näyttää? Joo. Yleisö: Java. DAVID J. MALAN: Java. Selvä. Joten mennään Java. Ja vain antaa sinulle sample-- voisimme kirjoittaa kaikki nämä pois, mutta olisi nopeampaa vain katso jonkun toisen näytteen koodi. Selvä. Joten on tämä hyvä esimerkki? Oho. OK. Joten tässä on Java versio Ohjelma Kirjoitin aikaisemmin, "Hello World". Joten Java, sinun usein Katso avainsana "luokka." Sitten näet joitakin nimen jälkeen. Näet aaltosulkeita kuten näimme aiemmin, ja joskus ne mennä Sama linja, joskus muilla radoilla, se on eräänlainen henkilökohtainen päätös. Näet avainsanoja, kuten "Julkinen", "staattinen", "mitätön." Mutta teimme nähdä "main." "Main" on yleensä nimi oletustoiminto tai oletus kimpale koodia, joka saa ajaa ohjelman. "String." Mitä me tarkoitamme merkkijono aikaisemmin? Käytin sitä sellainen rennosti. Merkkijono on mitä? Sana. Se on kuin merkkijono. Yksittäisiä merkkejä, takaisin seläkkäin, yleensä array, kuten olemme keskustelleet. Ja itse asiassa nähdä tämän syntaksin täällä, kaksoishakasulkeisiin? Tämä tarkoittaa, hei tietokone, tässä tulee joukko merkkijonoja. Neliön kiinnike merkintä on käytetään yleisesti kuvaamaan sitä. Ja sitten voit luultavasti ottaa guess-- mitä tämä korostettu koodinpätkän todennäköisesti tehdä? Yleisö: Tuotos? DAVID J. MALAN: Joo. Se tulostaa jotain näytön. Joten "järjestelmä" on eräänlainen viittaus tietokoneeseen. "Out" tarkoittaa tietokoneen lähtö tai näyttöä. Joten "System.out.print ln" luultavasti tarkoittaa? "Ln". Tulosta linjaa, joka ohjelmoijat kuten näennäisesti oikeinkirjoituksen sanoja ulos kokonaisuudessaan ja ottaa pikakuvakkeet sanoen. Mutta "ln" on line, niin tulosta viiva. Joten se tulostaa "Hello World! ", Jota seuraa uusi rivi. Niin, että se. Mutta Java on mitä he will call olio. Ja todellakin, vain antaa Pari muuta määritelmien siellä että saatat katso, yleensä, monia erilaisia kielet, mutta yleisin ovat menettelyyn tai välttämätöntä kieliä. On toiminnallisia kielet, joka ei tarkoita sitä, että toiset ovat funktionaalinen. Ja sitten on olio kieliä. Ja tämä on ehkä paras luokittelu useimpien kielten että mitä ikinä valita sort liikehuoneisto projekti. Tämä olisi liian paljon, Luulen, on rotan reikä mennä alas, yrittää selittää Eri eroja. Mutta kielet olemme nähneet näin far-- C on menettelyyn tai välttämätöntä kieli. Viime aikoina keksitty kielet yleensä, anteeksi, olio, joka tarkoittaa heillä on muita ominaisuuksia niihin. Voin selittää se tällä tavalla? Älkäämme edes mennä sinne. Olio-välineet voit implement-- voit mallintaa reaalimaailman hieman paremmin. Humanity, ajan mittaan, on tajunnut, wow, Olisi mukavaa, jos kieli oli tämä ominaisuus tai piirre. Ja siksi meillä on niin monet maailman kielten. Järkevät ihmiset, älykkäät ihmiset, samaa tai eri mieltä ja poikkeuksetta tavallaan tulla yhdessä uusien kielten kaikki yhdessä. Asia kohtaan. Apple keksi Swift toivoo oletettavasti alentaa baarissa iPhone kehitystä, koska edellinen language-- nimeltään Objective-C, joka voi myös listallamme here-- oli paljon mystistä ja paljon vaikeampi kääriä mieleen ympärillä. Ja kuten ohjelmointi on tulossa luultavasti helpommin ja laajemmin hyväksymät ihmiset jopa vähemmän teknisiä, The goal-- se on hyvin urhea tavoite pyrkiä madaltamiseksi pääsyn tekemällä kieliä itse helpompi päästä alkuun, mutta yhtä tehokas välttämättä. Ja yhdellä vieraalla kielellä. Miksemme katsomaan at jotain Python, joka on hyvin muodissa näinä päivinä. Python. Näyte ohjelma. Katsotaan. "Hello World" kieliä. Tehdään tämä. "Hei maailma." Katsotaan tämä antaa meille mukava esimerkki. OK. Joten tämä on oikeastaan ​​tavallaan hauskaa. Joten jos koskaan google "Hello World", joka sattuu olemaan yksi ensimmäisistä ohjelmien koskaan kirjoitettu moderni kieli, aivan kuten proof of concept, näet kaikenlaisia ​​toteutuksia tämän. Jotkut näistä kielistä En ole edes kuullut. Mutta voit see-- mennään Basic, yhden opin vuotta sitten, osittain. Tämä oli hauska kieli, koska olet oli, kun ohjelmoija, numero kaikki linjat. Ei toisin kuin olin tekemässä, kun olin kirjallisesti pseudokoodit keltaisella asiakirjaan aikaisemmin Binäärihaku, etsimiseksi puhelinluettelosta. Ja niin, jos halusi mennä toiseen linja, te kirjaimellisesti tyyppi, Siirry 10 tai siirry 20. Ja jos olet kirjallisesti riviä, sopimus oli tehdä, tämä on linja 10, Tämä on linja 20, tämä on linja 30, 40, kanssa mitään siltä väliltä, mikä antaa itse jonkin verran tilaa jos päättää, odota hetki, Olisi pitänyt lisännyt enemmän koodia jonnekin. Sinä oli vielä tavallaan yhdeksän mahdollisuudet purista että välillä ohjelmaan ennen kuin oli manuaalisesti numeroida kaikki. Joten tämä on sellainen mitä tarkoitan kun sanon maailma on keksiä jossa on uusia ominaisuuksia. Jossain matkan varrella joku tajusi, poika tämä on tyhmä. Tämä on vain luoda työtä ohjelmoija. Niinpä hän juuri sellainen rakennettu uusi kerros päälle, että joten sinun ei tarvitse huolehtia mitä rivinumerot koodisi on itse asiassa. Joten kun saattaa valitset yhdellä kielellä tai toisella? No, mikä näistä kieliä sinä tapana kuulla eniten oma maailma näinä päivinä? Oletetaan avattavasta Objective-C too. Yleisö: C #. DAVID J. MALAN: C #. Joten anna minun väri. Onko meillä muita väri jonnekin? Joten C #. Ja mitä sinä tiedät C #? Mitään mieleen? Yleisö: Se on ohjelmointikieli. DAVID J. MALAN: Se on ohjelmointikieli. OK. Se on totta. Niinpä me puhumme C #. C # yleensä käytetään Windows-ympäristöissä, joten jos olet kirjoittamassa Microsoftin ohjelmistoja for Windows, C # on hyvin yleisesti käytetty, onko se työpöytäohjelmisto, tai vaikka puhelimen ohjelmiston Windows-puhelimet, jos olet ollut niitä, tai verkossa jopa liikaa. Ja itse asiassa, ehkä Kareem mainitut ASP aikaisemmin? Joten siellä on myös nämä asioita kutsutaan puitteet, jonka voimme esitellä laajemmin. Runkorakenteet, kuten ASP. Telineet Active Server Pages. Ja tämä on koodin ja tapa ohjelmointi että yleensä helpottaa kirjoittamaan web-pohjaisia ​​sovelluksia. Toisin sanoen, se olisi erittäin, Super ärsyttävää kirjoittaa verkkosivuilla kielellä C että olemme nähneet aiemmin, koska sinun pitäisi käyttää tulostaa + F, sinun pitäisi käyttää avainsanan "Main" ja aaltosulkeiden. Paljon mystistä syntaksin ja lähestymistapa toteuttaa mikä on melko monimutkainen. Web-sivulla. Ja niin muita kieliä ovat kehittyneet tehdä että sellainen asia helpompaa. Ja puolestaan ​​ihmiset ovat keksineet jossa kehyksiä, eräänlainen työkaluja että voit käyttää, jotka tekevät jopa helpompi kirjoittaa web-sivuja. Niinpä esimerkiksi tehdä Tämän paljon konkreettisempaa, haluan avata vain tekstitiedosto hetkeksi. Ja ehkä muistaa eilen että me sanoi jotain kuten tämä on web-sivu. HTML. Close HTML. Saanen ohittaa pään ja vain tehdä ruumiin täällä. Oletetaan, että halusin kirjoittaa ei "Hello World" mutta "Hei David", jossa David on nimi kirjautuneena käyttäjän. Mitä jotain ASP tekee, tai JSP-- joka on Java-palvelin pages-- tai useita muita kehyksiä ei he ole kieltä, sinänsä. He aivan kuin lisäohjelmia, että olet olisi asentaa omaan ympäristöön että vain helpompi ohjelmoida. Niinpä esimerkiksi, sen sijaan täytyy tehdä jotain "Hei, printf (" David ")" tai jotain, joka on Tällainen yhteistyö mingling-- sellaista koodia olemme nähneet before-- tekisit jotain paljon yksinkertaisempaa, kuten "name%." Ja niin nämä kehykset, kuten ASP-- ja minä ei muista jos olen tulossa syntaksin juuri oikea ASP. JSP on little-- on tämä oikeus? Joten ASP, tämä on eräänlainen syntaksinsa että jotkut kehittäjät ovat päättäneet tämä voisi auttaa ihmisiä. Ja voin ilmaista ytimekkäämmin paikkamerkit, esimerkiksi. Kuin laittaa arvon täällä, missä tämä arvo nimi ei ole N-A-M-E, se on jotain arvoa tallennetaan sinne. Joten "name" tässä yhteydessä, kutsuisimme muuttuja. Algebra on muuttujat kuten x ja y ja z. Ohjelmoijat käyttävät muuttujia, jotka ovat enemmän kuvaileva kuin x, y, ja z, tyypillisesti. Joten "nimi" kirjaimellisesti olla jonkinlainen muistia kontti jotain D-A-V-I-D, minun nimi, tai kuka muu on kirjautunut verkkosivuilla. Ja niin tämä on sellainen mukavuutta saat kanssa tietyissä ympäristöissä. Joten C # ja jotain ASP olisi hyvin yleisesti käytettävä Windows maailmassa, onko sen työpöydälle ohjelmistot tai web-palvelin, varsinkin jos palvelimet ovat puolestaan Microsoft Windows ja Microsoft IIS-- tai Internet Information Server, jos saan lyhenteellä right-- joka on Microsoftin web-palvelin. Joten mitä muita kieliä ovat ihmiset tuntevat, tai oletko kuullut useimmiten? Yleisö: Tiedän, että Pythonin Tällainen suosittu [tahtiimme]. DAVID J. MALAN: Erittäin suosittu. Joten Python tässä käytetään hyvin usein tieteellisissä sovelluksissa tai tietojen tiede, jossa on paljon tietoja, joita haluat analysoida ja haluat käyttää ohjelmointikieli sitä. R voi yleisesti käyttää tähän samoin, tilastollisessa yhteydessä. Mutta Python on niin paljon ominaisuuksia rakennettu. Niin paljon lisämahdollisuuksia kirjastot, kuten ihmiset sanovat. Kirjastot ovat vain kokoelmia koodia, että muut ihmiset kirjoitti, että voit käyttää niin, että te ei tarvitse keksiä uudestaan ​​pyöriin. Ja niin Python on hyvin yleisesti käytetään data science sovelluksissa. Mutta se on myös hyvin yleisesti käytetään web-sovelluksia. Voit toteuttaa dynaamisen sivuston avulla Python. Ja dynaamisen sivuston, I tarkoittaa ei vain staattista sisältöä kuten loimme eilen, by vain kova koodaus latinankielinen teksti ja muita vastaavia asioita, vaan kyky kirjautua sisään, kyky ostaa jotain, kyky tarkistaa kanssa ostoskärryt, tms. Kaikki tämä edellyttää dynamiikkaa ja te Tarvitsen kieli kuin yksi niistä. Yleisö: Eli ei Python omaa laajennus, samanlainen kuten [tahtiimme] DAVID J. MALAN: Se. Joten maailmassa Python, Django on erittäin suosittu puitteet Python. WSGI on toinen mekanismi, joka on eräänlainen eroaa tästä mutta samanlaisia ​​hengessä. Se on lisäosa, jonka avulla voit suorittaa Python koodia palvelimella. On other-- joo. Niinpä nämä soitamme puitteissa. Ja se on hieman väärinkäytöstä. Tämä on enemmän web-palvelimen tekniikkaa. Mutta me pitää se yksinkertainen ja laittaa se tähän sarakkeeseen kuitenkin. OK. WSGI. WSGI. Toinen thing-- ja oikeastaan ​​anna Siirryn että omaan sarakkeeseen, koska olisin huutaa itseäni laittamalla ne samaan ämpäri. Laitetaan tämä otetaan palvelimeen ominaisuudet, sanokaamme. Se ei ole tekninen termi. Joten tässä voisimme olla WSGI. On CGI, joka on vanhempi tekniikka jossa tarjoillaan kielille kuten Perl tai PHP tai jotkut muut. Jälleen olen maininnut nämä termit ei niinkään tavallaan ingrain niitä, mutta niin, että jos näet heille se on jotain yksinkertaisesti google lukea enemmän. Ei ole mitään todellista mehu joitakin näistä asioista. Mutta mennään takaisin kielille. Puhuimme C #, Python. Mitä muuta voisi käytät web ohjelmointi näinä päivinä? Keskitytään että edelleen. Yleisö: PHP. DAVID J. MALAN: PHP. Ja nyt palata, että yksi. Joten PHP on hyvin yleisesti käytetty. PHP taipumus saada huono rap. Se alkoi kuin kieli toteutettu by ihmiset, jotka ehkä eivät välttämättä paras kieli suunnittelijat. Ja niin voit lukea kaikenlaisia artikkeleita verkossa kuinka huono PHP on. Ja valitettavasti tämä on ilmentymä, osittain vain uskonnollisia keskusteluja että purkautua keskuudessa ohjelmoijat. Ja tämä on jotain kannattaa pitää mielessä, liiketoiminnan näkökulmasta, että se on hyvin helppoa teknisiä ihmisiä saada kaikki toiminut jopa heidän lausuntoja tietyistä asioista. Ja se ei välttämättä tarkoita että yksi huutaa kovimmin tai vahvin, vihaisimmat mielipide on oikea. Paljon kertaa, se todella vain ei ole väliä. Ja niin ihmiset ovat juuri väittäen tahansa omat harhat tai mukavuutta alueilla ovat. Ja niin kannattaa pitää mielessä tehtäessä päätös, joka vain koska joku sanoo tämä on oikea kieli työ, joka voi olla totta, mutta se myös vain voi olla se on oikea kieli omissa taito set tai comfort zone. Joka ei ole huono, mutta sinun pitäisi ymmärtää että saattaa olla joitakin yhteydessä siellä. On joitakin objektiivisesti väärässä lausuntoja, kuten C on väärä kieli käyttää näinä päivinä toteuttamiseksi sivustot melkein aina. Mutta se ei ole kohtuutonta sanoa, että mitä tahansa näistä ovat väärässä, jotka olemme kiersi tähän asti. PHP on käynyt läpi monia versioita. Joten kielet ovat yleensä versio numeroita niihin liittyviä. PHP on jopa mielestäni versio 7 nyt, niin se on ollut olemassa jo jonkin aikaa. Ja kuten kielet saada uudempia, he saavat usein uusia ominaisuuksia. Mutta sinun täytyy olla tietoinen tästä koska jos sivusto on toteutetaan version 7 PHP mutta yrität ajaa verkkosivuilla, tai ehkä olet ulkoistettu kehittäminen koodin toiselle ja ne mail sen sinulle tai lähettää sen sinulle ja he sanovat, täällä, laita tämä web-palvelin, jos Web-palvelin on muutaman vuotta outdated-- onko se omalle palvelimelle tai web host-- se ei ehkä todella ajaa. Nämä ovat siis erilaisia asioita, jotka joku on oltava tietoinen päivitettäessä sivusto tai sen täytäntöönpanoa ensimmäisen kerran. Kuulin JavaScript aikaisemmin. Joten JavaScript on mielenkiintoinen yksi, että se on yleensä asiakkaan puolelta, kuten tulemme näkemään tauon jälkeen, mikä tarkoittaa se toimii käyttäjän selaimessa. Mutta voit myös käyttää JavaScript näinä päivinä käyttämällä jotain kutsutaan Node.js, jossa Node.js on mekanismi käynnissä JavaScript-koodi palvelimen puolella, sijaan käyttää Python, tai PHP tai muita näitä kieliä. JavaScript on erityisen hyvin chat sovelluksia ja reaaliaikainen sovellukset, kun taas PHP ei ole suuri kieli toteuttamiseksi jotain kuten chat-palvelimeen, jossa käyttäjät pysyä yhteydessä sitä jatkuvasti. PHP on enemmän vierailun minua kerran, saada takaisin seurauksena ja sitten toista linkkiä joitakin sekunnin tai minuutin kuluttua. Kun taas Node.js ja JavaScript voivat olla käytetään enemmän pysyviä yhteyksiä. Muut kielet, että epäilet käytetään yleisesti web tavaraa? Yleisö: Olisiko jQuery oltava kehys? DAVID J. MALAN: Hyvä kysymys. Eikä. Kutsuisin jQuery kirjasto, jossa taas kirjasto on vain nippu koodin että joku muu on kirjoitettu, että yleensä ratkaisee joitakin ongelmia, tekee toivottavasti helpompaa voit tehdä työsi. Ja anna minun tehdä yksi esimerkki Tässä yhteydessä verkossa. Yhteydessä rainan siellä tällä kielellä, JavaScript, että näemme myöhemmin, jolloin te Voisi sanoa jotain tämän kaltaisia ​​osia "Document.getElementById." Ja mitä minä kutsun sitä eilen? Ensinnäkin olen sitä mieltä, oli yksilöllinen tunnus annoin elementtiin, joka näytti tältä. "P id =" ensimmäinen ">" ja sitten meillä oli kuten "sisältöä puuttuu", jne. Jos siis olivat kirjallisesti ohjelmaa JavaScript jotenkin manipuloida, muuttaa web-sivut, leikkivät eilen, Haluaisin käyttää tätä korostetun koodiriviä saada kyseisen HTML- sivuani, että tietylle solmulle, kuten me kutsumme sitä. Kuitenkin jQuery, kirjoittamisen sijaan tämä, joka on raaka JavaScript code-- juuri kättelyssä, niin olet kirjoittaa it-- haluat sen sijaan vain sanoa, "#ensimmäinen." Se vastaa. Ja niin perustuu pelkästään tästä hyvin arcane esimerkiksi mitä kenties on syy käyttää jQuery? Miksi kehittäjä käyttää kirjaston kuten jQuery, perustuu tähän yksittäinen esimerkki, ehkä? Yleisö: Vähemmän koodia. DAVID J. MALAN: Joo. Se on vähemmän koodia. Se on vain nopeampi kirjoittaa. Kontrapunkti on että se näyttää pelottavampi. Et voi oikeastaan ​​lukea sen vasemmalta oikealle. Itse asiassa, koska se on lähinnä välimerkkejä nyt sijaan todellinen sanoen, Voin sellaista päätellä, että "Document.getElementById" saa elementin asiakirja sen tunnus. En todellakaan voi käyttää tällaista muistitekniikka tästä asia täällä. Joten se on vaihtokauppa. On hienostuneisuutta, joka tulee usein kirjastojen, erityisesti kuten jQuery. Mutta todellisuus on jQuery on eräänlainen of tullut de facto standardi, niin että melkein kuka tahansa näistä päivää, joka kirjoittaa JavaScript-koodin käyttää jQuery tai jotain kuin se, eikä enää kirjoittaa Tällaisen monisanainen lausekkeita Tämän vuoksi jälleen, ihmiskunta on oppinut, wow, että oli tavallaan menetetty mahdollisuus jotta helpottaa elämäämme. Joten ihmiset tekevät heidän elämäänsä. Hyvä kysymys. Muut kielet harkita. Sanoisin keskuudessa tämä lista Ruby on varsin suosittu. Ja niin, että maailma Ruby, siellä puitteet nimeltään Kiskot, joka on erittäin suosittu. Joten Ruby on Rails on yleisesti käytetty ilmaisua. Myös tässä maailmassa, haluan ympyrä Java web tavaraa, missä päin maailmaa Java saatat olla JSP, tai Java Servletit, joka on yleinen tekniikka. Ja tämä on vain taas käyttötapoja että kieltä palvelinympäristön. Mitä tämä tarkoittaa? Jos sinulla on fyysinen palvelin, olisit kirjaimellisesti lataa web-palvelinohjelmisto ja asentaa sen niin että teillä on tukea yksi nämä kehykset, joiden avulla voisi puolestaan ​​käyttää yhtä tai enemmän näistä kielistä. Ja todellisuudessa, jos rekisteröidyt varten kuten web-isäntä tai jotkut pilvi palvelut puhuimme eilisestä, usein tavaraa vain mukana Koneen kokoonpano sinulle. Sinun ei tarvitse asettaa tämän manuaalisesti. Mutta jos ei, tämä on silloin, kun rooli Pääkäyttäjänä, niin sanotusti, tulee pelata. Hän voisi itse tehdä tuollaista sinulle, tai ns webmaster usein tehdä tämän sinulle. Selvä. Kaikki kysymykset joitakin näistä täällä? Tai mahdollisuuksia kaikki kysyä kieltä? Kehykset? Sitten haluan esitellä vain yksi muu kirjasto se on myös hyvin yleistä näinä päivinä. Tämä listaa voisi jatkaa loputtomiin. Ja tämä kirjasto on eräänlainen alkaneet pudota hyväksi. Se on ollut noin. Se oli suosituksi Twitter jonkin aikaa. Ja nyt paljon sivustoja, paljon kehittäjät käyttävät sitä. Mutta uudet asiat tulevat ulos ja edistyy. Mutta haluan vain antaa sinulle tunteen siitä, mitä merkitsee käyttää kirjastoa. Joten jälleen, JavaScript on erittäin suosittu kieli. CSS tai CSS, puhuimme eilen. Tämäkin on läsnä kaikkialla. Kukaan tekee web-sivun tänään ilman HTML ja CSS minimaalisesti. Mutta se ei ole aina helppoa tehdä tiettyjä asioita. Ja niin anna minun mennä getbootstrap.com. Oho. Se ei ole, miten oikeinkirjoituksen. Getbootstrap.com, joka tulee johtamaan minut aloitussivulle tälle kirjastolle. Niinpä he anteliaasti kutsuvat itse kehys, joka on tavallaan eräänlainen oikeudenmukaisen, mutta en silti kutsua lisää kirjaston kuin kehys. Mutta nämä ovat vain kyseenalainen semantiikkaa. Anna minun mennä niiden CSS-välilehti ja anna minun mennä jotain tällaista. Joten muistaa mitä muotoja näytti kuten eilen Cloud9? Se oli aika ruma. Vanha koulu painikkeet. Uskon, että painikkeen oli harmaaksi oletuksena. Ja kaikki oli todella muotoiltu melko messily. Joten jos haluat Web-lomakkeita tarkastella hieman nicer-- haluaisin suurentaa tänne. Ja mukavampi Oikeastaan tarkoittaa erittäin nitpicky estetiikkaa. Joten huomaa miten sähköpostiin siellä on pyöristetty suorakulmainen kulmat sitä. Joten se on vähän puhtaampi siellä. Huomaa, että sana sähköposti on olemassa kunnes alkaa kirjoittaa ja sitten se menee pois. Niin, että on mukava pieni ominaisuus. Huomaa, miten asia on sellainen hehkuva hienosti, mikä osa tästä te saada ilmaiseksi selaimesta, mutta joitakin tämä on myös kirjastot, koodi, että muut ihmiset ovat kirjoitettu, että antaa sinulle tämän. Jotain tällaista antaa minulle salasanani. Tämä painike on hieman seksikkäämpi kuin oletuksena. Erittäin paljon muodissa juuri nyt. Siitä lähtien iOS 7 tai niin, maailma on mennyt hyvin tasainen, kun taas maailman ennen oli paljon varjoja, paljon pohdintoja kuvakkeita. Paljon kuten vaatetus maailmassa, siellä muotivirtaukset, jotka tulevat ja menevät. Nyt kaikki on tasainen puhelimeen. Itse painikkeet iPhone ovat nyt vain sinisiä linkkejä. Ei ole useinkaan edes pyöreä painikkeita. Joten nämä ovat vain asioita jotka menevät sisään ja ulos Vogue, joten näin saatat tehdä enemmän modernin näköinen verkkolomakkeella. Painikkeet. Joten Bootstrap on paljon kauniita painikkeita. Joten jos haluat sininen painikkeet, vihreä painikkeet, sininen, oranssi, punainen. Bootstrap helpottaa tehdä näitä asioita. Nämä ovat niitä asioita että voisit ehdottomasti tehneet eilen CSS ja HTML, mutta se on vain kipua niskassa. Ja niin sen sijaan, mitä Bootstrap olisi on teet on jotain tällaista. Jos haluat button-- osoittautuu tästä on HTML-tunniste emme käyttäneet yesterday-- ja haluat sen näyttää näin vihreää painiketta, kirjaimellisesti vain antaa sille luokkaa, joka teimme puhua eilen, of "BTN BTN-menestys." Miksi nämä sanat? Twitter, laatijat Bootstrap, keksi nämä sanat. He olisivat voineet nimeltään heitä mitä haluavat. Mutta mitä saat nyt joku muu Twitterissä, tässä tapauksessa, on tajunnut miten teet painike näyttää mukava ja puhdas ja vihreä. He pakattu ylös että toiminnallisuus in CSS luokan, jota kutsutaan "btn" ja "btn-menestys", niin että kuka tahansa meistä voi nyt käyttää sitä ilman edes ajatella se. Niinpä he ovat otetun pois käsite vihreän painikkeen joten meidän ei tarvitse välittää täytäntöön sen itse. Voimme itse keskittyä toteuttamiseen kiinnostavia asioita meille. Jos me selaa täällä. Virheilmoitukset näytöllä. Joskus haluat hieman viesti näkyvän päälle selaimen. Jokainen meistä voi tehdä joitakin vaivaa, kun eilisen oppitunnin, mutta miksi vaivautua? Se on niin mielenkiinnoton esteettinen yksityiskohta. Oletetaan seiso olkapäät Bootstrap ja annettakoon meille asioita, kuten tämä, jossa kirjaimellisesti, saada punainen laatikko, vain täytyy tehdä kappaleen tunnisteen luokan soita näin pahoillani. "BG-vaara" antaisi meille tämä punertava box sijaan. Nyt mennä enemmän mielenkiintoisia asioita. Jos menen takaisin alkuun Tämän sivun ja mennä komponentit, Nyt maailma saa enemmän mielenkiintoinen. Esimerkiksi hyvin yleinen on valikoista näin. Tämä olisi ehdoton kipu toteuttaa. Ja se ei ollut kauan sitten, että ohjelmoijat olisi toteuttaa nämä tyyppinen valikko tyhjästä. Mutta se on niin yleinen paradigma että kirjastot kuten Bootstrap vain antaa sinulle mahdollisuuden tehdä pudotusvalikosta paljon, paljon helpommin. Ei ole yksi tapa tehdä se, mutta jos luen dokumentaatio Haluan nähdä, että, OK, minun pitäisi käyttää Tämä HTML jos haluan pudotusvalikosta joka käyttäytyy kuin se. Vastaavasti mennään painikkeen avattavasta. Joten tämä on vielä hienompaa. Jos Haluan tämän näyttämään painike mutta tuo pieni kolmio tarkoittaa Minun pitäisi klikkaa sitä ja saada tämä valikko, tämä on käyttää kieltä kutsutaan JavaScript. Ja me kaikki voisimme toteuttaa Tämä JavaScript. Mutta jälleen kerran, tämä on pyörä et halua keksiä. Sinä vain halua ottaa sitä pois hyllyn kirjaston tähän. Mennään jotain kuten edistymispalkin. Joten jotain tällaista on eräänlainen jäähtyä. Jos olet koskaan nähnyt edistystä bar liikkuvat ruudun poikki, täytäntöön usein on vain pyörivä kuvake. Itse asiassa, kuten Sivuhuomautuksena anna minun mennä Ajax-- mitä se on? Ajax info? Oho. Ajaxinfo. Saanen muistaa osoite. Siellä mennään. Joten jos olet koskaan nähnyt joitakin animaatio kun sivu latautuu, tai ajattelu, tai säästää, tai luoda jotain, näkisi kuten animaatiot kuin nämä. Joten katsoa jotain kuten tämä tässä, ja nyt valita edustavärin vihreä, joka tuntuu eräänlainen ystävällinen. Voinko klikkaa tästä? Tule yksi. OK. Me vain mennä punainen, koska että mitä saamme. Joten tässä meillä on. Joten jos olet koskaan nähnyt tätä näytöllä, jolloin yhtäkkiä se näkyy ja sitten yhtäkkiä katoaa, mikä on se, joka on sen täytäntöön panemiseksi? No, tämä on vain GIF. G-I-F. Ja tämä on animoitu tiedosto, mikä tarkoittaa vain se on kuin vanha koulu sarjakuva. On vain joukko erilaisia kehyksiä, jotka ovat menossa [pätkivä] ja vain toistamalla. Ja se luo illuusion liikkeen. Niin pian kuin sivu on tehty lastaus tai tekee jotain, mitä ohjelmoija tehdä? No, hän vain piilottaa tämän kuvan. Joten kaikki edistymispalkki on on eräänlainen of kuten elokuvan olet katsomassa. Olet tavallaan tietämätön siitä, että se ei oikeastaan ​​tee mitään, se vain liikkuu. Ja sitten, kun se on tehty etenee, ne vain piilottaa sitä tai sammuttaa sen. Ja siinä kaikki taika että siellä tapahtuu. Bootstrap antaa sinulle jotain hieman hienompaa, jolloin voit itse katso prosenttiosuus kuin se menee, mutta sekin on vain eräänlainen yksinkertaisen animaation. Katsotaanpa joitakin lopullisia monimutkaisempia esimerkkejä tästä. Jotain modaalinen. Onko kukaan tiedä, mitä modaalinen on? Modaalinen ikkuna on yleensä yksi, joka on tarkoitus vallata etualan ja estää sinua tekemästä mitään muuta. Se tavallaan pakottaa käyttäjän huomiota näytön keskellä, lukitus heidät pois, tyypillisesti, kaikesta muusta. Jos siis käynnistää tämän Demon näyttö yleensä tulee harmaa. No, miten voimme tehdä sen harmaa? No, me luultavasti vain muutti taustaväri kuten teimme eilen Tai jotain sellaista. Ehkä se on overlay että puolittain läpinäkyvä. Nyt huomaa voit tehdä fancy asioita, kuten tämä. Joten jos joskus napsauttaa painiketta ja haluavat hieman pop ulos näkyvän, Sinä pystyt siihen. Ja niin joka välittää all-- joo? Yleisö: Joten Bootstrap, saada se liitetään, on se niin yksinkertaista kuin kuten eilenkin teimme CSS-tyylejä sivun? DAVID J. MALAN: Todellakin. Todella hyvä kysymys. Anna minun mennä Aloitus. Ja kyllä. Kaikki mitä tarvitsee tehdä, jotta käyttö Bootstrap on lähinnä kopio ja liittää nämä kolme pitkää riviä koodi yläosaan oman web page-- pää oman page-- ja olet vauhtiin. Ja siellä on erilaisia ​​tapoja tehdä se, mutta tämä olisi yksinkertaisin. Joten mitä hyötyä tästä kaikesta? No, jos et ole niin paljon toteuttaja verkkosivuilla mutta yrität suunnitella sitä, tai haluat antaa jonkun lanka runko kaavioita, niin sanotusti, tai vain taiteilijan esityksessä mitä haluat tehdä, minä, tämän päivä, usein menevät sivustoon kuten Bootstrap, missä jos en halua toteuttaa something-- kuten äskettäin kampuksella halusimme toteuttaa web-pohjainen työkalu navigointiin Harvardin kurssi luettelo, helpottamalla opiskelijoiden selata kursseja ja lisää kursseja ostoslistan, niin sanotusti, sellaista päättää he halusivat tehdä. Yritin kuvitella itse, mitä ainesosia olisi haluamme käyttää rakentaa tätä? Mitä käyttöliittymä on? Ja juuri katsellut sivuston kuten Tämän tms kirjasto sivustoja, voit saada inspiraatiota, koska wow, Voin käyttää tätä vekotin, ja tämä vekotin, ja tämä vekotin. Ja sitten oikeastaan ohjelmoija alkaa tehdä, varsinkin näinä päivinä tässä nykyaikaisempia maailman web ohjelmointi, on ohjelmointi on yhä noin johdotuksen asioita yhdessä. Tavallaan ottamisen hyllyltä, Tämän hyllyltä, tämä hyllyltä, ja te ollessa fiksu yhdistää kaikki nämä pisteet, mutta lopulta rakentaa jotain uudelleen seisoo hartioiden toisten, niin että et viettää kuukausi toteuttamalla tyhmä pudotusvalikosta, joka on todella vaikea tehdä, jos haluat sen toimimaan Chrome, ja IE, ja Firefox, ja kaikki monia muita selaimia. Siksi on tämä rikas kaupallisia ja avoimen lähdekoodin ohjelmistojen teollisuudelle. Yleisö: Eli ei Bootstrap saada päivitetään ja sinun täytyy sitten päivittää linkit? DAVID J. MALAN: Se. No, kyllä, se tekee. Bootstrap on tällä hetkellä versio 3.3.6. Ja yleensä mitä olisi do-- tämä on todella syytä mainita. On mitä yleensä tunnetaan semanttinen versiointi järjestelmä maailmassa. Ei jokainen tekee tämän. Mutta jos olet nähnyt versionumerot jotka ovat muotoa x.y.z-- niin esimerkiksi ensimmäinen versio ohjelman voisi olla 1.0.0. Tai jos se on hyvin, hyvin beta tai jopa alfa tila, mikä tarkoittaa käyttö omalla vastuulla, se ei ole todella valmis parrasvaloihin, saatat jopa alkaa 0.0.1 tai jotain sellaista nimitys. Mutta jos ohjelmisto alkaa versio 1.0, tai vastaavasti 1.0.0, tyypillisesti, mikä on yhteinen näinä days-- mutta ei omnipresent-- on jos yrityksen tai yksittäinen ohjelmoija korjaukset joitakin bug joissakin pala ohjelmisto, joka todella oli vika, jonka korjaaminen ei pitäisi vaikutus teitä all-- se ei muuta ohjelman toimintaa, se vain korjaa jotain että ei toiminut properly-- olisit yleensä päivitä z-arvo siellä. Mikä tarkoittaa joku Kareem voisi yksinkertaisesti mennä hänen verkkosivuilla, sokeasti vaihtaa versionumeron alkaen 1.0.0 ja 1.0.1, tallentaa sen, lähettää sen, ja teoriassa, ei tarvitse pelkäävät, että hän vain rikki hänen verkkosivuilla takia jotkut puute toimintoja, koska jotain muuta hajosi. Samaan aikaan, jos minä ohjelmoija tai jonkin yrityksen oli tehdä joitakin merkittäviä muutos, joka lisää toimintoja, Saatan päivittää meitä 1.1.0 koska olen itse käyttäytymisen muuttamiseksi kirjaston. Minä annan sinulle ehkä enemmän toimintoja. Lopuksi, jos olisin todella muuta pohjimmiltaan ohjelmisto niin paljon, että se murtaa monia Käyttäjät sivustoja tai sovelluksia, Sitten olen pakko, tässä mallissa, jotta päivittää pääversionumero liian, joka on rikkomatta muutos. Toisin sanoen, voisin olla lopetetun tukea niille pudota valikosta. Joten jos olet päivittänyt 2,0, puoli sivuston saattaa lakata toimimasta. Ja tämä on eräänlainen signaalin yhteisölle siitä, mitä Osallisena päivityksen. Hyvä mahdollisuus nostaa. Muita kysymyksiä? Selvä. No katsotaanpa katsomaan yksi lopullinen Uutta tällä segmentillä ohjelmoinnin Teknologian pinot, nimittäin liittyvät mobiili. Joten maailmassa matkapuhelimet tänään te have-- ja iPad, ja pinnat, ja kaikki tuollaiset of devices-- olet paljon vaihtoehtoja, kun se tulee toteuttamaan sovelluksen tai verkkosivuilla asiakkaan mobiililaitteisiin. Joten vain ilmoittamaan ilmeinen, ehkä näinä päivinä, mitkä ovat alustojen kehittyä mobiililaitteille? Mitä laitteita voisi haluat tukevat kanssa sovelluksen tai verkkosivuilla? Yleisö: Apple. DAVID J. MALAN: OK. Joten Applen laitteet. Niin se tarkoittaa, iPhone, ja että tarkoittaa iPad, ja ehkä jopa iPod. Mitä muuta? Olivier? Yleisö: Android. DAVID J. MALAN: Android. OK. Joten Android-puhelimissa, Android tabletit, Android markkinat On jopa Messier because-- ja vaikka Apple on tulossa sotkuinen. Kun taas aikoinaan iPhone oli tietyn koon, ja iPad oli tiettyä kokoa, ja iPod oli tiettyä kokoa, nyt meillä on iPad Minis, ja ohut niistä, ja iPhone 6 Plus ja 6. Se pysyi siistinä. Se on tulossa Android maailmaa. Ja tämän sanon eräänlainen liikkuvan silmäni koska kehittäjän näkökulmasta, se on kipua niskassa, kun sinulla ei ole Steve Jobs " visio ehdotonta valvontaa Yli kaikki nämä vaatimukset. Apple tekee edelleen, koska ne ovat ne rakentaa laitteisto. Mutta se on mukava juttu, jos Olen ohjelmistokehittäjä, vain tietää, että minun iPhone on aina menossa olla näin suuri, koska se tarkoittaa, että minä aina tiedä kuinka paljon näytön kiinteistöjä olen. Joten jos haluan laittaa kuvake sivun vasemmassa yläkulmassa, se tulee olemaan täsmälleen sama aseta jokaisesta asiakkaan laitteella. Mutta maailmassa iPhone 6s ja iPhone 6 Plussat ja maailman Android puhelimissa, se on koko kartan. Ja niin se vaikeuttaa ohjelman asiat, erityisesti käyttöliittymät, koska nyt sinun täytyy aloittaa järjestämällä käyttöliittymiä suhteellisen, ei ehdottomasti. Ja sama on totta selaimilla, ja työasemat ja kannettavat tietokoneet vuosia koska te, tietenkin, on eri näytön kokoa. Mitä muuta? Saatat olla pintoja, kuten Microsoft. Saatat have-- Yleisö: Windows puhelin. DAVID J. MALAN: Mikä tämä on? Yleisö: Windows puhelin. DAVID J. MALAN: Kyllä. Joten ikkunat puhelimia löytyy edelleen. Tavallaan tavallaan Blackberrys, mutta ne pitää yrittää. Ja sitten bunches muiden laitteiden. Niinpä suurin osa, katsotaanpa sanovat, että nämä ovat niitä välitä tällä hetkellä. Varmasti Apple tavaraa, varmasti Android tavaraa, ja joukossa Windows, kuten pinta tabletit näyttävät kiinni siitä melko hyvin. Ja niin joukossa laitteita, Jos haluat levittää, sanokaamme, mobiili läsnäolo sekä yhtiö, millaisia ​​suunnittelun päätöksiä sinun täytyy tehdä? No, meillä on jo mainittu Apple maailmassa, on ainakin kaksi kieltä , joita tyypillisesti käytetään. Yksi oli nimeltään mitä? Yleisö: Objective-C. DAVID J. MALAN: Joo. Joten Objective-C, joka on vanhempi. Se on myös kieltä, että monet Mac sovellukset ovat vielä kirjoitettu. Sitten toinen uudempi oli? Yleisö: Swift. DAVID J. MALAN: Swift. Ja ne ovat sellaisia kaksi tietää vaikutuksen ihmiset. Sitten Android maailmassa, Mitä kieltä Android käyttää? Yleisö: C #? Yleisö: Java. DAVID J. MALAN: Java on kieli "du jour." Windows maailmassa, varma, me sanoa C # kyseisessä tapauksessa. Eli jo tämä on tavallaan ärsyttävää, koska mitä takeaway liiketoimintojen omistaja tai joku, joka vain haluaa levittää mobiili läsnäolo? Kuten, perkele? Kuten, jos haluan tukea melko laaja käyttäjäkunta, Minun täytyy kirjoittaa, näyttäisi siltä, kolme erillistä hakemusta. Yksi näistä kielistä, yksi Java, yksi C #. Ja vaikka haluan toiminnallisuutta olevan identtisiä, sillä ei ole väliä. Olen edelleen tarpeen käyttää erilaisia kieliä, koska Apple ja Microsoft, ja Google kaikki tuki eri ympäristöissä. Ja tämä on ollut haaste vuosia. Takaisin seuraavana päivänä, jolloin ihmiset käyttää ostaa ohjelmia tietokoneella myymälän kutistua kääritty laatikot, sinulla olisi joko tavoitella Mac hyllylle, tai for-- ehkä tämä hyvin pieni Mac shelf-- tai suurempi Windows hylly ja ostaa joitakin ohjelmia. Ja hyvin usein, ei edes mitään sinulle Mac hyllylle. Miksi? No, yritykset päättivät jos 90% maailman, 95% maailman on PC, miksi vaivautua edes täytäntöön asiat Mac OS? Koska aside-- yhteensä digression-- miksi se että Mac näyttää niin läpäisemätön viruksia, ja madot, ja turvallisuusuhkat? Onko Apple paremmin tässä? Parempi on pitää tietokoneet turvallista? Yleisö: Pienemmät yleisö? DAVID J. MALAN: Se luultavasti isompi hieman sitä. Niin monet käyttäjät Macit ovat pitkä väitti, oh, käytä Mac, voit olla immuuni viruksia, ja matoja, ja kaikki nämä asiat jotka ovat pitkään vaivannut tietokoneisiin. Tämä saattaa johtua siitä, Apple on parempi ohjelmoijat ja he kirjoittavat paremmin ohjelmisto, tai käyttöjärjestelmää paremmin suunniteltu. Ehkä, mutta luultavasti ei. Se on luultavasti, että kun olet 12-vuotias tai 30 jotain tavallaan istuu kotona kirjallisesti haittaohjelmia vallata maailma, aiot mennä sen jälkeen paljon suurempi kohderyhmä. 95% maailman joka saattaisi oltava Windows tai jotkin variantit. Joten on hieman molemmilla puolilla. Mutta luotto, Apple, tietääkseni ei oikeastaan ​​mainostetut itse olevan turvallisempi, koska olet vain kutsumalla draama jos teet, jotka väittävät, luulisin. Selvä. Joutumatta liian pitkälle alas että, miten voimme ratkaista tämän? Onko sinun täytyy ostaa tai sinulla on maksaa kolme eri ihmisiä kehittämään sovellukset? Oletteko valita yksi yli muiden? Mitä pitäisi ohjata Tarkoitan luulet? Kareem? Ei. Joku muu. Yleisö: Juuri mukana laitteisto. DAVID J. MALAN: Come laitteisto? Mitä tarkoitat? Yleisö: Sillä ympäristö. [KUULUMATON] DAVID J. MALAN: Niin se on totta. Mutta asiakkaat, välin, saattaa olla iPhone, ne saattavat olla Android-puhelimissa, ne saattaa olla tabletteja tekemät Microsoft. Joten miten on mobiili strategia Kaikkien näiden eri käyttäjille? Näyttää siltä, ​​että jos se maksaa, sanokaamme $ 1000 tehdä iPhone sovellus, se menee maksamaan sinulle $ 2000 tekemään iPhone-sovellus ja Android-sovellus, tai $ 3,000 tukemaan myös Windows laitteita samoin. Se on luultavasti melkoinen vähättelyä, ja se ei ehkä edes olla lineaarinen suhde niin. Yleisö: Jos haluat olla sovellus tai ei voi olla reagoiva verkkosivuilla. DAVID J. MALAN: Hyvä. Yleisö: Tai voit olla natiivisovellus. DAVID J. MALAN: Joo. Joten kaikki tässä yhteydessä täällä, Olemme puhuneet mitä ihmiset kutsuvat natiiveja ohjelmia. Se on sovelluksia, jotka on kirjoitettu äidinkielellä kyseisen laitteen. Joten native Objective-C tai Swift koodia, tai Java tai C #. Mikä tarkoittaa, kun lataat, katsotaanpa sanovat Snapchat suosittu sovellus, tai kun lataat Facebook puhelin, lataat joko versio kirjoitettu iPhoneen, tai kirjoitettu Android-puhelinta, tai kirjoitettu alustallaan. Mutta on olemassa vaihtoehto. Kuten Olivier oli viittasi, voit itse käyttää HTML 5 sen sijaan käyttämällä mitä kutsutaan web sovellus, jolloin voit yksinkertaisesti toteuttaa matkapuhelimellasi läsnäolo ja kaikki toiminnot. Mitä tarkoitan liikkuvien läsnäolo? Kuten sivuston, jossa on sinun yhteystiedot, luettelo kaikista tuotteet, ehkä se on ostos cart, ehkä myydä asioita läpi. Mikä tahansa sovellus on, et toteuttaa sitä, ei Objective-C, tai Swift tai Java tai C #, mutta HTML 5, mikä oli kieli me katsoimme eilen, JavaScript ja CSS. Ja mitä mukavaa noista kolme on, että käyttää niitä, tarvitset juuri pala ohjelmisto? Yleisö: verkkoselain. DAVID J. MALAN: Web-selain. Ja paras tiedän, kaikki nämä laitteet tulevat selaimet, joten käyttäjä ei ole pakko asentaa jotain erityistä. Joten voit vain kertoa yleisö, asiakkaat, Siirry acme.com omassa selaimen ja sinun vain on web-pohjainen kokemus että edelleen täyttää ruudun, mutta sinun ei tarvitse huolehtia kaikista nämä kustannukset ja kaikki tämä monimutkaisuus. Mutta varmasti siellä on menossa olla saalis täällä, eikö? Varsinkin jos minä huomauttaa että pari vuotta sitten, ensimmäinen versio Facebookin mobiilisovellus oli lähinnä HTML 5 sovelluksen. Ja niillä on enemmän Äskettäin, reimplemented se niiden muissa sovelluksissa. Joten miksi et heti sanoa, hyvin, ilmeisesti me aiomme tehdä tämän? Mitkä olisivat piilokustannuksia olla? Yleisö: Performance. DAVID J. MALAN: Performance? Mitä tarkoitat? Yleisö: natiivisovellusta on enemmän suorituskykyä. DAVID J. MALAN: Tämä on siis totta, pari syistä. Voimme pelkistettyjen vastaus. Ja muistaa keskustelussamme tulkitaan vs. koottu kieliä. Tämä on HTML 5 ja sen kanssa, vain olla kirkas, JavaScript-- yleisesti kirjallinen JS-- ja CSS ovat kaikki tulkitaan kieliä, vaikka vain JavaScript on ohjelmointikieli. Ja niin vs. nämä, mikä osa näistä kootaan, ainakin nämä three-- Objective-C, Java ja C # - nämä, teoriassa pitäisi vain olla nopeampi. Mutta on toinen todellisuus for-- Yleisö: Toiminnot? DAVID J. MALAN: Mikä tämä on? Yleisö: Toiminnot. DAVID J. MALAN: Toiminnallisuus? Kuinka niin? Yleisö: Käytä kameraa pois puhelimesta tai jotain. Voit käyttää niitä selaimella. DAVID J. MALAN: Aivan. He sec-- Yleisö: [tahtiimme] DAVID J. MALAN: Se on toinen hyvä. On ominaisuuksia, jotka tulevat matkapuhelimilla tänään jotka eivät ole, suunnittelun, turvallisuus- syistä saatavilla selaimet. Koska se olisi eräänlainen kammottava asia, jos vain, kun käyt google.com tai cnn.com, tai website.com, että sivusto on valta kääntää kameran, ottaa kuvan sinusta, ja sitten käyttää sitä. Mutta et halua satunnainen verkkosivuilla että käyt ensimmäistä kertaa on, että ominaisuus. Ja mitä sitten puhelin valmistajat tekevät yleensä on ne vain kieltää pääsy juuri tuollaista tietoa selaimeen, mikä tarkoittaa, voi toteuttaa kameraa. Et voi toteuttaa push-ilmoitukset, piippaukset että saat näytön tekstiviestien kanssa. Ja itse asiassa, vaikka GPS on vain eräänlainen of tavallaan saatavilla web-selaimet. Jos olet joskus, kannettavan tai mobiililaitteessa, revitä jotain ehkä cnn.com, mutta myös paikallisia uutisia asemat tapana tehdä tämän, sinua pyydetään usein kanssa message-- foxnews.com haluaa tietää sijaintisi. Hyväksyttävä tai hylättävä. No, selain yrittää käyttää GPS tietoja puhelimesta. Mutta onneksi Microsoft, ja Apple ja Google ovat päättäneet, että tuntuu se on hyödyllinen tilanteessa, Haluamme Google Maps ja muita välineitä työskennellä, mutta emme halua hiipiä ihmisiä by juuri mahdollistaa minkä tahansa sivuston tehdä tätä. Joten tavallaan tavata puolitiehen ja kehottaa käyttäjää. Mutta se ei välttämättä ole jossa kaikki laitteet, kuten kamera ja push ilmoituksia ja vastaavia, joten sinun on ehkä uhrata tiettyjä ominaisuuksia. Mutta suorituskykyä liikaa. Se on tulossa vähemmän havaittavissa nykyään, ehkä kuten LTE saaliit ja nopeammin Internet nopeudet puhelimissa, mutta voit eräänlainen tuntea eron. Kuin web-pohjainen sovellus vain tuntuu hitaammin, tyypillisesti, kuin natiivi sovellus, osittain koska web-pohjainen sovellus määritelmän on internetissä. Se puhuu palvelimiin Webissä. Ja jos verkkoyhteys on hidas, jopa rullata saattaa olla hidasta. Mutta natiivisovelluksen, olet jo valmiiksi downloaded-- luultavasti kun olit kotona App Storesta, tai olet ainakin ennen ladattua sen kokonaisuudessaan aiemmin, mikä tahansa yhteys speed-- ja niin nyt sinulla on kaikki bittiä että yleensä tarvitaan. Paitsi ehkä joitakin tietoja joka tulee palvelimelta. Nämä ovat siis kompromisseja täällä. On eräänlainen keski kompromissi, itse asiassa. Ja luulen sinä-- Yleisö: Käytä tietoja offline. Natiivi sovelluksia, voit [tahtiimme] DAVID J. MALAN: Ehdottomasti. Joten ei offline kysymys, joka on todella ärsyttävää Jos et voi pelata joitakin pelin tai käyttöä joitakin ohjelmia vain koska olet kellarissa jonnekin tai hississä. Oma sovellus on joustava suuremmalla todennäköisyydellä vastaan, olettaen että on kaikki tietoja tarvitset paikallisesti. Joten on olemassa kolmas vaihtoehto täällä. Ja nyt vetää taajuuksien natiivisovellus täällä ja web sovellus täällä. Ja mitä keskellä on jotain called-- ja mielestäni saatat olla käytti sanaa ennen, ehkä? Hybridi sovellus. Ja sana merkitsee, se on jotain keskellä. Se on tavallaan web-sovellus ja se on eräänlainen natiivi sovellus. Ja mitä se tarkoittaa? On käynyt ilmi, on olemassa frameworks-- käytettävä termi earlier-- ohjelmisto että muut ihmiset ovat kirjoittaneet jokaista näistä järjestelmistä. Nämä ja vielä muut laitteet. Itse asiassa, anna minun mennä PhoneGap, joka on yksi tällainen kehys, I uskovat Adobe omistaa nyt. Anna minun mennä Aloitus. Katsotaan. Katso jos voin nähdä listan työkaluja. Laitteisto. Päästä alkuun. PhoneGap laitteisto. Katsotaan. PhoneGap laitteisto pääsy. Haluan nähdä, jos voimme löytää vähän kartoittaa että ne käytetään olla. Tämä on toisella sivustolla. Onko tämä hyödyllinen? Ei. Se tulee tuhlata aikaa siellä. PhoneGap laitteisto. Laitteet. Laitteen API. Ei, he muuttivat sitä. PhoneGap. Mennään viimeisen katsomaan tätä ja nähdä, jos voin näyttää. Päästä alkuun. Asenna PhoneGap. Asenna mobiilisovelluksen. Tule. He uudelleen kaiken. Selvä. Hyvä on. No, tässä sitä mennään. Tämä ei ole kovin valaiseva, mutta tämä on mitä olin sellainen etsimässä. Joten PhoneGap on kehys, joka olet ladata ilmaiseksi joka antaa sinulle Joissakin käynnistin koodia, olennaisesti. Joten koodia että he ovat kirjoittaneet joka ei tee paljon mitään. Mutta mitä se antaa sinulle pohjimmiltaan on vastaava on sovellus, joka vain tuo iso suorakulmio käyttäjän näytöllä. Se ei laita osoitepalkkiin, kuten selain, ei laita osoitetta. Se vain tuo suuri suorakulmio. Ja voit määrittää tämän ison suorakulmio, alla huppu, todella mennä acme.com, tai ehkä m.acme.com varten mobile.acme.com, mutta käyttäjä ei tiedä he kyseiseen osoitteeseen. Kaikki he näkevät on sisältöä www-sivulla. Mutta mikä on mukavaa tästä olento hybridi sovellus on, että mitä PhoneGap ja muut yritykset antaa sinulle on he antavat teille vähän koodia Objective-C tai Swift, tai hieman koodin Java, tai hieman koodia C #, ja olennaisesti, kaikki mitä on tarjota on minimissään osoitteen web-pohjainen sovellus. Ja sitten niputtaa tämän kaikki yhteen ja te on se joko käyttää site Internetin kautta, tai edes välimuistiin paikallisen kopioida sisällä hakemuksen, ja sitten tallennat sovelluksen iPhone-muodossa, Android puhelin muoto, pinta-muodossa, tai useita muita laitteita. Lataat kaikkien näiden versioiden Google Play Store, App Store, että Windows Store, ja niin edelleen. Ja nyt, voit olla kaikki yleisöä ladata todella natiivisovellus, joskin suurin osa koodin oli kirjoittanut joku muu, mutta sisältö että natiivisovellusta kaikki tulevat tyypillisesti oma verkkosivusto. Joten voit jatkaa kirjoittamista sivuston HTML, JavaScript ja CSS. Miksi hämärtää näitä rivejä? Miksi hybridi sovellus se on eräänlainen kotoisin, mutta myös eräänlainen web-pohjainen? Mikä idea lisäämällä tämä monimutkaisuus? Siis, jopa vielä, pelkästään vilkuillen läpi tämän sivun, Aloitusoppaasta tuntuu se sai koko joukon vaiheita minulle tehdä ennen kuin can-- Yleisö: Uudelleenkäytettävyys? DAVID J. MALAN: uudelleenkäytettävyys? Mitä tarkoitat? Yleisö: lähdekoodia. Joten sama koodi voisi ajaa kaikki eri alustoilla. DAVID J. MALAN: Joo. Yleisö: [tahtiimme] DAVID J. MALAN: Perfect. Jos aika on tiukka, ja jos ei ole, että monet developers-- Ehkä olet yksi kehittäjä ja hän varmasti ei tiedä kaikkia näitä environments-- todellakaan ole hyvin, ja varmasti ei voida ohjelmoida kaikissa kolmessa samanaikaisesti ja lähettää kolme tuotetta varatun ajan yksi, voit olla häntä rakentamaan kaiken HTML ja JavaScript ja CSS, ja sitten oppia pikku vähän siitä native sovelluksia, juuri tarpeeksi ladata puitteet näin, ja sitten ladata tuotteen kaikki eri sovelluksen myymälöissä niin että sinulla on nyt natiivi sovellus. Niin, että tuntuu win-win, mutta jälleen kerran, on selvä, mitkä ovat mahdollisia kustannukset tai kompastuskiviä? Yleisö: Performance? DAVID J. MALAN: Joo. Suorituskykyä. On vaikea kuvailla sanallisesti. Joten jos vain ottaa usko mobiilisovellus, Web-sovellus tulee tyypillisesti tavallista hitaammin. Se ei ehkä näytä aivan oikeassa, koska iPhone ja Android-puhelimet, ja Windows-laitteet, on olemassa aina eräänlainen oletuksena look ja tuntea kaikkia painikkeet ja valikot. Ja yritysten verkossa, voi kokeilla lähentää tätä estetiikkaa kirjastojen kuten Bootstrap, mutta user-- ansiokas user-- tulee tietää, että jotain ei ole aivan oikeassa tässä. Ja se on hienoa, ehkä se ei ole iso juttu. Mutta suorituskykyongelman ehdottomasti on iso juttu. Natiiveja pyrkivät vain paljon enemmän reagoiva ja siksi paremmin. Ja niin, mitä sitten voisi olla parhaat puolet eri vaihtoehdoista? Jos olet erityisen pienen yritys tai pieni ryhmä, sinulla ei ole resursseja kehittää sovellusta rinnakkain kaikilla kolmella alustalla, ja rehellisesti, tuntuu että on huono idea muutenkin koska jos heität sen pois ja päälle kaikki kolme samanaikaisesti ymmärtää, Meidän olisi pitänyt lisätä joitakin ominaisuuksia tai tehnyt jotain toisin, nyt sinun täytyy korjata sen kolme paikkaa, ei yksi. Mikä ehkä optimaalinen strategia täällä yleistä, jos resurssit ja aika ovat tiukka? Yleisö: Just do it iOS. DAVID J. MALAN: Se ei ole kohtuuton. iPhone, ainakin USA, ovat erittäin suosittuja. Android silti tuntuu olevan hallitseva markkinaosuus, maailmanlaajuisesti, yleistä. Joten et ole välttämättä edusta kokonaisuutta maapallon tällä viikolla. Mutta se ehdottomasti yksi päätös. Siis, kampuksella täällä I pohdiskelemiseen hirvittävä määrä tai prosenttiosuus opiskelijaa on iPhone eikä Android-puhelimissa. Mutta ulkomailla, se on eräänlainen vastakohta. Joten päätät perustuu yleisöön. Mistä tiedät, mitä yleisö on? No, olemme oppineet temppu eilen. Voisit pyytää heitä. Jos käytössä on pysyvää yleisöä voit lähettää heille kyselylomakkeen. Tai sitten voisi vain tehdä mitä? Yleisö: Google Analytics? DAVID J. MALAN: Mikä tämä on? Yleisö: Google Analytics. DAVID J. MALAN: Google Analytics. Joo. Tai vieläkin tavallaan teknisesti, vain katsokaa oma web-palvelimia lokit. Koska mitä tapahtuu joka kerta selaimen, onko kannettava tietokone, työpöydällä tai puhelin vierailevat sivustolla? He lähettävät että HTTP-otsikon, joka osoittaa mitä selaimen ja käyttöjärjestelmän he käyttävät. Voit siis päätellä, suurella todennäköisyydellä, mitä väestörakenteen käyttää tällä tavoin ja säädä. Niin kai se on hyväksyttävää. Se on tavallaan huono liike jos Android käyttäjät eivät voi ostaa meidän widgetit. Yleisö: Olitpa syytättekö vai ei? DAVID J. MALAN: Olipa aiot veloittaa? Joten OK, saat mitä maksat. Yleisö: Olipa sovellus on tule olla vapaa tai onko se gonna-- DAVID J. MALAN: OK. Joten ehkä voisi saada takaisin kustannukset että tapa, or--? Yleisö: Luin tutkimuksen kerran, että mainittu Lisää Apple käyttäjät maksavat sovelluksia versus-- DAVID J. MALAN: Se on totta koska he jo maksavat enemmän niiden laitteisiin. Joten ole kohtuutonta oletukseen. Yleisö: [tahtiimme] DAVID J. MALAN: OK. Joten jos he ovat valmiita maksamaan, sitten helvettiin kanssa Android käyttäjät. He eivät aio maksaa meille mitään muutenkaan. Voisimme yhtä hyvin keskitämme prioriteetteja, ainakin ensimmäisten kuukausien tai vuodessa, iOS. Täysin kohtuullinen. Mitä enemmän osallisuutta strategia kuin? Maybe-- mitä se on? Yleisö: [tahtiimme] DAVID J. MALAN: Entistä expensive-- joten ehkä sijoittaa enemmän in-- mennä eteenpäin. Yleisö: Kyllä. Vain mobiilisivuston. DAVID J. MALAN: Niin tee mobiilisivuston eikä edes huolestua monimutkaisuudesta. Tai ehkä järkevä strategia, joka jopa Facebook kesti, on aloittaa hybridi hakemuksen, koska se ei ole että paljon vaikeampi tehdä kuin tämä. Täytyy vain lukea joitakin dokumentointi ja selvittää, miten ladata asioita App Storesta. Joten ehkä aloittaa Tässä, niin että yksi päivä, voit tukea kaikille käyttäjille. Ja sitten, aivan kuten Facebook ja muut yritykset ovat tehneet, kun on resursseja, olet ihmisiä, miksi et uudestaan ​​toteuttaa vain iOS sovellus. Sinulla on vielä jotakin, vaikka se on huonompi kokemus ehkä, jossa hybridi sovellus. Mutta voit vähitellen levittää ja vaihda lyhyellä aikavälillä toimenpiteet hybridi sovellusten kanssa sinun enemmän natiiveja ohjelmia. Yleisö: Mutta hybridi sovellus pääsevät mobiiliominaisuuksista? DAVID J. MALAN: Ei välttämättä. Joten ehkä teet tietoinen päätös varhain, voit vain ladata valokuvia natiivi iPhone-sovellus Facebook, mutta ei Android-sovellus, Aluksi, esimerkiksi. Ja se on hieman valkoinen valhe, koska web-sovelluksia on enemmän rajoituksia kuin hybridi sovelluksia se kääntyy pois, ja jos luemme asiakirjat for PhoneGap ja asioita, kuten sitä, ihmiset ovat keksiä tapoja antaa Web-pohjaisten sovellusten pääsy kameraan, kunhan käytät hybridi sovellus. Miten se toimii? Koska hybridi hakemuksen määritelmänsä on hieman koodia Objective-C, ja Swift, ja Java tai C #, se voi käyttää laitteistoa. Ei välttämättä kaikki, mutta se saattaa hyvinkin olla, että olet tarpeeksi pääsy saada kamera, jopa Android alustoille, sillä Esimerkiksi että keinotekoinen esimerkissä. Muita kysymyksiä? Selvä. Miksi ei otamme 15 minuutin tauko täällä. Me jatkaa kolmella lopullisen katsokaa Web-ohjelmointi, tietokannat, ja JavaScript.