DAVID J. Malan: Do ni estas dorso. Do la altnivela temo ĉe la momento nun Estas teknologio stakoj, kio ne aparte teknika termino, ĝi estas pli de akirado ĉiuj por ajna nombro de kombinaĵoj de teknologioj ke vi povus uzi por solvi problemojn. Kaj eble la plej bona maniero por komenci estus rigardi lingvoj ekde Mi tenas frapadi ekstere tutan faskon kaj plej ĉiuj en la ĉambro havas verŝajne aŭdis pri almenaŭ unu. Do kial ne nin provas distingi what-- distingi tiujn lingvojn kaj parolu brevemente sur kiam vi volus elekti unu super la alia, kiel ili estas ia fundamente malsama, kaj speciale Kiam vi babilas kun inĝenieroj, aŭ klopodante decidi kiujn dungi, kia efektivigo propono Greenlight, kiel vi reale fari tiuj specoj de decidoj. Do ni nur rasli kelkajn aferojn ekstere. De la lingvoj popolo havas auxdinte pri kio temas gravas? C. OK. OK, C ++. Kio estas tio? Spektantaro: Python. DAVID J. Malan: Python. Bonega. Kion alian? Vida Baza. Mi aŭdis Javo. Vida Basic-- a.k.a. VB. Java. NET, kiu estas pli de akirado ĉiuj cxar kio estas kutime C # kiel la lingvo en demando. Kaj mi mencias tion. Do ni revenos al tio. Mi bedaŭras? Pardonon? Spektantaro: SQL. DAVID J. Malan: Scratch? Spektantaro: SQL. DAVID J. Malan: Ha, SQL. BONE. SQL. Do ni revenos al that-- fakte, ĝi estas good-- post la paŭzo ankaŭ. Kion alian? Spektantaro: Oracle. DAVID J. Malan: Do Plejsanktejo ne estas lingvo. Fakte ili uzus SQL ankaŭ. Do ni metos ke post la paŭzo ankaŭ. Kaj bedaŭras, io pli tie? Spektantaro: Mathematica. DAVID J. Malan: Mathematica? OK, certa. Kaj MATLAB afablas sur tie kelkfoje. Spektantaro: R. DAVID J. Malan: R. Ni iru tien. Fortran. Certa. Malnovaj lernejo. Fortran. COBOL. Mi ĵeti ekstere BASIC. Basic. Any-- Spektantaro: MATLAB? DAVID J. Malan: MATLAB. Ho, kiel bati vin al ĝi. Ion? Mi povas pensi pri kelkaj aliaj. Mi povas pensi pri kelkaj aliaj. Kaj kio estis la lasta? Spektantaro: ASP. DAVID J. Malan: ASP? Yeah. Aktivaj Servilaj Paĝoj. Kiu ĝenerale falus sub aliaj lingvoj, foje C #, do ni lasu, ke ekstere. Sed ni revenos al tiu por kadroj kaj tian. Io alia? PHP estas populara. Rubeno estas alia. JavaScript, ne konfuzi kun Java, estas alia. Tio estas speco de tre. Do ĝi povas esti certe abrumadora, kvazaŭ la listo ne jam, nur komenci scii kie komenci. Kaj tiel feliĉe, ni alproksimigi tiun de kelkaj anguloj. Unue, ni provu kategoriigi almenaŭ kelkaj el tiuj lingvoj en du larĝaj siteloj, memorigas la konversacio ni havis antaŭ paŭzo, kie ni parolis pri kompilado, kaj fontkodo, kaj maŝino kodo, ĉar tio ne estas kiel ĉiuj lingvoj labori. Do ni forkaptos el kelkaj ekzemploj of-- aŭ kontraŭ-examples-- al tiu modelo. Kaj tiam, kial ne ni paroli pri la aplikoj ke tiuj lingvoj ĝenerale uzata por. Kaj sincere, kvankam tio estas bela longa lerta, ĝi estas nur subaro de tiu listo ke vi tipe tiros el tiuj tagoj solvi problemojn. Iuj lingvoj estas pli nova ol aliaj. Iuj lingvoj estas pli populara ol aliaj. Do ĝi ne estas kiel vi havas tian superforta tasko antaŭ vi Kiam decidanta inter tiuj diversaj lingvoj. Do ni faru ĉi. Ni havis antaŭe, fontkodon, kaj tiam ni devis maŝino kodo. Whoops. Skribante la malĝustan vorton. Maŝino kodo. Kaj ni havis iun procezon en la meza called-- jes, la tradukilo. Do la tradukilo. Kaj kia la maŝino kodo fakte funkcias en la fino tuj estos via reala CPU. Alivorte, per maŝino kodo, mi signifi la plej malalta nivelo instrukcioj ke CPU vere komprenas. Krome, subtraho, movi, savi kaj operacioj tiel. Kaj tiel ĉi tiu estas la modelo por kio estas ĝenerale konata kiel kompilis lingvoj. Eble ne surprize. Do tiu estas la modelo cxar kompilita lingvoj. Sed rezultu ke la alia klaso de lingvoj nomita interpretita languages-- interpretita languages-- kiuj estas iomete malsamaj. Vi skribas en fontkodo, ruli ili estis tradukanto, kaj ke interpretisto estas kio kuras sur la CPU. Alivorte, kion vi ne elsendas estas kio, ŝajne? Maŝino kodo. La nuloj kaj ke la CPU mem finfine komprenas. Do en ĉi tiu unua versio kaj lingvoj kiel C, kiel ni vidis, vi skribas en fontkodo ke estas iom arcane, sed almenaŭ estas ia angla-kiel kaj ĝi estas almenaŭ legebla iam oni kutimiĝas al ĝi. Vi kuri ĝin tra tradukilo kaj eksteren vi ricevas, finfine, nuloj kaj aĵoj. Ke simplificación. Estas iuj aliaj paŝoj en tie. Fakte, se vi iam aŭdis la termino "asembla lingvo" tio estas unu paŝo antaŭe la nuloj kaj aĵoj. Ke iom pli legebla, sed ankoraŭ bela arcano. Kaj do ekzistas interaj paŝoj kiuj, fakte, okazas ĉi tie. Sed la eligo, finfine, estas tiuj nuloj kaj aĵoj. Sed en la interpretita mondo, kie vi havas lingvoj kiuj estas interpretitaj lingvoj, vi vere salti tiun paŝon. Alivorte, kiam vi skribas programo, vi nur tuj kuri ĝin. Vi ne kompili ĝin kaj poste ekzekuti ĝin, kiel mi faris antaŭe. Vi nur skribas ĝin kaj ruli ĝin. Kaj se vi volas fari rapidan ŝanĝon, vi faras rapidan ŝanĝon kaj rerun ĝin. Tial ne ekzistas meza ŝtupo tie. Nun, por la programo mi skribis antaŭe, kiu estis tiu "Saluton Mondo" programo, vi povus prudente wonder-- aŭ povus prudente state-- ke ne estis tiu tempo konsumanta kompili mia programo. Ŝajnas fari tion nur kiel tio. Kaj ekzistas grafikaj versioj de compiladores. Mi uzas tre arkaikaj versio, sed vi povus trafi teatraĵo butono kaj kiu reale faras la compilación por vi. Mi kompilis la programon kaj tiam denove kuri ĝin, mi nur faru tion. Kaj ĝi eligas ĉe maldekstra tie, "Saluton!" Kiu ne ŝajnas ĉiuj tiu multekostaj. Sed kiam via programoj pli ol nur unu, du, tri, kvar, kvin linioj longaj, ĝi povas preni multe pli sekundoj kompili. Kelkfoje eĉ minutojn aŭ tre iom de tempo kompili. Post ĉiu, iuj de la mondaj plej grandaj produktoj estas aferoj kiel mastrumaj sistemoj, Microsoft Word, Microsoft Excel, kiu povus esti centoj de miloj aŭ eĉ milionojn da linioj de kodo longa, kaj tiuj ne nur tuj ekzekuti. Plie, en la retejo, ĝi estas de modo uzi simple interpretitaj lingvoj, parte ĉar vi povas fari ŝanĝon kiel la ellaboranto kaj tiam simple tuj reŝarĝi la krozilo paĝo kaj tuj vidos la rezulton. Kaj tial HTML, dum ne programlingvo, estas lingvo kiu estas interpretita. Kaj ni vidis tiun saman efikon hieraŭ. Vi nur reŝarĝi la paĝon post farado ŝanĝo en Cloud9 kaj-- voila-- Vi vidos novan rezulton. Do kio estas la diferenco ĉi tie? En HTML, revokon, ni havis malfermita HTML, malfermita kapon, malferma titolo, proksime titolo, proksime kapon malferma korpo, kaj tiel plu. Ni havis ĉiujn tiujn etikedoj ke ni belajn multe diras, diru la retumilo kion fari. Hey retumilo, tie venas HTML paĝo. Hey retumilo, tie venas la titolo. Hey retumilo, jen iuj teksto kiu devus esti aŭdaca. Kaj tiam vi diru la malon. Hey retumilo, tio estas ĝi por la aŭdaca vizaĝo tekston. Hey retumilo, tio estas por la korpo. Kaj tiel plu. Kaj do kio estas retumilo? Al retumilo estas nur interpretisto. Estas programo kiu iu kiel Microsoft aŭ Google skribita, kies celo en la vivo estas legi lingvon, nomata HTML, kaj gxin klarigas. Supre sube, maldekstre dekstren. Kaj iam la retumilo vidas malfermitan krampo, titolo, proksime krampo, ĝi devas interpreti ke kiel signifo, ho, ke signifas mi devus meti tiujn vortojn vojo ĝis ĉi tie ĉe la supro de la retumilo. Do ĝi nur faras kion la HTML kodo diras. Sed ne estas nuloj kaj aĵoj. Ekzistas neniu compilación. Vi ne plenumos. La retumilo ne faris. Ĝi simple ne partoprenas. Do en la animo de tiuj daŭranta temoj, hodiaŭ kaj hieraŭ, kiu ŝajnas esti mirinda trajto. Vi savu vian kodon kaj tiam nur kuri ĝin aŭ interpreti ĝin. Mankas interaj paŝoj. Certe ekzistas kosto? Ne ĉiuj estos upsides. Do kio povus tiu kosto estas? Spektantaro: Spaco. DAVID J. Malan: Spaco. Do, certigi. En la kompilita mondo, vi havas Ne nur la originala fontkodo, vi ankaŭ kreas kaj tiam supozeble ŝparante la maŝino code-- la nuloj kaj ones-- kaj tio akiris preni iun kvanton de spaco. Absolute. Do ĝi estas kostanta vin pli spaco. Yeah? Spektantaro: Foliumiloj eble interpreti malsame. DAVID J. Malan: Foliumiloj eble Interpreti ĝin malsame. Tio estas vera. Sed mi ne certas mi komforta asertanta tio estas ĉar ĝi estas interpretita. Tio estas pli ĝuste ĉar ĝi estas implementación de lingvo ke mem ambigüedades. Do ni ne tute konfirmi tiu, sed bonan impreson. Kio alia povus esti la prezo pagita? Andrew? Spektantaro: Vi kombinante du ŝtupoj, tiel vi do havi kreskantan kompleksecon tiel. DAVID J. Malan: La complex-- la pliiĝo en komplekseco kie? Por kiu? Spektantaro: Do, en la interpretisto paŝo, vi kombini la interpretisto kaj kompililo por nur kondukante supren to-- DAVID J. Malan: Ha, bone. Ironie, ĝi estas verŝajne iom simpla apliki la interpretisto, kvankam ĝi ŝajnas produktokvanto upsides de tiu komforto. Do eble vera. Sed ia dependas, mi dirus, sur la lingvo kaj pri kiel ili iris pri ties plenumado. Tie povas esti multaj pli complejidad, fakte, en la tradukilo, nur ĉar vi devas iri de io tia altnivela ion tiel malalta nivelo. Sed bona penso. Do metu alian manieron, kompilita programo, kiam igitaj tiuj nuloj kaj, finas en la lingvo ke la CPU parolas, dum en tiu flanko de la mondo, la programo vi skribis, la kodo vi skribis, neniam reale konvertiĝas en la reala lingvo la komputilo parolas. La nuloj kaj aĵoj. Ĝi subtenas en la originalo, pli homa amika, pli legeblan lingvon. Do kio povus esti la implico tie, se vi ne reale ĝeni konverti viajn programo por la tre lingvon ke la suba komputilo parolas? Spektantaro: Might ne kompreni ion? DAVID J. Malan: Might kompreni ion. Kaj kiu eble claim-- se ĝi ne komprenis ion, tio estas cimo aŭ manko de trajto en la interpretisto. Tiel ke estus pli eraro ol kosto. Spektantaro: Vi havas aliron al la fontkodon? DAVID J. Malan: Estas bona. Tiel malavantaĝo jen vi ŝajnus havi aliron. Vi, la uzanto fino, povus ŝajni havas aliron al la fontkodo. Kaj tio ne ĉiam veras. Sed estas vera en la kazo de Javascript, kiun ni rigardi post la paŭzo hodiaŭ, kiuj estas interpretita programlingvo ke vi skribas en fontkodo. Sed ke fontkodon prenas kopiitaj de via servilo al la retumilo kaj kuras en la homa retumilo. Do jen ŝi povis nur malfermi la fenestro, kiel mi estis farante en Chrome, kaj rigardas ĝin, kiel ni mem rigardetis hieraŭ kun Google. Ĝi povus aspekti iom nekomprenebla sed estas tie. Tiel ke estas absolute unu prezo pagita. Spektantaro: Performance sukceson? DAVID J. Malan: Jes. Kaj tio estas la alia Biggie. Ekzistas agado sukceso. Ĉar vi havas tiun mezo viron, kiun si Estas programo, inter vi kaj la CPU, kontraste nur nutrante tiuj krudaj nuloj kaj en la CPU, ekzistas agado hit kiu vi prenu kun interpretita lingvo. Tia ke, arbitre, programo Kiu povus preni dua kuri en komputilo aŭ minuto kuri en komputilo tien, povus preni 10 sekundoj aŭ 10 minutoj kuri sur komputila tie. Ĝi estas ĝenerale ne estos tiom multe de difference-- faktoro de 10-- ĉar ekzistas optimumigaĵoj vi povas fari. Sed estas preskaŭ ĉiam pli malrapida. Nun, la flip flanko al tiu konzerno estas ke, same komputiloj, ĉiu 12 18 months-- laŭ Moore leĝo, tiel diri estas nur nun pli rapide. Mi havas pli kaj pli diskspaco. Mi havas pli kaj pli memoro RAM. Kiu vere zorgas? Kaj jen speco de racia argumento. Efektive, unu el la kialoj kial ni povas toleri pli malrapida interpretitaj lingvoj estas ĉar ni homoj ne vere rimarkas. La komputiloj havas alveninta nur tiel darn rapide. Dum reen en la tago, precipe kiam aparataro estis multe pli limigitaj, vi havis malpli ĉion, ĝi estis multe pli multekostaj do ĉio kostas pli, bone tiam vi vere volis elpremi el tiel elfaro kiel vi povus. Sed kiu postulis skribi ĉe suba-nivelo, se vi volas, kun kompilita lingvo. Do vi ja prenas ĉi agado sukceso. Sed ĝenerale, la upsides ŝajnas valori ĝi ĉi tiuj tagoj. Nu, krom la intelekta propraĵo temo. Tian legeblecon de la kodo, ni revenu al kiam ni rigardas Javascript. Do ni provu kategoriigi almenaŭ kelkaj el tiuj. Tiel inter la kompilita lingvoj, ni havus C, C ++, kinda, sorta, Java, kvankam ĝi estas iom de escepto, cxar kialoj mi montros al vi en nur momento. C # estus sur tiu listo. Ni rigardu pli ĉe nur la pli modernaj lingvoj. Bone. Kaj kiu ŝajnas kiel multe ekzistas. Dum transe de la barilo, ni povus havi JavaScript, kaj Python, kaj PHP, kaj Ruby. Kaj estas kiu sufiĉas por la pli freŝaj? Kiu sentas multan nun. BONE. Kaj tiam dot dot dot, ĉar la lerta estas senfina. Kaj fakte, se ni volas nur akiri senton de this-- Vikipedio kompilita lingvoj. Mi konjektas ni povas akiri multe pli ĝisfunda listo. Do jen ni iras. Do tie estas multe pli ĝisfunda listo. Kaj mi esperis ke iu konjektus D kiel lingvo ĉar tio tro ekzistas, sed ili haltis ĉe D ŝajnus. Kvankam efektive povus esti E. Ho, vere, tio devus esti sur la listo tiuj tagoj. Swift estas fakte lingvo kiu Apple inventita ke estas nun uzata, ĉiam pli tiel, en iPhone disvolviĝo. Sed ni revenos al ke per nia diskuto de telefonoj en nur iomete tiel. Tiel Swift ankaŭ. Kaj tiam ni iros al interpretita language-- interpretita language-- tiam jen paran pli longa listo ankaŭ. Do se vi nur google kaj rigardos Vikipedio por tiuj, vi vidos ĉiaj lingvoj. Sed la celo estas, por hodiaŭ vere, nur bolas malsupren al eble tiu temo de intelekta proprieto kaj legeblecon de la uzanto fino kaj agado, estas alia Biggie tiel. Do inter tiuj lingvoj, lasu min vidi se ni povas doni al vi nur iuj specimenon de lingvoj. Ni ne volas iri tra ĉiuj lingvoj senfine. Ĉu vi iam scivolis kia certa lingvo aspektas? Ni vidis antaŭ momento. Kial ni ne prenos paro de karakterizaĵo petoj. Kiu ŝatus vidi kion alia lingvo aspektas? Yeah. Spektantaro: Java. DAVID J. Malan: Java. Bone. Do ni iru al Javo. Kaj nur por doni al vi sample-- ni povus skribi cxiujn tiujn ekstere, sed estus pli rapida nur por rigardi aliulaj specimeno kodo. Bone. Tia estas tiu bona ekzemplo? Whoops. BONE. Do jen estas la Java versio de la programo mi skribis antaŭe, "Saluton Mondo". Do Javo, vi ofte vidi la ŝlosilvorto "klaso." Tiam vi vidos iun nomon post tio. Vi vidos buklaj krampoj kiel ni vidis antaŭe, kaj kelkfoje ili iros sur la sama linio, foje aliaj linioj, ĝi estas speco de persona decido. Vi vidos ŝlosilvortoj kiel "Publika" "statika" "malplena." Sed ni vidis "ĉefa". "Ĉefa" estas ĝenerale la nomo de la defaŭlta funkcio aŭ la defaŭlta bloko de kodo kiu akiras kuri en programo. "String". Kion ni celas per ŝnuro pli frue? Mi uzis specon de indiferente. Kordo estas kio? Vorto. Estas kiel vico de signoj. Individuajn karakterojn, reen al reen por malantaŭeniri, kutime en tabelo, kiel ni diskutis. Kaj fakte, vidu tiun sintakson tie, la du kvadrataj krampoj? Tio signifas, hey komputilo, tie venas tabelo de kordoj. La kvadrata krampo skribmaniero estas komune uzata por signifi ke. Kaj tiam vi povas verŝajne preni guess-- kio tio ĉi emfazita bloko de kodo probable faros? Spektantaro: La eligo? DAVID J. Malan: Jes. Presas ion al la ekrano. Do "sistemo" estas speco de referenco al via komputilo. "El" signifas via komputilo eligo aŭ la ekrano. Do "system.out.print ln" probable signifas? "Ln." Print linio kiun programistoj kiel ŝajne literumi kelkaj vortoj el en sia tuteco kaj preni ŝparvojoj kun aliaj vortoj. Sed "ln" estas linio, tiel presitaj linio. Do ĝi presas el "Saluton Mondo! "Sekvate de nova linio. Do jen ĝi. Sed Java estas kion ili instruos vin alvoko objektema. Kaj efektive, nur doni kelkaj aliaj difinoj tie vi povus vidu, ĝenerale, ekzistas Estas multaj malsamaj tipoj de lingvoj, sed la plej komunaj estas proceduraj aŭ imperativo lingvoj. Ekzistas funkcia lingvoj, kiuj ne signifas ke aliaj estas ne funkciaj. Kaj tiam ekzistas objekteman lingvoj. Kaj tio eble estas la plej bona categorización de plej lingvoj ke vi iam elektas por ia de tipa komerca projekto. Tio estus tro, Mi opinias, de rato la truo malsupreniri, por provi klarigi la diversaj diferencoj. Sed la lingvoj ni vidis tiel far-- C estas proceduraj aŭ imperativo lingvo. Pli ĵus inventis lingvoj kutime estas, bedaŭras, objektema, kio signifas Ili havas aliajn funkciojn al ili. Mi povas klarigi ĝin en tiu maniero? Ni ne eniru tien. Objektema rimedoj vi povas implement-- vi povas modeligi la reala mondo iom pli efike. Homaro, tra la tempo, eltrovis, wow, estus bela se mia lingvo havis tiun funkcion aŭ ke trajto. Kaj tial ni havas tiom multaj lingvoj en la mondo. Racia homo, inteligenta popolo konsentas aŭ malkonsentas kaj senescepte ia venis kune sur disvolvi novajn lingvojn ĉiuj kune. Trafa. Pomo inventita Swift en esperante supozeble malsuprenirante la riglilon iPhone disvolviĝo, ĉar la antaŭa language-- nomita Objective-C, kiu povus ankaŭ sur nia listo here-- Estis multe pli arcano kaj multe malfacile volvi onia menso ĉirkaŭe. Kaj kiel programado fariĝas disputeble pli alirebla kaj pli larĝe adoptita de homoj eĉ malpli teknika, la goal-- ĝi estas tre brava celo provi malaltigi la baro al eniro farante la lingvoj mem facila por starti kun, sed ne malpli potenca nepre. Kaj unu alia lingvo. Kial ni ne rigardu ion kiel Python, kiu estas tre en boga nuntempe. Python. Specimeno programo. Ni vidos. "Saluton Mondo" lingvoj. Ni faru ĉi. "Saluton mondo." Ni vidu se tio donas ni belan ekzemplon. BONE. Do tiu estas fakte speco de amuzo. Do se vi iam google "Saluton Mondo", kiu sekvinbero al esti unu el la unuaj programoj iam skribita en moderna lingvo, nur kiel pruvo de koncepto, vi povas vidi ĉiaj implementaciones de ĉi. Kelkaj el tiuj lingvoj Mi eĉ ne aŭdis. Sed vi povas see-- ni iru al Basic, la unu mi lernis antaŭ jaroj, en parto. Tio estis amuza lingvo ĉar vi devis, kiel la programisto, nombro ĉiujn viajn liniojn. Ne kontraste kion mi faris kiam mi estis skribanta _pseudocode_ sur la flava dokumenton frue por duuma serĉo, por serĉado telefono libro. Kaj tial, se vi volas iri al alia linio, vi laŭvorte tajpas, iru al 10, aŭ iru al la 20. Kaj se vi skribas liniojn, la konvencio estis fari, tiu estas linio 10, tiu estas linio 20, ĉi tiu estas linio 30, 40, kun nenio en inter, donante mem iu ĉambro se vi decidas, atendi minuton, Mi aldonis kelkajn pli kodo ie. Vi ankoraŭ havis ian naŭ ŝancojn elpremi ke intere vian programon antaŭ vi devis permane renumber ĉion. Do tiu estas speco de kio mi signifas kiam mi parolas la mondon venis supren kun novaj funkcioj. Ie survoje iu rimarkis, knabo ĉi estas stulta. Tiu estas nur krei labori por la programisto. Do li aŭ ŝi nur speco de konstruita nova tavolo sur supro de tiu por ke vi ne devas maltrankvili pri kio linio nombroj via kodo fakte plu. Do kiam povus vin elektas unu lingvo aŭ alia? Nu, kiu el tiuj lingvoj vi emas aŭdi pri la plej en vian propran mondon ĉi tiuj tagoj? Ni gutigas Objective-C ankaŭ. Spektantaro: C #. DAVID J. Malan: C #. Do lasu min koloro. Ni havos niajn aliajn koloro ie? Do C #. Kaj kion vi scias pri C #? Io printempo memorigas? Spektantaro: Ĝi estas programlingvo. DAVID J. Malan: Estas programlingvo. BONE. Tio estas vera. Do ni parolas pri C #. C # inklinas uzi en Fenestroj medioj, Sekve se vi skribas Microsoft programaro por Vindozo, C # estas tre komune uzata, ĉu ĝi estas por surtabla softvaro, Aŭ eĉ telefono softvaro sur Fenestroj telefonoj, Se vi havis tiujn, aŭ en la reto eĉ tro. Kaj fakte, eble Kareem menciita ASP frue? Do ekzistas ankaŭ tiuj aĵoj nomata kadroj, kion ni povas enkonduki por etendo. Kadrojn, kiel ASP. Signifas Aktivaj Servilaj Paĝoj. Kaj tiu estas kodo kaj maniero de programado kiu ĝenerale faciligante skribi ttt bazita aplikoj. Alivorte, ĝi devus esti super, súper ĝena skribi retejo en la lingvo C kiu ni vidis antaŭe, ĉar vi devus uzi print + F, Vi devus uzi tiun ŝlosilvorto "Ĉefa" kaj la krispa krampoj. Multa arcano sintakso kaj alproksimiĝo implementar iu kiu estas sufiĉe kompleksa. A retpaĝo. Kaj tial aliaj lingvoj evoluis fari tian aferon pli facile. Kaj siavice, personoj elvenas kun kadroj, ia iloj ke vi povas uzi ke fari eĉ pli facile skribi retpaĝoj. Do ekzemple, fari tio multe pli konkreta, lasu min malfermi nur tekstdosiero momente. Kaj vi eble memoras hieraŭ ni diris ion kiel, tiu estas retpaĝo. HTML. Proksimaj HTML. Lasu min salti la kapon kaj simple fari la korpon ĉi tie. Supozu ke mi volis skribas "Saluton Mondo" sed "Saluton David," kie Davido estas la nomo de la nune ensalutinta uzanto. Kio io kiel ASP faros, aŭ JSP-- kio estas Javo servilo pages-- aŭ ajna nombro da aliaj kadroj estas ili ne estas lingvoj, por se. Ili estas nur kiel plia programaro ke vi instalus en via medio ke nur plifaciligi plani. Do ekzemple, anstataŭ devi fari ion kiel "Saluton, printf (" Davido ")" aŭ iu kiu estas speco de ko-mingling-- la speco de kodo ni vidis before-- vi farus ion multe pli simplan, kiel "nomo%." Kaj tial tiuj kadroj, kiel ASP-- kaj mi ne memoras se mi ricevas la sintakso ĝuste por ASP. JSP estas little-- estas tiu rajto? Do kun ASP, tiu estas ia speciala sintakso ke iuj desarrolladores decidis ĉi povus helpi homojn ekstere. Kaj mi povas esprimi pli koncize anstataŭaĵojn, ekzemple. Kiel taksos tie, kie tiu valoro nomo ne N-Al-M-Kaj, estas iu valoro stokita tie. Do "nomo", en tiu kunteksto, nomus variablon. Algebro havas variabloj kiel x kaj y, kaj z. Programistoj uzi variablojn kiuj estas pli priskriba ol x, y, kaj z, tipe. Do "nomo" laŭvorte esti ia de memoro ujo por iu kiel D-Al-V-mi-D, por mia nomo, aŭ kiu ajn alia estas ensalutinta en la retejo. Kaj tiel ĉi estas la speco de conveniencia vi ricevas kun iuj medioj. Do C # kaj io kiel ASP farus tre komune uzi en Windows mondo, ĉu pro lia labortablo programaro aŭ retservilo, speciale se via serviloj estas laŭvice kurante Vindozo kaj Microsoft IIS-- aŭ Interreto Information Servilo, se mi ricevos la akronimo right-- kio estas Microsoft retservilo. Do kion aliaj lingvoj Estas homoj konas, aŭ ĉu vi aŭdis pli ofte ol ne? Spektantaro: Mi scias, ke Python speco de populara [inaudible]. DAVID J. Malan: Tre populara. Do Python tie estas uzita tre ofte en sciencaj aplikoj aŭ datumoj scienco, kie vi havas multe de datumoj kiujn vi volas analizi kaj vi volas uzi programlingvo por ĝi. R povus komune uzi por ke tiel, en statistika ĉirkaŭteksto. Sed Python havas tiom da karakterizaĵoj konstruita en. Tiom da aldonaj bibliotekoj, kiel oni diras. Bibliotekoj estas nur kolektoj de kodo ke aliaj personoj skribis ke vi povas uzi por ke vi ne devas reinventi tiuj radoj. Kaj tiel Python estas tre komune uzataj en datuma scienco aplikoj. Sed estas ankaŭ tre komune uzita en aplikoj retejo. Vi povas apliki dinamikan retejo uzante Python. Kaj per dinamikaj retejo, mi signifas ne nur statika enhavo kiel ni kreis hieraŭ, per nur malfacile kodigo en la latina teksto kaj aliaj tiaj aferoj, sed la kapablo ensaluti, la kapablo por aĉeti ion, la kapablon kontroli kun via komerca ĉaroj, aŭ similaj. Ĉiuj kiuj postulas dinamismo kaj vi bezonas lingvon kiel unu el cxi tiuj. Spektantaro: Do ​​ĉu Pitono havas lia propra pligrandigo, similan ŝati [inaudible] DAVID J. Malan: ĝi faras. Tiel en la mondo de Python, Django estas tre populara kadro por Python. WSGI estas alia mekanismo kiu estas ia malsama ĉi sed simila en spirito. Ĝi estas add-on kiu permesas kuri Python kodon en servanto. Ekzistas alia lando jes. Do tiuj ni nomas kadrojn. Kaj ĝi estas iom de misuzo. Tio estas pli de servanto retejo teknologio. Sed ni observu ĝin simpla kaj metis en tiu kolumno tamen. BONE. WSGI. WSGI. Alia thing-- kaj fakte, lasu Mi proponas ke al lia propra kolumno, ĉar mi krias al Mi cxi metante ilin en la sama sitelo. Ni metis tiun sur servilo trajtoj, ni diru. Tio ne estas teknika termino. Do jen ni estu WSGI. Ekzistas CGI, kiu estas pli aĝa tekniko por servanta supren lingvoj kiel Perl aŭ PHP, aŭ iuj aliaj. Denove, mi menciis tiujn terminojn ne tiel al ia ingrain ilin, sed por ke se vi vidos ili estas io vi simple google legi pli. Ekzistas neniu reala suko al iuj de ĉi tiuj aferoj. Sed ni revenu al la lingvoj. Ni parolis pri C #, Python. Kion alian povus vin uzas por ttt programado tiuj tagoj? Ni enfokusigi ke ankoraŭ. Spektantaro: PHP. DAVID J. Malan: PHP. Kaj ni revenu al tiu. Do PHP estas tre komune uzita. PHP inklinas akiri malbonan repo. Ĝi dividis kiel lingvo implementado de homoj kiuj eble ne nepre la bona lingvo diseñadores. Kaj do vi povas legi ĉiajn artikoloj rete pri kiom malbone PHP estas. Kaj bedaŭrinde tio estas demonstracio, en parto, de nur la religiaj debatoj ke erupcii inter programistoj. Kaj tio estas io valoras tenanta en menso, de negoco perspektivo, ke ĝi estas tre facila por teknikaj personoj akiri ĉiuj laboris supren kun ilia opiniojn pri certaj aferoj. Kaj tio ne nepre signifas ke unuj kriante la plej laŭta aŭ kun la plej forta, angriest opinio estas gxusta. Multaj tempoj, ĝi vere nur ne gravas. Kaj do homoj nur argumentante ajn iliajn proprajn antaŭjuĝojn aŭ komforto zonoj estas. Kaj tial vi devas konservi ke en menso kiam faranta decido, ke nur ĉar iu diras tio estas la ĝusta lingvo por la laboron, kiuj povus esti vera, sed ankaŭ nur povus esti tio estas la dekstra lingvon en siaj propraj kapablecoj aro aŭ komforto zono. Kiu ne estas malbona, sed vi devus rimarki ke tie povus esti iu kunteksto. Estas iuj objektive malĝusta deklaroj, kiel C estas la malĝusta lingvo uzi tiuj tagoj por efektivigado retejoj preskaŭ ĉiam. Sed ĝi ne estas senkaŭza diri ke iu el tiuj malpravas ke ni rondiris tiom. PHP pasis por multaj versioj. Do lingvoj emas havi versio nombroj asociita kun ili. PHP estas ĝis, mi pensas, versio 7 nun, do ĝi estas estita proksimume por tre iu tempo. Kaj kiel lingvoj akiri novaj, Ili ofte akiras novajn trajtojn. Sed vi devas esti atenta de tiu ĉar se via retejo estis implementado en versio 7 de PHP sed vi provas kuri vian retejon, aŭ eble vi outsourced la disvolviĝo de via kodo al iu alia kaj ili poŝti ĝi al vi aŭ sendi ĝin al vi kaj ili diras: tie, meti tio sur via retservilo, se via TTT-servilo estas kelkaj jaroj outdated-- ĉu ĝi estas via propra servilo aŭ ttt host-- ĝi eble ne vere kuras. Do tiuj estas la specoj de aĵoj kiuj iu bezonas esti atenta de kiam altgradiganta ejo aŭ efektiviganta ĝin por la unua fojo. Mi aŭdis Javascript antaŭe. Tiel Ĝavoskripto estas interesa oni ke ĝi estas ĝenerale kliento flanko, kiel ni vidos post la paŭzo, kiu signifas ĝi kuras en la uzanto retumilo. Sed vi povas ankaŭ kuri Ĝavoskripto tiuj tagoj uzante iu nomita Node.js, kie node.js estas mekanismo por kurado JavaScript kodo servilo flanko, anstataŭ uzante Python, aŭ PHP, aŭ aliaj tiaj lingvoj. Javascript estas aparte tre taŭga por babilejo aplikoj kaj reala tempo aplikoj, dum PHP ne estas granda lingvo por implementar ion kiel babilejo servilo, kie uzantoj resti konektita ŝin senĉese. PHP estas pli de vizito mi unufoje reiri rezulto, kaj tiam alklaku alian ligilon iuj sekundoj aŭ minutoj de nun. Dum Node.js kaj JavaScript povas esti uzita pli por persista rilatoj. Aliaj lingvoj kiujn vi suspektas estas ofte uzata por TTT aĵon? Spektantaro: Ĉu jQuery esti kadro? DAVID J. Malan: Bona demando. Nek. Mi vokus jQuery biblioteko, kie denove biblioteko estas nur aro de kodo ke iu alia havas skribita ke ĝenerale solvas kelkajn problemojn ke faras, espereble, pli facile por ke vi plenumu vian laboron. Kaj lasu min fari unu ekzemplo de tio en la kunteksto de la TTT. En la kunteksto de la retejo ekzistas ĉi lingvo, Ĝavoskripto, ke ni vidos poste, per kiu vi povus diri ion kiel this-- "Document.getElementByID." Kaj kion mi nomas ĝin hieraŭ? Unue, mi opinias, estis la unika ID Mi donis al elemento kiu aspektis kiel ĉi tio. "P id =" unua ">" kaj poste ni havis kiel "Lorem ipsum" kaj tiel plu. Do se mi skribas programon en Ĝavoskripto iel manipuli, ŝanĝi la retpaĝoj ke ni ludis kun hieraŭ, Mi uzus ĉi emfazata linion de kodo bonstata aparta fragmento de HTML de mia paĝo, ke aparta nodo, kiel ni nomas ĝin. Tamen, en jQuery, anstataŭ skribo tiu, kiu estas kruda JavaScript code-- nur el la skatolo, tiel estas kiel vi skribi it-- vi anstataŭ nur diri, "#first." Jen ekvivalento. Kaj do bazita nur sur tiu tre arcano Ekzemple, kio eble estas la argumento por uzi jQuery? Kial developer uzi biblioteko kiel jQuery, bazita sur ĉi izolitaj ekzemple, eble? Spektantaro: Malpli kodo. DAVID J. Malan: Jes. Ĝi estas malpli kodo. Estas nur pli rapide tajpi. La kontrapunkto estas ke ĝi aspektas timinda. Vi ne vere legis ĝin maldekstre dekstren. Fakte, ĉar ĝi estas plejparte interpunkcio nun anstataŭ faktaj vortoj, Mi povas ia konkludi ke "Document.getElementByID" ricevas ero de la dokumento por lia IRU. Mi vere povas uzi neniu tia mnemonikoj el tiu afero tie. Do ĝi estas komerco ekstere. Ekzistas sofisticación kiu venas ofte kun uzante bibliotekoj, speciale kiel jQuery. Sed la realaĵo estas jQuery havas specon de iĝi fakta normo, tiel ke preskaŭ neniu tiujn tagoj kiuj skribas JavaScript kodo uzas jQuery aŭ io kiel ĝi, kaj ne plu skribas tia abundajn esprimojn kiel tiu, ĉar denove, la homaro lernis, wow, kiu estis ia ŝanco perdita fari nian vivon pli facila. Do homoj faras siajn vivojn pli facila. Bona demando. Aliaj lingvoj konsideri. Mi dirus inter ĉi listo Rubeno estas sufiĉe populara. Kaj tiel en la mondo de Rubeno, Tie estas kadro nomita Rails, kiu estas tre populara. Tiel Ruby on Rails estas komune uzata esprimo. Ankaŭ en ĉi tiu mondo, mi cirklo Java por TTT aferojn, kie en la mondo de Java vi havu JSP, aŭ Java Servlets, kiu estas komuna teknologio. Kaj tiu estas nur denove manieroj uzi tiu lingvo en servilo medio. Do kion tio signifas? Se vi hvas fizika servilo, vi farus laŭvorte elŝuti la retservilo softvaro kaj instali ĝin en tia maniero ke vi havas subtenon por unu el tiuj kadroj, per kiu vi povus, siavice, uzi unu aŭ pli el tiuj lingvoj. Kaj fakte, se vi subskribas supre por kiel ttt gastiganto aŭ iuj de la nubo servoj parolis pri hieraŭ, ofte la aĵoj nur venas kun la maŝino agordo por vi. Vi ne bezonas ŝanĝi tion supren permane. Sed se vi faris, tio estas kie la rolo de sistemestro, tiel diri, havas rolon. Li aŭ ŝi estus reale fari tiu klaso de aĵoj por vi, aŭ la tn retestro ofte faras tion por vi. Bone. Demandojn sur kelkaj el tiuj ĉi? Aŭ ajnan ŝancojn en ĉiuj demandi pri lingvoj? Kadroj? Tiam mi konigu nur unu alia biblioteko ke estas ankaŭ tre komuna tiuj tagoj. Tiu listo povus daŭrigi senfine. Kaj tiu biblioteko estas ia komencante fali el favoro. Jam pasis ĉirkaŭ. Ĝi estis popularigita de Twittear por iu tempo. Kaj nun multaj retejoj, multaj ellaborantoj uzas ĝin. Sed novaj aferoj venas eksteren kaj veni kune. Sed lasu min nur doni vin sento kio signifas uzi biblioteko. Do denove, Ĝavoskripto estas tre populara lingvo. CSS, aŭ Laŭtemaj Style Sheets, ni parolis pri hieraŭ. Tio ankaŭ estas omnipresente. Neniu faras retpaĝon hodiaŭ sen uzi HTML kaj CSS minimume. Sed ĝi ne estas ĉiam facila fari iujn aferojn. Kaj tial mi iros al getbootstrap.com. Whoops. Tio ne kiel ni literumas. Getbootstrap.com, kiu tuj min kondukos al la surteriĝo paĝo por ĉi biblioteko. Do ili malavare vokas sin kadron, kiu estas ia speco de bona, sed mi ankoraŭ nomas ĝin pli de biblioteko ol kadro. Sed tiuj estas nur diskutindaj semantiko. Mi iros al sia CSS langeto kaj mi iros al io tiamaniere. Do memoru, kion niaj formoj rigardis kiel hieraŭ sur Cloud9? Estis sufiĉe malbela. Malnova lernejo butonoj. Mi pensas la butono estis griza de defaŭlta. Kaj ĉio estis vere formatita tute messily. Do se vi volas, ke via retejo formoj rigardi iom nicer-- lasu min zomi tie. Kaj de agrabla mi vere nur signifi tre nitpicky estetiko. Do rimarki kiom la retpoŝto skatolo havas rondigita rektangulaj anguloj al ĝi. Do ĝi estas iom purigisto tie. Rimarki ke la vorto retpoŝta estas tie, gxis mi ektajpu kaj tiam ĝi iras. Do jen belan karakterizaĵo. Rimarku kiel la afero estas ia brilanta bele, kiujn iuj el ĉi vi akiri senpage de via retumilo, sed iuj de ĉi ankaŭ bibliotekoj, kodo ke aliaj homoj havas skribita ke al vi tion. Io tiamaniere donas al mi mian pasvorton. Tiu butono estas iom sexier ol la defaŭlta. Tre en boga nuntempe. Ekde iOS 7 aŭ tiel, la mondo alvenis tre ebena, dum la mondo antaŭ havis multa guto ombroj, multoj de interkonsiliĝoj sur ikonoj. Multe kiel en la vestaĵo mondo, ekzistas modo tendencoj kiuj venas kaj iras. Nun ĉio estas plata sur via telefono. Fakte, butonoj sur via IPhone estas nun nur bluaj ligiloj. Ekzistas ne ofte eĉ cirkla butonoj. Do tiuj estas nur aferoj kiuj iras en kaj eksteren de modo, kaj tiel tio estas kiel vi povus fari pli modernaj rigardante retejo formo. Butonoj. Tiel Bootstrap havas multajn belajn butonojn. Do se vi volas bluaj butonoj, verdaj butonoj, blua, oranĝa, ruĝa. Bootstrap faciligante fari tion. Tiuj estas la specoj de aferoj ke vi povis absolute faris hieraŭ kun CSS kaj kun HTML, sed estas nur doloro en la kolo. Kaj tiel anstataŭe, kio Bootstrap farus ĉu vi do estas io tiamaniere. Se vi volas button-- rezultas ĉi estas HTML tag ni ne uzis yesterday-- kaj vi deziras ĝin rigardi tiel verda butono, vi laŭvorte ĝuste doni klason, kiun ni faris paroli pri hieraŭ, de "BTN BTN-sukceso." Kial tiuj vortoj? Twitter, la aŭtoroj de Bootstrap, elpensis tiujn vortojn. Ili povus esti nomata ili ion ili volas. Sed kion vi ricevas nun estas iu alia en Twitter, en ĉi tiu kazo, eltrovis kiel vi faras butono aspektas bela kaj pura kaj verda. Ili pakas supren ke funcionalidad en CSS klaso, nomita "BTN" kaj "BTN-sukceso," por ke neniu el ni povas nun uzi ĝin sen eĉ pensi pri ĝi. Tial ili abstraída for la nocio de verda butono tial ni ne devas zorgi pri efektivigado ĝi mem. Ni povas vere enfokusigi efektivigado aferoj kiuj interesas nin. Se ni rulumu malsupren tie. Erarmesaĝoj sur la ekrano. Foje vi volas iom mesaĝon aperi sur la supro de la retumilo. Neniu el ni povis fari tion kun iu penado, post la hieraŭa leciono, sed kial vi ĝenas? Jen tia seninteresa estetika detalo. Ni staras sur la ŝultroj de Bootstrap oni donadu al ni aĵojn kiel ĉi, kie laŭvorte, akiri ruĝan skatolon, nur devi fari alineon etikedo kun klaso of-- bedaŭras. "Bg-danĝero" donus al ni tiu ruĝeca skatolo anstataŭe. Nun ni iru al la pli interesaj aferoj. Se mi reirus al la supro de paĝon kaj iri al Components, nun la mondo ricevas pli interesa. Ekzemple, tre ofta estas gutigas menuoj tiel. Tio estus absoluta doloro apliki. Kaj ĝi ne estis ke longe antaŭ ni programistoj devus apliki tiujn specojn de menuoj de nulo. Sed estas tia komuna paradigmo ke bibliotekoj kiel Bootstrap nur donu al vi la kapablon fari falmenuo multe, multe pli facile. Ekzistas neniu maniero fari tion, sed se mi legis la dokumentaron Mi volus vidi ke, bone, mi devus uzi ĉi HTML se mi volas falmenuo kiu kondutas tiel. Simile, ni iru al la butono gutigas. Do tiu estas eĉ amatoro. Se mi volas ĉi simili butono sed tio malmulte triangulo signifas Mi devas klaki sur ĝi kaj ricevas tiun menuo, tiu estas uzanta lingvo nomata Ĝavoskripto. Kaj ni povus ĉiuj implemento tiu en JavaScript. Sed denove, ĉi tiu estas rado vi ne volas reinventar. Vi nur volas preni ĝin la breto biblioteko por tiu. Ni iru al io kiel progreso trinkejoj. Do ion kiel ĉi tiu estas speco de cool. Se vi iam vidis progreso trinkejo movas trans la ekrano, efektivigado ke ofte Estas nur spinning ikono. Fakte, ĝuste kiel flanken, lasu mi iros al Ajax-- kio estas tio? Ajax info? Whoops. Ajaxinfo. Lasu min memoras la adreson. Tie ni iru. Do se vi iam vidis iun kuraĝigo dum la paĝon ŝargo, aŭ pensante, aŭ ŝparado, aŭ krei ion, vi povus vidi tiajn kuraĝigoj kiel tiuj. Do ni rigardu ion kiel ĉi tie, kaj ni elektu malfona koloro de verda, kiu sentas specon de amika. Mi povas alklaki ĉi? Venis unu. BONE. Ni nur iri kun ruĝaj pro jen kio estas duumaj. Do jen ni havas ĝin. Do se vi iam vidis ĉi sur ekrano, per kiu subite aperas kaj tiam subite malaperas, kio estas ke estas implementando tiel? Nu, tio estas nur GIF. G-I-F. Kaj tio estas vigla dosieron, kiu signifas nur ĝi estas kiel malnova lernejo komikso. Ekzistas nur aro da malsamaj kadroj kiuj tuj [balbutas] kaj simple ripetas. Kaj ĝin kreante la iluzion de movado. Tuj, kiam paĝo estas farita ŝargado aŭ faras ion, kion programisto fari? Nu, li aŭ ŝi nur kaŝas ĉi bildo. Do ĉiu progreso trinkejo estas estas speco de ŝati filmo vi rigardas. Vi estas ia fremda al la fakto ke ĝi ne vere fari ion, ĝi estas nur movanta. Kaj tiam, kiam ĝi estas farita progresas, Ili nur kaŝi ĝin aŭ elŝalti ĝin. Kaj jen ĉio la magio ke okazas tie. Bootstrap donas iu iom amatoro, per kiu vi povas reale vidu procenton kiel ĝi iras, sed tro estas nur ia de simpla kuraĝigo. Ni rigardu iuj fina pli kompleksa ekzemplojn tie. Iu kiel modala. Ĉu iu scias kion modala estas? A modala fenestro estas ĝenerale kiu laŭsupoze preni kontrolon de la malfono kaj malhelpi vin de faranta ion ajn alia. Ĝi ia devigas la uzanto atenton al la mezo de la ekrano, enfermante ilin, tipe, de ĉio alia. Do se mi ĵetas tiun demo, la ekrano ĝenerale fariĝis griza. Nu, kiel ni faras ĝin griza? Nu, ni verŝajne simple ŝanĝis la fonkoloro kiel ni faris hieraŭ aŭ ion tian. Eble estas overlay ke duon-travideblaj. Kaj nun rimarkas vin povas fari fancy aferojn tiel. Do se vi iam klakas sur butono kaj volas iom popo ekstere aperi, vi povas fari tion. Kaj tiel kiuj zorgas pri all-- yeah? Spektantaro: Do ​​kun Bootstrap, akiri ŝin korpigis, estas tiel simpla kiel kiel hieraŭ ni faris la CSS stiloj paĝo? DAVID J. Malan: Efektive. Vere bona demando. Mi iros al ekuzi. Kaj jes. Ĉiuj vi devas fari por uzo Bootstrap estas esence kopio kaj alglui ĉi tiujn tri longaj linioj de kodo en la pinto de via propra retejo page-- la kapo de via page-- kaj vi estas supren kaj kurante. Kaj ekzistas malsamaj manieroj fari ĝi, sed tio estus la plej simpla. Do kio estas utila pri ĉio ĉi? Nu, se vi ne estas tiel la implementer de retejo sed vi provas desegni ŝin, aŭ vi volas proponi iun kun drato kadro diagramoj, por tiel diri, aŭ simple artisto transdonoj de kio volas fari, mi, al tiu tago, ofte iri al loko kiel Bootstrap, kie se mi volas apliki something-- kiel ĵus sur kampuso Ni volis implementar ttt bazita ilo por navigi Harvard kurson katalogo, farante ĝin pli facila por studentoj Foliumi tra kursoj kaj aldoni kursojn al komerca listo, por tiel diri, al speco de decidi kion ili volis preni. Mi provis imagi por mem, kio ingrediencoj farus ni volas uzi por konstrui ĉi? Kion la uzantinterfaco simila? Kaj atentu per loko kiel tiu aŭ alia tia biblioteko lokoj, vi povas akiri inspiron, ĉar wow, Mi povas uzi ĉi fenestraĵon, kaj ĉi fenestraĵon, kaj tiu fenestraĵo. Kaj tiam vere kion la programisto startas fari, speciale en ĉi tiuj tagoj en tiu pli moderna mondo de ttt programado, Estas programado estas ĉiam pli pri cablear aferojn kune. Ia prenante tiun de la breto, tiu de la breto, tiu de la breto, kaj vi esti la beleta konekti ĉiujn tiujn punktojn, sed finfine konstrui iun por denove starante sur la ŝultrojn de aliaj, por ke vi ne elspezas monate efektivigado stulta falmenuo, kiu estas fakte malfacile fari se vi volas labori en Chrome, kaj IE kaj Firefox, kaj neniu pluraj aliaj retumiloj. Jen kial estas tiu riĉa komerca kaj malferma fonto programaro industrio ankaŭ. Spektantaro: Do ​​ĉu Bootstrap get ĝisdatigita kaj vi devos tiam ĝisdatigi viajn ligojn! DAVID J. Malan: ĝi faras. Nu, jes, jes. Bootstrap estas nune en versio 3.3.6. Kaj ĝenerale kion vi do-- tiu estas vere valora mencianta. Estas kio estas ĝenerale konata kiel semantika versionado sistemo en la mondo. Ne ĉiuj faras tion. Sed se vi vidis versio nombroj ke estas de la formo x.y.z-- tiel ekzemple, la unua versio de programo povus esti 1.0.0. Aŭ se ĝi estas tre, tre beta, aŭ eĉ alfa statuso, kiu signifas uzon je via propra risko, ne vere preta por pinttempo, vi eble eĉ komenci 0.0.1 aŭ kelkaj tia designación. Sed se programaro komenciĝas en versio 1.0, aŭ ekvivalente 1.0.0, tipe, kio estas komuna ĉi tiuj days-- kvankam ne omnipresent-- estas se entrepreno aŭ individua programisto korektoj iuj cimoj en iuj peco de programaro kiu vere Estis cimo, kies korekto ne trafo vin ĉe all-- ĝi ne ŝanĝas la programo konduto, ĝi nur riparas ion kiu ne laboras properly-- vi volus tipe ĝisdatigi la z valoro tie. Kiu signifas iun kiel Kareem povis simple eniri lian retejon, blinde ŝanĝi la numeron de versio de 1.0.0 al 1.0.1, savi ĝin, ekspedi ĝin, kaj en teorio, ne devas zorgi ke li ĵus rompita lia retejo pro iu manko de funcionalidad, ĉar io alia rompis. Dume, se mi la programisto aŭ entrepreno estis fari iun signifa ŝanĝo kiu aldonas funkciojn, Mi povus ĝisdatigi nin 1.1.0 ĉar mi reale ŝanĝi la konduton de la biblioteko. Mi donas al vi eble pli funcionalidad. Fine, se mi estus efektive fundamente ŝanĝi la programaron tiel tiel ol rompos multaj uzantoj retejoj aŭ aplikoj, tiam mi devis, en tiu modelo, al ĝisdatigi la grava versia numero tro, kio estas dispecigo ŝanĝo. Alivorte, mi havu descontinuada subteno por tiuj guto malsupren menuo. Do se vi ĝisdatigas al 2.0, duono retpagxon povus halti laboranta. Kaj ĉi tiu estas speco de signalo al la komunumo kiel al kio estas implikita en farante ĝisdatigo. Bona ŝanco por levi. Aliaj demandoj? Bone. Bone ni rigardu unu fina temo en tiu segmento de programado de teknologio stakoj, nome rilataj al móviles. Tiel en la mondo de la poŝtelefonoj nuntempe vi have-- kaj iPads kaj surfacojn, kaj ĉiuj tiuj specoj de devices-- vi havas multe de elektoj kiam temas efektivigado apliko aŭ retejon por via kliento mekanismoj móviles. Do simple deklari la evidente, eble ĉi tiuj tagoj, kio estas la platformoj al disvolvi por la movebla spaco? Kion aparatoj povus vi volas apogas kun via app aŭ retejo? Spektantaro: Apple. DAVID J. Malan: Bone. Tial mekanismoj Apple. Do tio signifas iPhone kaj ke signifas iPad, kaj eble eĉ iPod. Kion alian? Olivier? Spektantaro: Android. DAVID J. Malan: Android. BONE. Tiel Android telefonoj, Android tabeloj, la Android merkato Estas eĉ Messier because-- kaj eĉ Apple igante senorda. Dum iam iPhone estis certa grandeco, kaj iPad estis certa grandeco, kaj iPod estis certa grandeco, nun ni havas iPad Minis, kaj la maldika , Kaj la iPhone 6 Plus kaj 6. Ĝi estas fariĝanta salaton. Ĝi Iĝas la Android mondo. Kaj mi diras tion kun ia ruliĝanta miaj okuloj ĉar de ellaboranto perspektivo, ĝi estas doloro en la kolo kiam vi ne devas Steve Jobs vizion de absoluta kontrolo super ĉiuj tiuj especificaciones. Pomo ankoraŭ faras ĉar ili estas tiuj konstrui la aparataron. Sed ĝi estas bela afero, se Mi estas programisto, nur scias ke mia iPhone ĉiam irante esti tiu granda ĉar ke signifas mi ĉiam scias kiom ekrano nemoveblaĵoj mi. Do se mi volas meti ikono en la supera maldekstra angulo, ĝi tuj estos en la ĝusta sama meti sur ĉiu ununura kliento aparato. Sed en la mondo de la iPhone 6s kaj iPhone 6 plusoj kaj en la mondo de Android telefonoj, ĉio super la mapo. Kaj tiel ĝi faras ĝin pli malfacila por programo aferoj, precipe uzanto interfacoj, ĉar nun vi devi komenci aranĝanta via uzanto interfacoj relative, ne absolute. Kaj la sama estis vera sur retumiloj, kaj tablo kaj tekkomputiloj por jaroj ĉar vi, kompreneble, havas malsamajn ekrano grandecoj. Kion alian? Vi havu surfacoj, kiel de Microsoft. Vi eble have-- Spektantaro: Fenestra telefono. DAVID J. Malan: Kio estas tio? Spektantaro: Fenestra telefono. DAVID J. Malan: Jes. Tial fenestroj telefonoj daŭre povas esti trovitaj. Ia speco de BlackBerrys, sed provadi. Kaj tiam buliĝas de aliaj aparatoj. Do plejparte, ni diri jen la zorgi pri nuntempe. Certe la Apple aĵoj, Certe la Android aferojn, kaj inter Vindozo, kiel surfaco tabeloj ŝajnas esti kaptanta sur sufiĉe bone. Kaj tial inter tiuj aparatoj, se vi volas ruli ekstere, diru, mobile ĉeesto por via kompanio, kion specoj de dezajno decidoj vi devas fari? Nu, ni jam diris en la Apple mondo, ekzistas almenaŭ du lingvoj kiuj tipe uzita. Unu estis nomata kio? Spektantaro: Objective-C. DAVID J. Malan: Jes. Tiel Objective-C, kiu estas la pli maljuna. Ĝi estas ankaŭ la lingvo kiun multaj Mac aplikoj ankoraŭ skribitaj en. Tiam la aliaj novaj estis? Spektantaro: Swift. DAVID J. Malan: Swift. Kaj tiuj estas la speco de du scii impresi ulojn. Tiam en la Android mondo, kio lingvo faras Android uzi? Spektantaro: C #? Spektantaro: Java. DAVID J. Malan: Java estas la lingvo de "du jour." En la Windows mondo, certe, ni diri C # en tiu kazo. Do jam tiu estas speco de ĝena, ĉar kio estas la takeaway por negoco posedanto aŭ iu kiu nur volas ruliĝi el mobile ĉeesto? Kiel, damn it? Kiel, se mi volas subteni sufiĉe larĝaj uzanto bazo, Mi devas skribi, ĝi similus, tri apartaj aplikoj. Unu el tiuj lingvoj, en Java, oni en C #. Kaj eĉ se mi volas la funcionalidad esti identaj, ne gravas. Mi ankoraŭ devas uzi malsamajn lingvoj ĉar Apple kaj Microsoft, Kaj Google tuta subteno malsamaj medioj. Kaj tio estis defio por jaroj. Reen en la tago, kiam homoj kutimis aĉeti programaro ĉe komputila vendejo en ŝrumpi envolvita skatoloj, vi devas aŭ atingi por la Mac breto, aŭ for-- eble tiu tre malgranda Mac shelf-- aŭ la grandaj Windows breto kaj aĉeti programaro. Kaj tre ofte, ekzistis eĉ ion por vi sur la Mac breto. Kial? Nu, firmaoj decidis se 90% de la mondo, 95% de la monda havas PC, kial ĝeni eĉ efektivigado aferoj en Mac VIN? Kiel aside-- tota digression-- kial ke Mac ŝajnas tiel nepenetrebla por virusoj, kaj vermoj, kaj sekureco minacoj? Estas Apple bona ĉe tio? Bona ĉe tenanta komputiloj sekurigi? Spektantaro: Pli malgranda aŭdienco? DAVID J. Malan: Tio verŝajne la granda peco por ĝi. Tial multaj uzantoj de Mac devos longe asertis, ho, uzi la Mac, Vi estos imuna al la virus, kaj vermoj, kaj ĉiu el tiuj aferoj kiuj longe turmentis PC. Ke eble estos ĉar Apple Havas bona programistoj kaj ili skribas bona programaro, aŭ la mastruma sistemo estis bone desegnita. Eble, sed probable ne. Ĝi estas probable ke kiam vi estas 12-jaro-malnova, aŭ 30 ion ia sidas hejme skribe malica programaro transpreni la mondo, vi tuj iru post la multe pli granda aŭdienco. La 95% de la mondo kiu povus esti kurante Windows aŭ iuj variantoj de tio. Do ekzistas iomete ambaŭflanke. Sed al sia kredito, Pomo, al mia scio, ne vere propagandita sin kiel esti pli sekura, ĉar vi simple invitante dramo se vi faras tiun aserton, mi pensus. Bone. Sen alveni tro ege malsupren ke, kiel ni solvi tiun? Ĉu vi devas aĉeti aŭ fari vi devas pagi tri malsamaj personoj disvolvi via apps? Ĉu vi elektas unu super la alia? Kio devus gvidi viajn pensante tie vi opinias? Kareem? Nope. Iu alia. Spektantaro: Nur venita kun la aparataro. DAVID J. Malan: Venu kun la aparataro? Kion vi celas? Spektantaro: Por la medio. [Inaudible] DAVID J. Malan: Do tiu estas vera. Sed via klientoj, dume, havu iPhones, ili havu Android telefonoj, ili havu tabeloj farita de Microsoft. Do kiel vi havas moveblaj strategio por ĉiuj tiuj malsamaj uzantoj? Ĝi similus ke se ĝi kostas, diru $ 1,000 por iPhone apliko, ĝi tuj kosti vin $ 2,000 fari iPhone apliko kaj Android apliko, aŭ $ 3.000 ankaŭ apogas Windows aparatoj ankaŭ. Tio estas probable estis sufiĉe maltroigo kaj ĝi ne fariĝu ankoraŭ estu lineara interrilato tiel. Spektantaro: Se vi volas havi app aŭ Ne, vi povas havi respondema retejo. DAVID J. Malan: Bone. Spektantaro: Aŭ vi povas havi denaska app. DAVID J. Malan: Jes. Do en ĉiuj ĉi kunteksto tie, ni parolis pri kion personoj vokus denaskaj aplikoj. Kiu estas aplikoj kiuj estas skribitaj en la denaska lingvo de tiu aparato. Tiel denaska Objective-C aŭ Swift kodo, aŭ en Java aŭ en C #. Kio signifas, kiam vi elŝuti, ni diru Snapchat, populara apliko, aŭ kiam vi elŝuti Facebook por telefono, vi elŝuti aŭ la versio verkita por via iPhone, aŭ skribita por via Android telefonon, aŭ skribita por via surfaco. Sed estas alternativo. Kiel Olivier estis aludante, vi povas reale uzi HTML 5 anstataŭe, uzante kio nomiĝas retejo apliko, per kiu vi simple apliki vian moveblaj ĉeesto kaj neniu funcionalidad. Kion mi celas diri per moveblaj ĉeesto? Kiel via retejo kiu havas viajn kontaktinformoj, liston de ĉiuj via produktoj, eble havas butikumado veturilon, eble vi vendas aĵojn tra ĝi. Kio ajn via apliko, Vi apliki ĝin, ne en Objective-C, aŭ Swift, aŭ Java aŭ C #, sed en HTML 5, kiu estis la lingvo ni rigardis ĉe hieraŭ, kun JavaScript kaj CSS. Kaj kio estas agrable pri tiuj tri estas ke kuri ilin, vi bezonas nur kion peco de programaro? Spektantaro: A retumilo. DAVID J. Malan: A retumilo. Kaj la plej bona mi scias, ĉiuj tiuj aparatoj venas kun foliumiloj, tial la uzanto ne devos instali ion specialan. Do vi povas simple diri vian spektantaro, viajn klientojn, iru acme.com en via retumilo kaj vi certigos havi ttt bazita sperton kiu ankoraŭ plenigas la ekranon, sed vi ne devas zorgi pri ĉiuj tiuj kostoj kaj ĉiuj ĉi komplekseco. Sed certe tuj esti catch tie, ĉu ne? Precipe se mi atentigas ke paro de jaroj, la unua versio de Facebook mobile apliko Estis plejparte HTML 5 apliko. Kaj ili havas pli ĵus, reimplementó ĝi en siaj aliaj aplikoj. Do kial ĉu vi ne tuj volas diri, bone, evidente ni tuj faros ĉi tion? Kio povus la kaŝitajn kostoj estu? Spektantaro: Performance. DAVID J. Malan: Agado? Kion vi celas? Spektantaro: La denaska app havas pli efikeco. DAVID J. Malan: Do tiu estas vera, por paro de kialoj. Ni povas oversimplify la respondo. Kaj memoras nian diskuton pri interpretita kontre kompilita lingvoj. Tio estas HTML 5 kaj per ĝi, nur por esti klara, JavaScript-- komune skribita JS-- kaj CSS estas ĉiuj interpretitaj lingvoj, kvankam nur Ĝavoskripto estas programlingvo. Kaj tiel kontre tiuj, kiujn iuj el tiuj estas kompilitaj, almenaŭ tiuj three-- Objective-C, Java kaj C # - tiuj, en teorio, devus nur esti rapida. Sed estas alia realaĵo for-- Spektantaro: Funcionalidades? DAVID J. Malan: Kio estas tio? Spektantaro: funcionalidades. DAVID J. Malan: funcionalidad? Kiel? Spektantaro: Uzu la fotilo vian telefonon aŭ io. Vi povas uzi tiuj kun la retumilo. DAVID J. Malan: Ĝuste. Ili sec-- Spektantaro: [inaudible] DAVID J. Malan: Jen alia bona. Ekzistas karakterizaĵoj kiuj venas kun poŝtelefonoj hodiaŭ kiuj ne, per dezajno, pro sekureco kialoj, atingebla por foliumiloj. Ĉar estus ia harstariga afero se ĝuste kiam vi vizitas google.com, aŭ cnn.com, aŭ ajna website.com, ke tiu retejo havas la povon por turni sur via fotilo, fotu vin, kaj tiam uzi ĝin. Sed vi ne volis hazarda retejo ke vi vizitas por la unua fojo havi tiun kapablon. Kaj sekve kio telefono fabrikantoj tipe fari Estas ili simple nei aliro por ke speco de informo al retumilo, Kiu signifas vin ne apliki la ĉambro. Vi ne povas apliki puŝo sciigoj, la beeps ke vi akiras sur via ekrano kun mallongaj mesaĝoj. Kaj fakte, eĉ GPS estas nur speco de ia havebla foliumiloj. Se vi iam, en la portebla aŭ sur movebla aparato, tiris supren ion kiel eble cnn.com, sed ankaŭ lokaj novaĵoj stacioj emas fari tion, vi instigis ofte kun message-- foxnews.com volas scii vian lokon. Aprobi aŭ nei. Nu, la retumilo provas aliri via GPS informojn de via telefono. Sed dankeme Microsoft, Kaj Apple kaj Google decidis ke sentas ĝi estas utila situacio, ni volas Google Maps kaj aliaj iloj por labori, sed ni ne volas rampas personoj el por nur uzante iujn ajn retejo por fari tion. Do ni ia kunvenas duonvoje kaj instigas la uzanton. Sed tio ne estas nepre la kazo kun tuta aparataro, kiel la fotilo kaj kun puŝo sciigoj kaj similaj, do eble vi devas ofero de iuj karakterizaĵoj. Sed efikeco ankaŭ. Ĝi Iĝas malpli videbla nuntempe, eble kiel LTE kaptas sur kaj rapide interreto rapidoj sur telefonoj, sed vi povas ia senti la diferencon. Kiel ttt bazita aplikoj nur sentas pli malrapida, tipe, ol denaska apliko, parte ĉar ttt bazita aplikoj laŭdifine estas sur la interreto. Ĝi parolas al la serviloj en la TTT. Kaj se via reta konekto estas malrapida, eĉ movo povus esti malrapida. Sed denaska apliko, vi havos jam antaŭ- downloaded-- verŝajne kiam vi estis hejme de la app vendejo, aŭ vi almenaŭ pre-elŝutita en ĝia tuteco antaŭe, kio ajn via ligo speed-- kaj nun vi havas ĉiuj la bitoj kiujn vi ĝenerale devas. Krom eble iuj datumoj kiu venas de servilo. Do tiuj estas komerco-offs tie. Ekzistas ia meza kompromiso, fakte. Kaj mi opinias you-- Spektantaro: Uzu la datumoj offline. En la denaska apps, vi povas [inaudible] DAVID J. Malan: Absolute. Do ekzistas la offline temo, kiu estas vere ĝena se vi ne povas ludi iun ludon aŭ uzo iu programaro simple ĉar vi estas en kelo ie aŭ en lifto. Denaska apliko estas rezistema kun alta probablo kontraŭ tiu, supozante vi havas ĉiujn datumoj vi bezonas loke. Do ekzistas tria eblo tie. Kaj ni tiros la spektro kiel denaska app tie kaj ttt app tie. Kaj kio estas en la mezo Estas io called-- kaj mi opinias, ke vi havu uzis la vorton antaŭe, eble? Hibrida apliko. Kaj kiel la vorto implicas, ĝi estas io en la mezo. Estas speco de apliko retejo kaj ĝi estas speco de denaska apliko. Kaj kion tio signifas? Ĝi rezultas tie estas frameworks-- uzi terminon de earlier-- programaro ke aliaj homoj skribis cxar cxiu el tiuj platformoj. Tiuj tamen aliaj aparatoj. Fakte, lasu min iri al PhoneGap, kiu estas unu tia kadro mi kredas Adobo posedas nun. Mi iros al ekuzi. Ni vidos. Ĉu mi povas vidi liston de iloj. Aparataro. Komencante. PhoneGap aparataro. Ni vidos. PhoneGap aparataro aliro. Mi vidu se ni povas trovi iom mapi ke ili kutimis havi. Tio estas sur alia paĝaro. Estas tiu utila? Ne Jen gonna malŝpari nian tempon tie. PhoneGap aparataro. Aparatoj. Aparato API. Nope, ili jam kopiis ĝin. PhoneGap. Ni iru lastan rigardon al tiu kaj vidi se mi povas montri al vi. Komencante. Instali PhoneGap. Instali movebla app. Trafos. Ili reorganizis ĉion. Bone. Ho, bone. Nu, ĉi tie ni iras. Tiu estas ne ĉiuj kiuj iluminanta, sed jen kion mi ia serĉanta. Tiel PhoneGap estas kadro kiu vi povas elŝuti senpage kiuj donas iu startigilo kodo, esence. Do iu kodo ke ili skribis kiu ne faras multe de io ajn. Sed kio donas esence estas la ekvivalenta de apliko kiu ĵus metas granda rektangulo sur la uzanto ekrano. Ĝi ne metas URL trinkejo, kiel retumilo, ne metis adreson. Ĝi nur metas grandan rektangulon. Kaj vi agordi tiun grandan ortangulo, sub la kapuĉo, efektive iros al acme.com, aŭ eble m.acme.com, por mobile.acme.com, sed la uzanto ne scias ili estas ĉe tiu adreso. Ĉiuj ili vidas estas la enhavon de la retpaĝo. Sed kio estas agrabla pri tio estaĵo hibrida app estas ke kio PhoneGap kaj aliaj kompanioj donas vin estas ili estas donanta vin iom da kodo en Objective-C aŭ Swift, aŭ iomete da kodo en Java, aŭ iomete da kodo en C #, kaj esence, Ĉiuj vi devas provizi estas minimume la adreso de via TTT bazita apliko. Kaj tiam vi pakaĵaj ĉi ĉiuj kune kaj vi havas ĝin aŭ aliri viajn ejo tra la Interreto, aŭ vi eĉ kaŝas loka kopii ene la apliko, kaj tiam vi savu vian aplikon en iPhone formato, Android telefono formato, surfaco formato, aŭ ajna nombro de aliaj aparatoj. Vi alŝuti ĉiu el tiuj versioj al la Google Play Store, al la App Store, al la Windows Store, kaj tiel plu. Nun vi povas havi ĉiujn viajn spektantaroj elŝuti vere denaska app, kvankam la plimulto de la kodo estis skribita de iu alia, sed la enhavo de tiu denaska app ĉiuj venas, tipe, via propra retejo. Do vi daŭre skribi retpagxon en HTML, JavaScript, kaj CSS. Do kial malklarigi tiujn liniojn? Kial híbrido apliko jen speco de denaska, sed ankaŭ speco de ttt bazita? Kio estas la tuta punkto de aldonante tiun kompleksecon? Mi volas diri, eĉ ankoraŭ, nur de rigardante tra la paĝon, la Getting Started gvidas sentas ĝi estas tuta multe da ŝtupoj por mi fari antaŭ mi can-- Spektantaro: reutilización? DAVID J. Malan: reutilización? Kion vi celas? Spektantaro: De la fontkodon. Tial la sama kodo estus kuri sur ĉiuj malsamaj platformoj. DAVID J. Malan: Jes. Spektantaro: [inaudible] DAVID J. Malan: Perfekta. Se tempo estas rigoraj kaj se vi ne havas tiun multaj developers-- Eble vi havas unu ellaboranto kaj li aŭ ŝi certe ne konas ĉiujn tiujn environments-- certe ne bone, kaj certe ne povas programo en ĉiuj tri samtempe kaj ekspedi tri produktoj en la tempo enkalkulis unu, Vi povas havi lin aŭ ŝin konstrui ĉiun en HTML kaj JavaScript kaj CSS, kaj tiam lerni eta iom pri denaska apps, nur sufiĉe por elŝuti kadron tiel, tiam alŝutu vian produkton ĉiuj diversaj app tendencas por ke vi nun havas denaska apliko. Tiel ke ŝajnas kiel venko-venko, sed denove, esti klara, kio estas la potencialo kostoj aŭ la gotchas? Spektantaro: Agado? DAVID J. Malan: Jes. Agado. Estas malfacile priskribi parole. Do se vi simple preni sur fido movebla apliko, apliko retejo volo tipe elfaras pli malrapide. Eble ne aspektas tre bone, ĉar en iPhone kaj Android telefonoj, kaj Windows aparatoj, ekzistas Ĉiam ia defaŭlta rigardo kaj senti por ĉiuj butonoj kaj menuoj. Kaj kompanioj en la retejo, povas provi aproksimi tiuj estetiko kun bibliotekoj kiel Bootstrap, sed la user-- ruza user-- tuj scias ke io ne tute pravas tie. Kaj tio estas bone, eble tio ne estas granda interkonsento. Sed la agado temo absolute estas granda interkonsento. Denaskaj aplikoj emos nur multe pli respondema kaj do bona. Do, kion do povus esti la plej bona el ambaŭ mondoj? Se vi estas speciale malgranda entrepreno aŭ malgranda grupo, vi ne havas la rimedojn disvolvi app paralele sur ĉiuj tri platformoj, kaj sincere, sentas ke estas malbona ideo ĉiuokaze ĉar se vi ruli ĝin kaj sur ĉiuj tri samtempe konscias, ni aldonis iujn karakterizaĵojn aŭ faris ion malsame, nun vi devas ripari ĝin tri lokoj, ne unu. Kio estas eble la optimuman strategio tie entuta, se rimedoj kaj tempo estas firme? Spektantaro: Nur faru ĝin en iOS. DAVID J. Malan: Tio ne senkaŭza. iPhones, almenaŭ en la Usono, estas súper populara. Android ankoraŭ ŝajnas havi regantan merkato, tutmonde, supertuto. Do vi ne nepre reprezentanto de la tuteco de la terglobo ĉi tiu semajno. Sed tio estas absolute unu decido. Mi volas diri, sur kampuso tie mi pensas iu terura nombro aŭ procento de studentoj havas iPhone kaj ne Android telefonoj. Sed eksterlande, ĝi estas speco de la malo. Do vi decidas bazita sur via spektantaro. Kiel vi scias kion viaj oreloj havas? Nu, ni lernis lertaĵon hieraŭ. Vi povus demandi ilin. Se vi havas kaptita spektantaro Vi povas sendi ilin enketo formo. Aŭ vi povus simple faras kion? Spektantaro: Google Analytics? DAVID J. Malan: Kio estas tio? Spektantaro: Google Analytics. DAVID J. Malan: Google Analytics. Yeah. Aŭ eĉ pli ia teknike, ĵus rigardu vian propran retserviloj ŝtipoj. Ĉar kio okazas ĉiufoje retumilo, ĉu portebla, labortablo aŭ telefono viziti vian retejon? Ili sendas ke HTTP header ke spektakloj Vi kion retumilo kaj OS ili uzas. Do vi povas konkludi, kun alta probablo, kion via demografia uzas tiun vojon kaj tiam alĝustigi. Do supozu ke estas neakceptebla. Tio estas ia malbona por negoco se Android uzantoj ne povas aĉeti niajn widgets. Spektantaro: Ĉu vi estas gonna ŝarĝi aŭ ne? DAVID J. Malan: Ĉu vi tuj ordonos? Do bone, vi akiras kion vi pagas por. Spektantaro: Ĉu via app estas gonna esti libera aŭ ĉu ĝi estas gonna-- DAVID J. Malan: Bone. Do eble vi povus regajni kostoj tiel, or--? Spektantaro: Mi legis studon iam tiu diris pli uzantoj de Apple pagi apps versus-- DAVID J. Malan: Vi pravas ĉar ili estas jam pagi pli por liaj mekanismoj. Do ne senkaŭza supozo. Spektantaro: [inaudible] DAVID J. Malan: Bone. Do se ili estas pli preta al pagi, tiam al la infero kun la Android uzantoj. Ili ne tuj pagi al ni ion ĉiuokaze. Ni povus tiel enfokusigi niaj prioritatoj, almenaŭ por la unuaj malmultaj monatoj aŭ jaro, en iOS. Tute racia. Kio estas pli inkluziva strategio ol tio? Maybe-- kio estas tio? Spektantaro: [inaudible] DAVID J. Malan: Pli expensive-- do eble investi pli in-- antaŭeniri. Spektantaro: Jes. Nur movebla retejo. DAVID J. Malan: Do fari mobile retejo kaj ne eĉ maltrankviligi tiu komplekseco. Aŭ eble racia strategio, kiu eĉ Facebook prenis, estas komenci kun híbrido apliko ĉar ĝi ne estas ke multe pli malfacile fari tion ol tiu. Vi nur devas legi iun dokumentado kaj elkompreni kiel alŝuti aferojn al la App Store. Do eble vi komencu per tiu, tiel ke la unua tago, Vi povas subteni ĉiuj viaj uzantoj. Kaj tiam, ĵus ŝatas de Facebook kaj aliaj kompanioj faris, Kiam vi havas la rimedojn, vi havas la homo, kial vi ne re-apliki nur la IOS apliko. Vi ankoraŭ havas ion por ĉiuj, kvankam ĝi estas malsupera sperto eble, kun la híbrido apliko. Sed vi povas laŭgrade ruliĝi el kaj anstataŭigi vian baldaŭ mezuroj de la híbrido apps kun via pli denaskaj aplikoj. Spektantaro: Sed kun hibrida app vi havos aliron al moveblaj karakterizaĵoj? DAVID J. Malan: Ne nepre. Do eble vi fari konscia decido frue sur, Vi povas nur alŝuti fotojn sur la denaska iPhone apliko por Facebook, sed ne sur la Android apliko, komence, ekzemple. Kaj tio estas iom da blanka mensogo ĉar aplikoj retejo havas pli limigoj ol híbrido aplikoj rezultas eksteren, kaj se oni legas la dokumentado por PhoneGap kaj aferoj kiel tio, homoj venis supren kun manieroj doni ttt bazita aplikoj aliro al la ĉambro, tiel longe kiel vi uzas híbrido apliko. Kiel tio funkcias? Ĉar la hibridaj apliko laŭdifine havas iom da kodo en Objective-C, kaj Swift, kaj Java, aŭ en C #, ĝi povas aliri la aparataro. Ne nepre ĉio, sed povus tre bone esti la kazo ke vi havas sufiĉa aliro akiri la ĉambron, eĉ por Android platformoj, por Ekzemple, en tiu elpensita ekzemplo. Aliajn demandojn? Bone. Kial ni ne prenos nian 15 minuta paŭzo tie. Ni rekomenci je tri kun fina rigardi ttt programado, datumbazoj, kaj Javascript.