DAVID J. Malan: Se konsa, nou yo tounen. Se konsa, nivo a wo sijè nan moman sa a kounye a se pil teknoloji, ki se pa yon tèm patikilyèman teknik, li nan plis nan yon trape tout pou nenpòt ki kantite konbinezon nan teknoloji ke ou ta ka sèvi ak yo rezoud pwoblèm. E petèt pi plis nan Fitting fason yo kòmanse ta dwe fè yon gade nan lang depi Mwen kenbe formidable sou yon pakèt tout ak pi tout moun nan sal la gen pwobableman tande pale de omwen yon. Se konsa, poukisa pa nou eseye yo fè distenksyon ant what-- fè distenksyon ant lang sa yo epi pale yon ti tan sou lè ou ta chwazi youn sou lòt la, ki jan yo ap sòt de fondamantalman diferan, epi sitou lè w ap diskite ak enjenyè, oubyen ap eseye deside ki moun yo anboche, oswa sa ki aplikasyon pwopozisyon pou'l Greenlight, ki jan ou ta aktyèlman fè sa yo kalite desizyon. Se konsa, kite yo jis chante kèk bagay la. Nan lang yo moun ki gen tande pale sou, ki sa ki vini nan lespri? C. OK. OK, C ++. Kisa sa ye? ODYANS: Piton. DAVID J. Malan: Piton. Ekselan. Kisa ankò? Vizyèl Debaz. Mwen tande Java. Vizyèl Basic-- a.k.a. VB. Java. NET, ki se plis nan yon trape tout pou sa nan anjeneral C # kòm lang nan nan kesyon an. Ak kite m 'mansyone ke. Se konsa, nou pral tounen vin jwenn sa. Mwen dezole? Padon? ODYANS: SQL. DAVID J. Malan: Scratch? ODYANS: SQL. DAVID J. Malan: Oh, SQL. OK. SQL. Se konsa, nou pral tounen vin jwenn that-- aktyèlman, li nan good-- apre repo a kòm byen. Kisa ankò? ODYANS: Oracle. DAVID J. Malan: Se konsa, Oracle, se pa yon lang. Aktyèlman yo ta sèvi ak SQL kòm byen. Se konsa nou mete ke apre repo a kòm byen. Apre sa, regrèt, yon bagay sou isit la? ODYANS: Mathematica. DAVID J. Malan: Mathematica? OK, asire w. Apre sa, Matleb se kalite sou la pafwa. ODYANS: R. DAVID J. Malan: R. Ann al sou isit la. Fortran. Asire w. Ki pi gran lekòl la. Fortran. COBOL. Mwen pral voye soti BASIC. BASIC. Any-- ODYANS: Matleb? DAVID J. Malan: Matleb. Oh, bat ou nan li. Nenpòt bagay? Mwen ka panse a yon koup nan lòt moun. Mwen ka panse a yon lòt moun kèk. Ak sa ki te dènye a? ODYANS: ASP. DAVID J. Malan: ASP? Yeah. paj sèvè aktif. Sa jeneralman ta ka tonbe anba lòt lang, pafwa C #, kidonk kite a kite ki la. Men, nou pral tounen vin jwenn ki pou cadres ak sa yo. Nenpòt bagay lòt bagay? PHP se popilè. Ruby se yon lòt. JavaScript, pa dwe konfonn ak Java, se yon lòt. Sa a kalite yon anpil. Se konsa, li kapab sètènman boulvèsan, tankou si lis la se pa gen deja, jis yo kòmanse konnen ki kote ou kòmanse. Se konsa, erezman, se pou yo apwòch sa a ki sòti nan yon ang kèk. Premyèman, kite a eseye kategorize omwen yon pati nan lang sa yo nan de bokit laj, okoumansman de konvèsasyon an nou te genyen anvan repo, kote nou te pale osijè de konpile, ak sous kòd, ak kòd machin, paske se sa pa ki jan tout lang travay. Se konsa, nou pral rache soti yon egzanp kèk de- oswa counter-examples-- ak sa yo ki modèl. Lè sa a,, poukisa pa fè sa nou pale sou aplikasyon yo ki lang sa yo yo jeneralman itilize pou. Apre sa, franchman, menm si sa a se yon lis trè long, li a sèlman yon sou nan lis sa a ki ou ta tipikman trase soti nan jou sa yo yo rezoud pwoblèm. Sèten lang yo plus pase lòt moun. Sèten lang yo pi popilè pase lòt moun. Se konsa, li pa tankou ou gen tankou yon travay mal anvan ou lè n ap deside nan mitan sa yo divès kalite lang. Se konsa nou fè sa. Nou te gen pi bonè a, kòd sous, ak Lè sa a nou te gen Kòd machin. Whoops. Ekri pawòl Bondye a mal. Machin kòd. Apre sa, nou te gen kèk pwosesis nan la mitan called-- yeah, du a. Se konsa, du a. Ak sa ki kòd la machin aktyèlman kouri sou nan fen a a pwal CPU aktyèl ou yo. Nan lòt mo, pa kòd machin, mwen vle di enstriksyon yo nivo ki pi ba ke yon CPU aktyèlman konprann. Adisyon, soustraksyon, deplase, sove, ak operasyon tankou sa. Se konsa, sa a se modèl la pou sa ki nan jeneralman li te ye kòm konpile lang. Petèt pa etonan. Se konsa, sa a se modèl la pou konpile lang. Men, li vire yo deyò nan yon lòt klas nan lang rele entèprete languages-- entèprete languages-- ki se yon ti kras diferan. Ou ekri nan kòd sous, kouri yo nan yon entèprèt, e ke entèprèt se sa kouri sou CPU a. Nan lòt mo, sa w ap fè pa emèt se sa ki, aparamman? Machin kòd. zewo yo ak moun yo ki CPU a tèt li finalman konprann. Se konsa, nan sa a vèsyon premye ak lang tankou C, tankou nou te wè, ou ekri nan kòd sous sa a, se yon ti kras Esoteric, men omwen li nan kalite angle ki tankou ak li a omwen lizib yon fwa ou jwenn itilize li. Ou kouri li nan yon du ak soti ou jwenn, finalman, zewo ak inite. Sa yon Senplifikasyon. Gen kèk lòt etap nan la. An reyalite, si ou te janm tande pale tèm "lang asanble," sa a, se yon sèl etap anvan zewo yo ak inite. Sa yon ti kras plis lizib, men yo toujou bèl Esoteric. Se konsa, gen nan etap entèmedyè ke yo, an reyalite, ale sou isit la. Men, pwodiksyon an, finalman, se zewo sa yo ak inite. Men, nan entèprete nan mond, kote ou gen lang ke yo entèprete lang, ou aktyèlman sote ke etap. Nan lòt mo, lè ou ekri yon pwogram, ou jis imedyatman kouri li. Ou pa konpile li epi li Lè sa a, kouri li, jan mwen te fè anvan. Ou jis ekri li epi kouri li. Men, si ou vle fè yon chanjman rapid, ou fè yon chanjman rapid ak relance li. Se konsa, pa gen okenn etap mitan isit la. Koulye a, pou pwogram nan mwen te ekri pi bonè, ki te "Alo Mondyal" pwogram sa a, ou ta ka rezonab wonder-- oswa ta ka rezonab state-- ki pa te tan sa a konsome yo konpile pwogram m 'yo. Li sanble m te fè sa jis tankou sa. Apre sa, nan grafik vèsyon nan konpilateur. Mwen lè l sèvi avèk yon vèsyon trè Esoteric, men ou ta ka frape yon bouton jwe ak ki ta aktyèlman fè konpilasyon an pou ou. Mwen te konpile pwogram nan ak Lè sa a ankò, nan kouri li, mwen jis fè sa. Epi, se sorties sou bò gòch la, "Hello!" Sa pa sanble tout sa ki pénible. Men, lè pwogram ou yo pi plis pase jis yon sèl, de, twa, kat, senk liy long, li kapab pran byen lwen plis segonn konpile. Pafwa menm minit oswa byen yon ti jan nan tan yo konpile. Apre yo tout, kèk nan la pi gwo pwodwi mond lan yo bagay sa yo tankou sistèm operasyon, Microsoft Word, Microsoft Excel, ki ta ka dè santèn de milye oswa menm dè milyon de liy nan kòd long, ak moun ki pa fè sa jis imedyatman egzekite. Anplis, sou entènèt la, li la vin alamòd yo sèvi ak tou senpleman entèprete lang, an pati paske ou ka fè yon chanjman kòm pwomotè a ak Lè sa a jis imedyatman Reload paj la navigatè ak imedyatman wè rezilta a. Se konsa, HTML, pandan y ap pa yon lang programmation, se yon lang ki nan entèprete. Apre sa, nou te wè ki efè menm yè. Ou jis Reload paj la apre yo fin fè yon chanjman nan Cloud9 and-- voila-- ou wè yon rezilta nouvo. Se konsa, sa ki nan diferans ki genyen isit la? Nan HTML, sonje, nou te gen louvri HTML, louvri tèt, tit louvri, fèmen Tit, fèmen tèt, louvri kò, ak pou fè. Nou te gen tout moun sa yo Tags ke nou bèl anpil te di, di navigatè a ki sa fè. Hey navigatè, isit la vini yon paj HTML. Hey navigatè, isit la vini tit la. Hey navigatè, isit la vini kèk tèks ki ta dwe karaktè fonse. Lè sa a, ou di opoze an. Hey navigatè, sa a, li pou tèks nan figi karaktè fonse. Hey navigatè, sa a, se li pou kò a. Ak pou fè. Se konsa, sa se yon navigatè? Navigateur yon bèl se jis yon entèprèt. Li se yon pwogram ki yon moun tankou Microsoft oswa Google te ekri nan Liv la objektif ki gen nan lavi se yo li yon lang, yo konnen kòm HTML, ak entèprete li. Anwo jouk anba, gòch a dwat. Apre sa, nenpòt ki lè navigatè a wè louvri bracket, tit, fèmen bracket, li ta entèprete ki kòm siyifikasyon, oh, ki vle di mwen ta dwe mete pawòl sa yo fason moute isit la nan tèt la nan navigatè a. Se konsa, li jis fè sa kòd la HTML di. Men, gen nan pa gen zewo ak inite. Gen nan pa gen konpilasyon. Ou pa t 'fè li. Navigatè a pa t 'fè li. Li nan jis pa enplike nan sa. Se konsa, nan Lespri Bondye a nan sa yo kontinyèl sijè, jodi a ak yè, ki sanble ap yon karakteristik bèl bagay. Ou sove kòd ou a ak Lè sa a jis kouri li oswa esplike l '. Gen nan pa gen etap entèmedyè. Se vre wi gen nan yon koute? Pa ka tout ap upsides. Se konsa, sa ta ka ke pri ta dwe ye? ODYANS: Espas. DAVID J. Malan: Espas. Se konsa, asire w. Nan mond lan konpile, ou gen pa sèlman kòd la sous orijinal la, ou yo tou kreye ak Lè sa a, prezimableman ekonomize machin nan code-- la zewo ak ones-- e ke sa a te rive nan Leve kanpe, pran kèk kantite lajan pou espas. Absoliman. Se konsa, li Des ou plis espas. Yeah? ODYANS: navigateur ta ka entèprete yon fason diferan. DAVID J. Malan: navigateur ta ka esplike l 'yon lòt jan. Sa se vre. Men, mwen pa fin sèten mwen se konfòtab reklame sa a, se paske li te entèprete. Sa a plis jis paske li nan yon aplikasyon nan yon lang ki kont li genyen ekivok. Se konsa nou pa byen konfime ke yon moun, men bon présantiman. Ki lòt bagay ta ka pri a peye? Andre? ODYANS: W ap konbine de etap, kidonk, ou Se poutèt sa gen ogmante konpleksite kòm byen. DAVID J. Malan: complex-- nan ogmantasyon nan konpleksite ki kote? Pou ki moun? ODYANS: Se konsa, nan entèprèt la etap, w ap konbine entèprèt la ak du pou jis ki mennen jiska to-- DAVID J. Malan: Ah, OK. Iwonilman, li la pwobableman yon ti kras ki pi senp aplike entèprèt la, menm si li ta sanble yo sede upsides nan sa a konvenyans. Se konsa, petèt vre. Men, li kalite depann, mwen ta ka di, sou lang nan ak sou ki jan yo te ale sou mete ann aplikasyon li. Kapab genyen yon anpil plis konpleksite, aktyèlman, nan du a, jis paske ou gen yo ale soti nan yon bagay konsa wo nivo nan yon bagay tèlman ba-nivo. Men, yon panse bon. Se konsa, mete yon lòt fason, yon pwogram konpile, lè tounen nan zewo sa yo ak moun yo, fini moute nan lang lan ki CPU a pale, Lè nou konsidere ke nan bò sa a nan la mond, pwogram nan ou te ekri nan Liv la kòd la ou te ekri, pa janm aktyèlman vin konvèti nan lang aktyèl la òdinatè a pale. zewo yo ak inite. Li rete nan orijinal la, plis moun nan zanmitay, plis lizib lang. Se konsa, sa ta kapab enplikasyon la la, si ou pa fè sa aktyèlman deranje konvèti ou pwogram nan lang la anpil ke òdinatè a kache pale? ODYANS: pa ta ka konprann yon bagay? DAVID J. Malan: ta ka pa konprann yon bagay. Apre sa, ki ka claim-- si li pa t 'konprann yon bagay, sa a, se yon ensèk oswa mank nan prezante nan entèprèt la. Se konsa, ki ta ka plis nan yon erè pase yon pri. ODYANS: Ou gen aksè nan kòd la sous? DAVID J. Malan: Genyen yon bon. Se konsa, yon inconvénient isit la se ou ta sanble yo gen aksè. Ou menm, itilizatè a fen, ta ka sanble yo gen aksè a kòd la sous. Epi sa a, pa toujou vre. Men, li se vre nan la ka ta gen JavaScript, nou pral gade nan apre repo jodi a la, ki se yon lang programmation entèprete ke ou ekri nan kòd sous. Men, vin ki kòd sous transfere soti nan sèvè ou nan navigatè a ak kouri nan navigatè imen an. Se konsa, isit li te kapab jis louvri nan fenèt, tankou mwen te toujou ap fè nan Chrome, ak gade nan li, menm jan nou tèt nou regarda nan yè ak Google. Li ta ka gade yon ti kras enkonpreyansib men li ki gen la. Se poutèt sa se absoliman yon pri peye. ODYANS: frape Pèfòmans? DAVID J. Malan: Yeah. Epi sa a, biggie a ak lòt. Genyen yon frape pèfòmans. Paske ou gen sa a nonm nan mitan, ki li menm se yon pwogram, ant ou menm ak CPU a, kòm opoze jis manje sa yo anvan tout koreksyon zewo ak moun yo nan CPU a, gen nan yon frape pèfòmans ke ou pran avèk yon lang entèprete. Sa yo ki, abitrèman, yon pwogram ki ta ka pran yon dezyèm nan kouri sou yon òdinatè oswa yon sèl minit nan kouri sou yon òdinatè isit la, ta ka pran 10 segonn oswa 10 minit nan kouri sou yon òdinatè isit la. Li nan jeneralman yo pa pral yo dwe ki anpil nan yon faktè difference-- nan 10-- paske gen nan optimizasyon ou kapab fè. Men, li la prèske toujou pi dousman. Koulye a, bò la baskile ak sa yo ki enkyetid se ke, byen òdinatè, chak 12 a 18 months-- dapre lalwa Moore an, se konsa yo speak-- yo jis ap resevwa pi vit ak pi vit. Mwen gen pi plis ak plis espas ki gen kapasite. Mwen gen pi plis ak plis RAM. Ki moun ki reyèlman gen sousi? Epi sa a, kalite yon rezonab agiman. Vreman vre, youn nan rezon ki poukisa nou ka tolere pi dousman entèprete lang se paske nou moun pa reyèlman avi. òdinatè yo gen vinn jis pou reprize vit. Lè nou konsidere ke tounen nan jou a, espesyalman lè pyès ki nan konpitè te pi plis contrainte, ou te gen mwens nan tout bagay, li te pi plis chè se konsa tout bagay koute pi plis, byen Lè sa a ou reyèlman te vle peze soti kòm anpil pèfòmans jan ou te kapab. Men, ki te mande pou ekri nan yon pi ba-nivo, si ou vle, ak yon lang konpile. Se konsa, ou fè pran sa a frape pèfòmans. Men, jeneralman, upsides yo sanble yo gen valè li jou sa yo. Oke, eksepte pou la entelektyèl pwoblèm pwopriyete. Ki sòt de lizibilite nan kòd la, nou pral tounen vin jwenn lè nou gade JavaScript. Se konsa, kite a eseye kategorize omwen yon kèk nan sa yo. Se konsa, nan mitan lang yo konpile, nou ta gen C, C ++, yon jan, enpe, Java, byenke li nan yon ti jan nan yon eksepsyon, pou rezon mwen pral montre w nan jis yon moman. C # ta dwe sou lis sa a. Nou pral gade nan plis nan jis lang yo plis modèn. Tout dwa. Epi sa sanble tankou anpil la. Lè nou konsidere ke sou bò sa a nan kloti a, nou ka gen JavaScript, ak Piton, ak PHP, ak Ruby. Men, se ke ase pou yo menm ki pi resan? Sa santi l tankou anpil pou kounye a. OK. Lè sa a, dot dot dot, depi lis la se intèrminabl. Ak an reyalite, si nou vle jis jwenn yon sans de Wikipedya sa a men, konpile lang. Mwen devine nou ka jwenn yon byen lwen plis konplè lis. Se konsa, isit la nou ale. Se konsa, isit la se yon lis pi plis konplè. Apre sa, mwen te espere yon moun ta devine D kòm yon lang paske sa tou ki egziste, men yo te sispann nan D li ta sanble. Malgre ke gen ta ka aktyèlman ap yon E. Oh, aktyèlman, sa a ta dwe dwe sou lis la jou sa yo. Swift se aktyèlman yon lang ke Apple envante ki se kounye a itilize, de pli zan pli se konsa, nan devlopman iPhone. Men, nou pral tounen vin jwenn ke ak diskisyon nou an nan mobil nan jis yon ti jan kòm byen. Se konsa, Swift kòm byen. Lè sa a, si nou ale nan entèprete language-- entèprete language-- Lè sa a, isit la nan yon lis menm ankò kòm byen. Se konsa, si ou jis google ak gade sou Wikipedya pou sa yo, ou pral wè tout kalite lang. Men, objektif la se, pou jodi a reyèlman, jis klou desann nan petèt sa a pwoblèm nan pwopriyete entelektyèl ak lizibilite pa itilizatè a fen ak pèfòmans, se yon lòt biggie kòm byen. Se konsa, nan mitan lang sa yo, fè m 'wè si nou ka ba ou sèlman kèk echantiyon nan lang. Nou pa vle yo ale nan tout lang ki infiniman. Eske ou janm mande ki sa yon sèten ak lang sanble? Nou te fè wè yon ti moman de sa. Poukisa nou pa nou pran yon koup nan prezante demann. Ki moun ki ta renmen yo wè sa ki lòt lang sanble? Yeah. ODYANS: Java. DAVID J. Malan: Java. Tout dwa. Se konsa, kite a ale nan Java. Epi jis ba ou yon sample-- nou te ka ekri tout bagay sa yo soti, men li ta dwe pi vit jis yo gade nan Kòd echantiyon yon lòt moun. Tout dwa. Se konsa, se sa a yon bon egzanp? Whoops. OK. Se konsa, isit la se vèsyon an Java nan la pwogram mwen te ekri pi bonè, "Alo Mondyal." Se konsa, Java, ou pral souvan wè mo kle "klas la." Lè sa a, ou pral wè kèk Non apre sa. Ou pral wè aparèy òtopedik Curly tankou nou te wè anvan, epi pafwa yo ale nan la liy menm, pafwa lòt liy, li nan kalite yon desizyon pèsonèl. Ou pral wè mo kle tankou "Piblik," "estatik," "anile." Men, nou te fè al gade "prensipal la." "Main" se jeneralman non an nan fonksyon an default oswa moso an default nan kòd ki vin kouri nan yon pwogram. "Fisèl." Ki sa nou vle di pa fisèl pi bonè? Mwen te itilize li kalite dekontrakte. Yon fil se ki sa? Yon ti mo. Se tankou yon sekans nan karaktè. karaktè endividyèl, tounen nan tounen nan tounen, anjeneral nan yon etalaj, kòm nou te diskite. Ak an reyalite, wè sentaks sa a isit la, de parantèz yo kare? Sa vle di, hey òdinatè, isit la vini yon etalaj de strings. notasyon a bracket kare se souvan itilize fè yon don sa. Lè sa a, ou kapab pwobableman pran yon guess-- sa sa a make moso nan kòd pwobableman fè? ODYANS: Pwodiksyon an? DAVID J. Malan: Yeah. Li simagri yon bagay yo ekran an. Se konsa, "sistèm" se yon sòt de yon referans a òdinatè w lan. "Out" vle di òdinatè w lan an pwodiksyon oswa ekran an. Se konsa, "system.out.print ln" pwobableman vle di? "LN." Ekri an lèt detache liy ki pwogramasyon tankou aparamman eple kèk mo soti nan antye yo epi yo pran rakoursi ak lòt mo yo. Men, "ln" se liy, se konsa ekri an lèt detache liy. Se konsa, li simagri soti "Alo Mondyal! "Ki te swiv pa yon liy nouvo. Se poutèt sa se li. Men, Java se sa yo pral rele objè-oryante. Ak tout bon, jis bay yon koup la lòt definisyon gen ke ou ta ka wè, an jeneral, gen anpil diferan kalite lang, men ki pi komen an yo lang pwosedi oswa enperatif. Gen fonksyonèl lang, ki pa fè sa vle di ke lòt moun yo nonfunctional. Lè sa a, gen nan objè-oryante lang. Lè sa a se petèt pi bon an klasifikasyon nan pi lang ke ou ta tout tan tout tan chwazi pou sòt nan yon pwojè tipik komèsyal yo. Sa a ta dwe twòp nan, Mwen panse ke, nan twou yon rat nan desann ale, pou yo eseye eksplike diferans ki genyen divès kalite. Men, lang yo nou te wè konsa far-- C se yon pwosedi oswa yon enperatif lang. Plis dènyèman envante lang gen tandans yo dwe, regrèt, objè-oryante, ki vle di yo gen lòt karakteristik yo. Èske mwen ka eksplike li nan fason sa a? Se pou yo pa menm ale desann la. Objè-oryante vle di ou ka implement-- ou ka modle mond reyèl la yon ti kras plis efikasite. Limanite, sou tan, gen kalkile konnen, Wow, li ta dwe nice si lang mwen te gen karakteristik sa a oswa karakteristik ki. Epi sa a, rezon sa a genyen se konsa plizyè lang nan mond lan. moun rezonab, entelijan moun, dakò oswa ou dakò ak toujours sòt de vini ansanm sou devlope nouvo lang tout ansanm. Ka nan pwen. Apple envante Swift nan espwa ke yo prezimableman bese ba a nan devlopman iPhone, paske language-- anvan an rele Objektif-C, sa ki kapab tou dwe sou lis nou an isit lan-- te pi plis Esoteric ak plis pi rèd vlope tèt ou yon sèl la alantou. Antan pwogram se vin joui plis aksesib ak plis ankò lajman adopte pa moun ki pale menm mwens teknik, goal-- la li nan yon objektif trè vanyan pou yo eseye pi ba baryè a yo antre pa fè lang yo tèt yo pi fasil jwenn te kòmanse avèk, men pa pi piti pwisan nesesèman. Apre sa, yonn lòt lang. Poukisa nou pa nou pran yon gade nan yon bagay tankou Piton, ki se anpil nan lamòd jou sa yo. Piton. Egzanp pwogram nan. Ann wè. "Alo Mondyal" lang. Se pou yo fè sa a. "Alo Mondyal." Ann wè si sa a bay nou yon bèl egzanp. OK. Se konsa, sa a se aktyèlman kalite plezi. Se konsa, si w te janm google "Alo Mondyal," ki k ap pase yo youn nan pwogram yo an premye janm ekri nan yon lang modèn, jis kòm yon prèv nan konsèp, ou ka wè tout kalite en nan sa a. Gen kèk nan lang sa yo Mwen pa te menm tande pale de. Men, ou ka see-- kite a ale nan Preliminè a, yon sèl la mwen te aprann ane de sa, an pati. Sa a te yon lang plezi paske ou te gen nan, kòm pwogramè a, nimewo tout nan liy ou yo. Pa kontrèman ak sa mwen te fè lè m 'te ekri pseudocode sou dokiman an jòn pi bonè pou rechèch binè, pou chèche yon liv telefòn. Se konsa, si ou te vle pou yo ale nan yon lòt liy, ou ta literalman tape, ale nan 10, oswa ale nan 20. Men, si w ap ekri liy ki, konvansyon te fè, sa a se liy 10, sa a se liy 20, sa a se liy 30, 40, ak pa gen anyen nan ant, kidonk bay tèt ou kèk chanm si ou deside, rete tann yon minit, Mwen te dwe fè te ajoute kèk plis Kòd yon kote. Ou toujou te gen sòt de nèf chans yo peze ke nan ant pwogram ou an anvan ou te gen a manuelman dvnan tout bagay. Se konsa, sa a se kalite sa mwen vle di lè m 'di li te mond lan vini ak yon karakteristik nouvo. Yon kote ansanm yon moun nan fason reyalize, ti gason sa a se estipid. Sa a se jis kreye pi travay pou pwogramè a. Se konsa, li oswa li te jis kalite bati yon kouch nouvo sou tèt de sa pou ke ou pa gen enkyete sou sa ki liy nimewo kòd ou a se aktyèlman sou. Se konsa, lè ou ta ka chwazi yon sèl lang oswa yon lòt? Oke, ki nan sa yo lang fè ou gen tandans tande sou pi plis nan nan mond pwòp ou a jou sa yo? Se pou nou gout desann Objektif-C tou. ODYANS: C #. DAVID J. Malan: C #. Se pou m 'koulè. nou gen lòt koulè nou an yon kote? Se konsa, C #. Ak sa ki ou konnen sou C #? Nenpòt bagay sezon prentan nan lide? ODYANS: Li se yon lang programmation. DAVID J. Malan: Li se yon lang programmation. OK. Sa se vre. Se konsa, nou ap pale de C #. C # gen tandans yo dwe itilize nan Windows anviwònman, Se konsa, si w ap ekri Microsoft lojisyèl pou Windows, se C # trè souvan itilize, si li nan pou lojisyèl Desktop, oswa menm lojisyèl telefòn sou Windows telefòn, si ou te gen sa yo, oswa sou entènèt la menm tou. Ak an reyalite, petèt Kareem mansyone ASP pi bonè? Se konsa, gen nan tou sa yo bagay sa yo rele cadres, nou ka prezante pa ekstansyon. Frameworks, tankou ASP. Kanpe pou paj sèvè aktif. Lè sa a se kòd ak yon fason pou pwogram ki jeneralman fè li pi fasil yo ekri aplikasyon pou entènèt ki baze sou. Nan lòt mo, li ta super, super anmèdan yo ekri yon sit entènèt nan lang C a ki nou te wè anvan, paske ou ta gen yo sèvi ak ekri an lèt detache + F, ou ta gen yo sèvi ak ki mo kle "Prensipal" ak aparèy òtopedik yo Curly. Yon anpil nan Esoteric sentaks ak apwòch aplike yon bagay ki se jistis konplèks. Yon paj entènèt. Se konsa, lòt lang te evolye fè ki jan de bagay konsa pi fasil. Ak nan vire, moun ki te vini ak cadres, sòt de zouti ke ou ka itilize ki fè li menm vin pi fasil yo ekri paj wèb. Se konsa, pou egzanp, fè sa a konkrè plis ankò, kite m 'louvri moute jis yon dosye tèks pou yon moman. Epi ou ta ka sonje yè ke nou te di yon bagay tankou, sa a se yon paj entènèt. HTML. Close HTML. Kite m 'sote tèt la ak jis fè kò a isit la. Sipoze ke mwen te vle ekri pa "Alo Mondyal," men "Alo David," kote David te nan non a kounye a louvri sesyon an itilizatè. Ki sa ki yon bagay tankou ASP pral fè, oswa JSP-- ki se Java sèvè pages-- oswa nenpòt ki kantite lòt cadres se yo ap pa lang, se pou chak. Yo ap jis tankou plis lojisyèl ke ou ta enstale nan anviwònman ou ki jis fè li pi fasil nan pwogram. Se konsa, pou egzanp, olye ke ou dwe fè yon bagay tankou "hello, printf (" David ")" oswa yon bagay sa a, se kalite ko-mingling-- ki kalite Kòd nou te wè devan l ou ta fè yon bagay pi senpl, tankou "Non%." Se konsa, cadres sa yo, tankou ASP-- ak mwen pa sonje si mwen ap resevwa sentaks la jis dwa pou ASP. Jsp se yon little-- ki dwat sa a? Se konsa, avèk ASP, sa a se sòt de yon sentaks espesyal ke kèk devlopè te deside sa a ta ka ede moun soti. Apre sa, mwen ka eksprime plis suksen placeholders, pou egzanp. Fè tankou mete yon valè isit la, kote Non valè sa a se pa N-A-M-E, li nan kèk valè ki estoke nan la. Se konsa, "Non," nan kontèks sa a, nou ta rele yon varyab. Aljèb gen varyab tankou x, ak y, ak z. Pwogramasyon sèvi ak varyab ki plis deskriptif pase x, y, ak z, tipikman. Se konsa, "Non" ta literalman gen kèk kalite nan veso memwa pou yon bagay tankou D-A-V-I-D, pou non mwen, oswa moun ki va lòt moun ap louvri sesyon an sit entènèt la. Se konsa, sa a se ki kalite konvenyans ou jwenn ak sèten anviwònman. Se konsa, C # ak yon bagay tankou ASP ta trè souvan dwe itilize nan yon mond Windows, si wi ou non pou Desktop li yo lojisyèl oswa sèvè sit entènèt, espesyalman si serveurs ou yo nan vire kouri Microsoft Windows ak Microsoft IIS-- oswa entènèt Enfòmasyon Sèvè, si mwen jwenn akwonim nan regleman ki se sèvè wèb Microsoft a. Se konsa, sa lòt lang yo jan abitye avèk, oswa ou tande a pi souvan pase pa? ODYANS: Mwen konnen ke Piton nan kalite yon popilè [fèbl]. DAVID J. Malan: Trè popilè. Se konsa, isit la se Piton itilize trè souvan nan aplikasyon pou syantifik oswa done syans, kote ou gen yon anpil nan done ke ou vle analize epi ou vle sèvi ak yon lang programmation pou li. R ta ka souvan dwe itilize pou sa kòm byen, nan yon kontèks estatistik. Men, Piton gen anpil karakteristik bati nan. Se konsa, anpil plis bibliyotèk, kòm moun ki di. Bibliyotèk yo se jis koleksyon nan kòd ke lòt moun te ekri ke ou ka itilize pou ke ou pa bezwen re-envante moun wou. Se konsa, Piton se yon bagay ki souvan itilize nan aplikasyon pou syans done. Men, li la tou trè souvan yo itilize nan aplikasyon pou entènèt. Ou ka aplike yon dinamik sit entènèt lè l sèvi avèk Piton. Ak nan sit entènèt dinamik, mwen vle di kontni pa sèlman estatik tankou nou te kreye yè, pa jis difisil kodaj nan tèks la Latin ak lòt bagay sa yo, men pito kapasite nan ouvri sesyon an, kapasite nan achte yon bagay, kapasite nan tcheke deyò ak bin fè makèt ou a, oswa renmen an. Tout moun nan ki egzije pou dynamism epi ou bezwen kèk lang tankou yonn nan sa yo. ODYANS: Se konsa, Piton gen pwòp li yo ekstansyon, menm jan ak renmen [fèbl] DAVID J. Malan: Li fè. Se konsa, nan mond lan nan Piton, Django se yon fondasyon trè popilè pou Piton. WSGI se yon lòt mekanis sa a, se sòt de diferan de sa a men menm jan an nan Lespri Bondye. Se yon ajoute-sou ki pèmèt ou nan kouri Piton Kòd sou yon sèvè. Genyen other-- yeah. Se konsa, sa yo, nou pral rele cadres. Lè li nan yon ti kras nan yon abi. Sa a se plis nan yon teknoloji sèvè sit entènèt. Men, nou pral kenbe li senp, li mete li nan sa a kolòn Alòske. OK. WSGI. WSGI. Yon lòt bagay-- ak aktyèlman, se pou m 'deplase ke yo kolòn pwòp li yo, paske mwen ta rele nan tèt mwen pou mete yo nan bokit la menm. Se pou nou mete sa a nan sèvè karakteristik, se pou yo di. Sa a pa yon tèm teknik. Se konsa, isit la nou ta ka WSGI. Genyen CGI, ki se yon pi gran teknik pou sèvi moute lang tankou pèrl oswa PHP, oswa kèk lòt moun. Yon fwa ankò, mwen te mansyone tèm sa yo pa tèlman yo sòt de ankre yo, men se konsa ke si ou wè yo li nan yon bagay ou tou senpleman Google li plis. Gen nan pa gen ji reyèl nan kèk nan bagay sa yo. Men, kite a tounen nan lang yo. Nou te pale de C #, Piton. Ki lòt bagay ta ka ou itilize pou Programmation Web jou sa yo? Se pou nou konsantre sou ki toujou. ODYANS: PHP. DAVID J. Malan: PHP. Li kite yo tounen nan ke yon moun vini. Se konsa, PHP se yon bagay ki souvan itilize. PHP gen tandans yo ka resevwa yon rap move. Li te kòmanse koupe kòm yon lang aplike pa jan ki petèt pa t 'nesesèman konsèpteur yo ak lang pi byen. Se konsa, ou ka li tout kalite atik sou entènèt sou ki jan move PHP se. Men, malerezman, sa a se yon manifestasyon, an pati, nan jis deba yo relijye ki eklate nan mitan pwogramasyon. Lè sa a se yon bagay vo kenbe nan tèt ou, sòti nan yon pèspektiv biznis, ki li trè fasil pou moun teknik yo ka resevwa tout te travay moute ak yo opinyon sou sèten bagay sa yo. E li pa nesesèman vle di ke yon moun an tap rele ke pi fò nan oswa avèk pi fò a, angriest opinyon ki dwat. Yon anpil fwa, li vrèman jis pa gen pwoblèm. Se konsa, moun ki yo se jis diskite tou sa prejije pwòp yo oswa zòn konfò yo. Se konsa, ou ta dwe kenbe ki nan tèt lè yo fè yon desizyon, ki jis paske yon moun di sa a se lang nan dwa pou travay la, ke sa ta kapab vre, men tou li jis ta ka li se nan lang dwa nan konpetans pwòp yo mete oswa zòn konfò. Ki se pa move, men ou ta dwe reyalize ke gen ka gen kèk kontèks la. Gen kèk objektivman deklarasyon sa ki mal, tankou C se lang natif la sa ki mal yo sèvi ak jou sa yo pou mete ann aplikasyon sit prèske toujou. Men, li la pa rezonab yo di ke nenpòt nan sa yo se sa ki mal ke nou te maké konsa byen lwen. PHP te ale nan vèsyon anpil. Se konsa, lang yo gen tandans gen vèsyon nimewo ki asosye ak yo. PHP se jiska, mwen panse, vèsyon 7 kounye a, se konsa li a te alantou pou kèk tan. Antan lang jwenn plus, yo souvan jwenn karakteristik nouvo. Men, ou gen yo dwe janm bliye jan Bondye sa a paske si gen sit entènèt ou te aplike nan vèsyon 7 nan PHP men w ap eseye kouri sit entènèt ou, oswa petèt ou te tretans devlopman nan kòd ou a nan yon lòt moun epi yo voye l 'bay ou oswa voye l' bay ou yo di, isit la, mete sa a sou sèvè entènèt ou an, si sèvè entènèt ou se yon kèk ane outdated-- si li nan sèvè pwòp ou a oswa yon host-- sit li pa ta ka aktyèlman kouri. Se konsa, sa yo, se kalite sa yo de bagay sa yo ke yon moun bezwen yo dwe janm bliye jan Bondye lè amelyore yon sit oswa mete ann aplikasyon li pou premye fwa. Mwen tande JavaScript pi bonè. Se konsa, JavaScript se yon enteresan youn nan ke li se jeneralman bò kliyan, kòm nou pral wè apre repo a, ki vle di li kouri nan navigatè itilizatè a la. Men, ou ka tou kouri JavaScript jou sa yo lè l sèvi avèk yon bagay yo rele Node.js, kote Node.js se yon mekanis pou kouri JavaScript Kòd sèvè bò, olye pou yo lè l sèvi avèk Piton, oswa PHP, oswa lòt lang sa yo. JavaScript se patikilyèman byen adapte pou aplikasyon pou chat ak tan reyèl aplikasyon pou, Lè nou konsidere ke PHP se pa yon gwo ak lang pou mete ann aplikasyon yon bagay tankou yon sèvè Chat, kote itilizatè yo rete konekte nan li toujou ap. PHP se plis nan yon vizit m ' yon fwa, jwenn tounen yon rezilta, Et puis cliquez yon lòt lyen kèk segonn oswa minit nan kounye a. Lè nou konsidere ke Node.js ak JavaScript kapab itilize plis pou koneksyon ki pèsistan. Lòt lang ke ou sispèk yo souvan itilize pou bagay entènèt? ODYANS: Èske jQuery gen yon fondasyon? DAVID J. Malan: Bon kesyon. Ni. Mwen ta ka rele jQuery yon bibliyotèk, kote ankò yon bibliyotèk se jis yon pakèt moun sou Kòd ke yon lòt moun gen ekri ki jeneralman rezoud kèk pwoblèm ki fè li, èspere ke, pi fasil pou ou pou w fè travay ou. Se pou m 'fè yon egzanp sou sa a nan yon kontèks entènèt la. Nan kontèks la nan entènèt la gen nan sa a lang, JavaScript, ke nou pral wè pita, annakò ak sa ou ta ka di yon bagay tankou sa a men "Document.getElementById." Ak sa ki t 'mwen rele l' yè? Premyèman, mwen panse, te ID a inik mwen te bay nan yon eleman ki te sanble ak sa a. "Didantite p =" premye ">" ak Lè sa a nou te gen tankou "Ipsum Kay," et setra. Se konsa, si mwen te ekri yon pwogram nan JavaScript yo yon jan kanmenm manipile, chanje paj sa yo entènèt ke nou t ap jwe ak yè, Mwen ta sèvi ak sa a make liy nan kòd jwenn ki brib patikilye nan HTML soti nan paj m ', ki ne patikilye, menm jan nou pral rele li. Sepandan, nan jQuery, olye pou yo ekri sa a, ki se anvan tout koreksyon JavaScript code-- jis soti nan bwat la, sa a, se ki jan ou ekri l-- ou ta olye jis di, "#first." Sa a ekivalan. Se konsa, baze sèlman sou sa a trè Esoteric egzanp, sa ki petèt se agiman an pou lè l sèvi avèk jQuery? Poukisa ta yon pwomotè sèvi ak yon bibliyotèk tankou jQuery, ki baze sou egzanp sa a izole, petèt? ODYANS: Mwens kòd. DAVID J. Malan: Yeah. Li nan mwens kòd. Se jis pi vit tape. kontrepwa a se ke li sanble scarier. Ou pa ka vrèman li li l 'gòch a dwat. An reyalite, paske li nan sitou ponktiyasyon kounye a olye pou yo aktyèl mo, Mwen kapab kalite dégager ki "Document.getElementById" yo vin yon eleman soti nan dokiman an pa ID li yo. Mwen vrèman ka itilize okenn tankou mnemotèknik sa a soti nan bagay isit la. Se konsa, li yon komès la. Genyen yon bagay konplike ki vini souvan avèk lè l sèvi avèk bibliyotèk, espesyalman tankou jQuery. Men, reyalite a se jQuery gen kalite nan vin yon defakto estanda, pou ke prèske nenpòt moun sa yo jou ki ekri JavaScript Kòd sèvi ak jQuery oswa yon bagay tankou li, e pa gen ankò ekri tankou yon ekspresyon sil kòm sa a, paske ankò, limanite te aprann, wow, sa ki te sòt de yon opòtinite rate fè lavi nou pi fasil. Se konsa, moun fè lavi yo pi fasil. Bon kesyon. Lòt lang nan konsidere. Mwen ta ka di nan mitan sa a lis Ruby se byen popilè. Se konsa, nan mond lan nan Ruby, gen nan yon fondasyon rele ray, ki se trè popilè. Se konsa, Ruby sou ray se yon souvan itilize ekspresyon. Epitou nan mond sa a, kite m ' sèk Java pou bagay sou sit wèb ★ kote nan mond lan nan Java ou ta ka genyen jsp, oswa Java Sèrvle, ki se yon teknoloji komen. Lè sa a se jis ankò fason pou lè l sèvi avèk ke lang nan yon anviwònman sèvè. Se konsa, sa sa vle di? Si ou te gen yon fizik sèvè, ou ta literalman download lojisyèl an sèvè sit entènèt ak enstale li nan yon fason ki di ou gen sipò pou youn nan cadres sa yo, ak kote ou te kapab, nan vire, sèvi ak youn oswa plis nan lang sa yo. Ak nan reyalite, si ou enskri non ou pou tankou yon lame web oswa kèk nan nwaj la sèvis nou te pale sou yè, souvan bagay la jis vini ak nan konfigirasyon machin nan pou ou. Ou pa bezwen yo mete sa a moute manyèlman. Men, si ou te fè, sa a se kote wòl nan nan administratè sistèm, se konsa pale, vin antre nan jwe. Li oswa li ta aktyèlman fè sa a kalite bagay pou ou, oswa webmaster a sa yo rele ta souvan fè sa pou ou. Tout dwa. Nenpòt kesyon sou kèk nan sa yo isit la? Oswa nenpòt opòtinite nan tout moun mande enfòmasyon sou lang? Frameworks? Lè sa a, kite m 'entwodui jis yon lòt bibliyotèk sa a, se tou trè komen jou sa yo. Lis sa a te kapab ale sou enfiniman. Ak bibliyotèk sa a se kalite kòmanse tonbe soti nan favè. Li te alantou. Li te vulgarize pa Twitter pou kèk tan. Epi, koulye a anpil nan sit entènèt, anpil nan devlopè sèvi ak li. Men, bagay ki nouvo ap vini deyò epi yo vini ansanm. Men, kite m 'jis ba ou yon sans nan sa li vle di yo sèvi ak yon bibliyotèk. Se konsa, ankò, JavaScript se yon lang trè popilè. CSS, oswa Mélanger Style Dra, nou te pale de yè. Sa, tou, se omniprezant. Pa gen moun ki fè yon paj entènèt jodi a san yo pa itilize HTML ak CSS minim. Men, li la pa toujou fasil fè sèten bagay. Se konsa, kite m 'ale nan getbootstrap.com. Whoops. Sa a pa ki jan nou eple. Getbootstrap.com, ki ki pral mennen m ' nan paj la aterisaj pou bibliyotèk sa a. Se konsa, yo san gad dèyè rele tèt yo yon fondasyon, ki se kalite sòt de jis, men mwen ta toujou rele l ' plis nan yon bibliyotèk pase yon fondasyon. Men, sa yo, se Semantics jis plozibl. Kite m 'ale nan tab CSS yo ak kite m 'ale nan yon bagay tankou sa a. Se konsa, sonje ki fòm nou gade tankou yè sou Cloud9? Li te trè lèd. bouton lekòl fin vye granmoun. Mwen panse ke bouton an te gri pa default. Ak tout bagay te vrèman fòma byen messily. Se konsa, si ou vle fòm entènèt ou a gade yon ti kras nicer-- kite m 'rale nan isit la. Ak nan joli Mwen vrèman jis vle di estetik trè nitpicky. Se konsa, avi ki jan ti bwat la imel gen gen yon awondi kwen rektangilè nan li. Se konsa, li nan yon ti kras cleaner la. Remake imel la mo se la jouk lè m'a kòmanse sezisman ak Lè sa a li ale lwen. Se poutèt sa se yon bèl karakteristik ti kras. Avi sou jan bagay la se kalite lumineux joliman, ki kèk nan sa a ou jwenn pou gratis nan navigatè ou a, men gen kèk nan sa a se tou bibliyotèk, kòd ki lòt moun ki gen ekri ki ba ou sa a. Yon bagay tankou sa a ki ban m 'modpas mwen. Bouton sa-a se yon ti kras sexier pase a default. Very anpil nan lamòd kounye a. Depi tout tan iOS 7 oswa konsa nan, te mond vinn trè plat, Lè nou konsidere ke mond lan anvan te gen anpil nan lonbraj gout, anpil nan refleksyon sou ikon. Anpil tankou nan mond lan rad, gen nan tandans alamòd ki vini e li ale. Koulye a, tout bagay se plat sou telefòn ou. An reyalite, bouton sou ou iPhone yo kounye a se lyen jis ble. Genyen nan pa souvan menm bouton sikilè. Se konsa, sa yo, se jis bagay ki ale nan ak soti nan lamòd, ak kidonk sa a se ki jan ou ta ka fè yon plis modèn fòm entènèt kap. Bouton. Se konsa, demaraj gen anpil bouton bèl. Se konsa, si ou vle bouton ble, bouton vèt, ble, zoranj, wouj. Demaraj fè li pi fasil fè bagay sa yo. Sa yo se kalite ki nan bagay sa yo ke ou ta ka absoliman te fè yè ak CSS ak ak HTML, men li la jis yon doulè nan kou an. Se konsa, olye de sa, ki sa demaraj ta gen sa ou fè se yon bagay konsa. Si ou vle yon button-- sanble sa a se yon tag HTML nou pa t 'sèvi ak yesterday-- epi ou vle l 'bay gade tankou bouton vèt sa a, ou literalman jis bay li yon klas, ki nou te fè pale sou yè, nan "btn BTN-siksè." Poukisa pawòl sa yo? Twitter, otè yo nan demaraj, te vini ak mo sa yo. Yo te kapab yo te rele yo anyen yo vle. Men, sa ki w ap resevwa kounye a se yon lòt moun nan Twitter, nan ka sa a, gen kalkile konnen kouman ou fè yon bouton gade bèl ak pwòp ak vèt. Yo pake moute ki fonctionnalités nan yon klas CSS, ki rele "BTN" ak "btn-siksè," pou ke nenpòt nan nou kapab kounye a sèvi ak li san yo pa menm panse sou li. Se konsa, yo te distrè lwen nosyon de yon bouton vèt se konsa nou pa bezwen pran swen sou mete ann aplikasyon li tèt nou. Nou ka aktyèlman konsantre sou mete ann aplikasyon bagay sa yo nan enterè yo ban nou. Si nou desann isit la. mesaj erè sou ekran an. Pafwa ou vle yon ti kras mesaj parèt sou tèt la nan navigatè a. Nenpòt nan nou ta ka fè sa a ak kèk efò, apre yo fin leson yè a, men poukisa ou ta bezwen deranje? Sa a tankou yon entérésan ayestetik detay. Se pou nou kanpe sou la zepòl a demaraj epi kite yo ban nou bagay sa yo tankou sa a, kote nou literalman, yo ka resevwa yon bwat wouj, jis gen nan fè yon paragraf tag avèk yon klas de- regrèt. "Bg-danje" ta ban nou sa a bwat ti tach koulè wouj pito. Koulye a, kite a ale nan nan bagay ki pi enteresan. Si m 'tounen nan tèt la nan paj sa a epi ale nan Eleman, kounye a mond lan vin pi plis enteresan. Pou egzanp, trè komen se gout desann meni tankou sa a. Sa a ta dwe yon absoli doulè a ​​aplike. Epi, se pa t 'ki long Anons sa pibliye depi ke nou pwogramasyon ta gen yo aplike sa yo kalite meni nan grate. Men, li la tankou yon paradigm komen ki bibliyotèk tankou demaraj jis bay ou kapasite nan fè yon gout desann meni lwen, byen lwen pi fasil. Gen nan pa gen yon fason fè li, men si mwen li dokiman an Mwen ta wè ke, OK, mwen ta dwe itilize HTML sa a si mwen vle yon gout desann meni ki konpòte li tankou sa. Menm jan an tou, se pou yo ale nan bouton gout desann. Se konsa, sa a se menm amateur. Si m 'vle sa a yo gade tankou yon bouton men sa triyang ti kras vle di Mwen ta dwe klike sou li epi pou yo jwenn meni sa a, sa a se lè l sèvi avèk yon lang yo rele JavaScript. Apre sa, nou te kapab tout aplike sa a nan JavaScript. Men, ankò, sa a se yon wou ou pa vle reenvante. Ou jis vle pran li koupe bibliyotèk la etajè pou sa a. Ann ale nan yon bagay tankou pwogrè ba. Se konsa, yon bagay tankou sa a se kalite fre. Si ou te janm wè yon pwogrè ba k ap deplase nan tout ekran an, mete ann aplikasyon ki souvan se jis yon icon k ap vire. An reyalite, menm jan yon sou kote, se pou m 'ale nan Ajax-- sa li ye? Ajax enfòmasyon? Whoops. Ajaxinfo. Kite m 'sonje adrès la. Gen nou ale. Se konsa, si ou te janm wè kèk animasyon pandan y ap paj la se loading, oswa panse, oswa ekonomize, oswa kreye yon bagay, ou ta ka wè Animations tankou sa yo. Se konsa, kite pou yo gade nan yon bagay tankou yon sèl sa a isit la, e kite yo chwazi yon koulè premye plan nan vèt, ki santi l kalite zanmitay. Èske mwen ka klike sou sa a? Vini non yon sèl. OK. Nou pral jis ale ak wouj paske se sa ki nou ap vin. Se konsa, isit la nou genyen li. Se konsa, si ou te janm wè sa a sou yon ekran, kijan toudenkou li parèt ak Lè sa a toudenkou disparèt, ki sa ki li ki nan mete ann aplikasyon sa? Oke, sa a se jis yon GIF. G-I-F. Lè sa a se yon anime ranpli, ki jis vle di li a tankou yon fin vye granmoun lekòl komik liv. Genyen sèlman yon pakèt moun sou diferan ankadreman ke yo pral [begeye] ak jis repete. Epi li kreye a ilizyon nan mouvman. Se konsa, le pli vit ke se yon paj fè loading oubyen w ap fè yon bagay, ki sa yon pwogramè fè? Oke, li oswa li te jis kache imaj sa a. Se konsa, tout yon bar pwogrè se se kalite nan renmen yon fim w ap gade. Ou se sòt de enkonsyan nan lefèt ke li nan pa aktyèlman fè anyen, li nan jis deplase. Lè sa a,, lè li fè pwogrè, yo jis kache l 'oswa vire l' la. Epi sa a, tout majik la ki k ap pase sou la. Demaraj ba ou yon bagay yon ti kras amateur, kijan ou kapab aktyèlman wè yon pousantaj kòm li ale, men li tou se jis sòt nan yon animasyon senp. Se pou yo gade nan kèk final plis egzanp konplèks isit la. Yon bagay tankou yon modal. nenpòt moun ki konnen ki sa yon modal se? Yon fenèt modal se jeneralman youn ki se ta sipoze yo pran kontwòl nan premye plan an ak anpeche ou nan fè nenpòt lòt bagay. Li sòt de fòs la nan itilizatè atansyon nan mitan an nan ekran an, bloke yo soti, tipikman, nan tout lòt bagay. Se konsa, si mwen lanse sa a Demo a, ekran pral jeneralman vin gri. Oke, ki jan nou fè l 'gri? Bon, nou pwobableman jis chanje koulè nan background tankou nou te fè yè oswa yon bagay tankou sa. Petèt li nan yon kouvri ki semi-transparan. Epi, koulye a remake ou ka fè bagay sa yo anpenpan tankou sa a. Se konsa, si w te janm klike sou yon bouton epi ou vle yon ti kras pòp soti nan parèt, ou ka fè sa. Se konsa, ki gen sousi pou all-- yeah? ODYANS: Se konsa, avèk demaraj, jwenn li enkòpore, se li kòm senp tankou tankou yè nou te fè paj la Styles CSS? DAVID J. Malan: Vreman vre. Reyèlman bon kesyon. Kite m 'ale nan Pou kòmanse. E wi. Tout sa ou dwe fè yo nan lòd yo itilize demaraj se esansyèlman kopi epi kole sa yo twa liy long nan Kòd nan tèt la nan ou page-- sou sit pwòp tèt la nan page-- ou epi w ap leve, li kouri. Apre sa, nan diferan fason pou fè li, men sa a ta ka pi senp lan. Se konsa, sa ki nan itil sou tout bagay sa yo? Oke, si ou pa anpil ègzekuteur la nan yon sit entènèt men w ap eseye nan konsepsyon li, oswa ou vle bay yon moun ak dyagram fil ankadreman, se konsa pale, oswa rèstitusyon jis atis la nan sa ki ou vle fè, mwen menm nan sa a jou, yo pral souvan ale nan yon sit tankou demaraj, kote si mwen vle aplike something-- tankou dènyèman sou lakou lekòl la nou te vle aplike yon sit entènèt ki baze zouti pou navige kou katalòg Harvard la, fè li pi fasil pou elèv browse atravè kou epi ajoute kou lis makèt, se konsa pale, kalite deside ki sa yo te vle pran. Mwen te ap eseye imajine pou tèt mwen, ki sa engredyan ta nou vle sèvi ak yo bati sa a? Ki sa ki ta koòdone nan itilizatè dwe tankou? Epi jis kap nan yon sit tankou sa a oswa lòt sit bibliyotèk sa yo, ou ka jwenn enspirasyon, paske Wow, Mwen ka itilize widje sa a, epi widje sa a, ak widje sa a. Lè sa a, vrèman ki sa pwogramè a kòmanse fè, espesyalman nan jou sa yo nan sa a plis mond modèn nan pwogram sou sit wèb ★ se pwogram de pli zan pli sou fil elektrik bagay sa yo ansanm. Sòt nan pran sa a sou etajè a, sa a sou etajè a, sa a sou etajè a, epi ou yo te youn la entelijan konekte tout nan tout sa yo pwen, men finalman bati yon bagay pa ankò kanpe sou zepòl yo nan lòt moun, pou ke ou pa pase yon mwa mete ann aplikasyon yon gout estipid desann meni, ki se aktyèlman di yo fè si ou vle l 'nan travay sou Chrome, ak sa vle di, ak Firefox, ak nenpòt kantite lòt navigatè. Sa a se poukisa gen sa a rich sous komèsyal epi yo louvri lojisyèl endistri kòm byen. ODYANS: Se konsa, demaraj debarase mete ajou epi ou gen Lè sa a, mete ajou lyen ou a? DAVID J. Malan: Li fè. Oke, repons lan se wi, li fè sa. Demaraj se kounye a nan vèsyon 3.3.6. Epi jeneralman sa ou ta do-- sa a se aktyèlman vo mansyone. Genyen sa ki nan jeneralman li te ye kòm yon vèrsyonin semantik sistèm nan mond lan. Se pa tout moun fè bagay sa a. Men, si ou te wè nimewo vèsyon ki nan fòm nan x.y.z-- se konsa pou egzanp, vèsyon an premye nan yon pwogram ta ka 1.0.0. Oswa si li nan trè, trè beta, oswa menm alfa estati, ki vle di itilize sou pwòp risk ou, li pa reyèlman pare pou tan premye, ou ta ka menm kòmanse 0.0.1 oswa kèk deziyasyon sa yo. Men, si lojisyèl kòmanse nan vèsyon 1.0, oswa équivalant 1.0.0, tipikman, sa ki nan komen sa yo days-- men se pa omnipresent-- se si yon konpayi oswa yon moun fikse pwogramè kèk ensèk nan kèk moso nan lojisyèl ki vrèman te yon ensèk, ki gen koreksyon pa ta dwe enpak ou nan all-- li pa chanje konpòtman pwogram nan, li jis fiks yon bagay ki pa te ap travay properly-- ou ta tipikman mete ajou valè a z la. Ki vle di yon moun tankou Kareem te kapab tou senpleman ale nan sit entènèt l 'yo, je fèmen chanje nimewo a vèsyon soti nan 1.0.0 1.0.1, sove li, bato li, ak nan teyori, pa bezwen enkyete ke li te jis kase sit entènèt l 'poutèt kèk mank de fonctionnalités, paske yon lòt bagay te kraze yo. Pandan se tan, si mwen nan pwogramè oswa kèk konpayi te fè kèk enpòtan chanjman ki ajoute fonctionnalités, Mwen ta ka mete ajou nou 1.1.0 paske mwen se aktyèlman chanje konpòtman an nan bibliyotèk la. Mwen ban nou petèt pi plis fonctionnalités. Finalman, si m 'te aktyèlman fondamantalman chanje lojisyèl an pou bagay ke li pral kraze anpil itilizatè sou sit entènèt oswa aplikasyon pou, Lè sa a, mwen oblije, nan modèl sa a, nan ajou nimewo a vèsyon gwo tou, ki se yon chanjman kraze. Nan lòt mo, mwen ta ka gen sipò abandone pou moun gout desann meni. Se konsa, si ou ajou ak 2.0, mwatye sit entènèt ou ta ka sispann travay. Lè sa a se sòt de yon siyal nan kominote a tankou sa ki a patisipe nan fè yon mete yo ajou. Yon bon opòtinite yo ogmante. Lòt kesyon? Tout dwa. Oke kite a pran yon gade nan yon sèl final sijè nan segman sa a nan pwogram nan pil teknoloji, sètadi ki gen rapò ak mobil. Se konsa, nan mond lan nan telefòn selilè jodi a ou en-ak iPads, ak sifas yo, ak tout moun kalite nan devices-- ou gen yon anpil nan chwa ki genyen lè li rive mete ann aplikasyon yon aplikasyon oswa yon sit entènèt pou aparèy mobil kliyan ou an. Se konsa, jis bay eta a evidan, petèt jou sa yo, ki sa yo tribin yo nan devlope pou nan espas ki la mobil? Ki sa ki aparèy ou ta ka vle sipòte ak app ou oswa sou sit wèb? ODYANS: Apple. DAVID J. Malan: OK. Se konsa, Apple ki bay sipò. Se konsa, sa vle di iPhone, e ke vle di iPad, ak petèt menm iPod. Kisa ankò? Olivier? ODYANS: android. DAVID J. Malan: android. OK. Se konsa, android telefòn, Android tablèt, mache a android se menm messier because-- ak menm Apple ap vin sal. Lè nou konsidere ke yon fwa sou yon tan iPhone te yon gwosè sèten, ak iPad te yon gwosè sèten, ak iPod te yon gwosè sèten, kounye a nou gen iPad Minis, ak mens nan moun, ak iPhone 6 Plus a ak 6. Li nan vin tounen yon dezòd. Li nan vin mond lan android. Apre sa, mwen di sa a ak sòt de woule je m 'paske soti nan yon pwomotè nan pèspektiv, li se yon doulè nan kou a lè ou pa gen Steve Travay ' vizyon nan kontwòl absoli sou tout ki genyen espesifikasyon sa yo. Apple toujou fè paske yo ap yo menm ki bati pyès ki nan konpitè. Men, li la yon bagay bèl, si Mwen se yon pwomotè lojisyèl, jis konnen ke mwen iPhone se toujou pral yo dwe sa a gwo paske sa vle di mwen toujou konnen konbyen lajan ekran byen imobilye m 'genyen. Se konsa, si mwen vle mete yon icon nan kwen an tèt gòch-men, li pral yo dwe nan menm bagay la tou egzak mete sou aparèy chak kliyan sèl la. Men, nan mond lan nan iPhone 6s ak iPhone 6 Pluses ak nan mond lan nan android telefòn, li nan tout lòt peyi sou kat la. Se konsa, li fè l pi difisil nan pwogram bagay sa yo, espesyalman itilizatè interfaces, paske kounye a ou gen kòmanse fè aranjman pou fè itilizatè ou interfaces relativman, pa absoliman. Ak menm bagay la te vre sou navigatè, ak Bureau, ak laptops pou ane paske ou, nan kou, gen gwosè ekran diferan. Kisa ankò? Ou ta ka gen sifas, tankou soti nan Microsoft. Ou ta ka en- ODYANS: Windows telefòn. DAVID J. Malan: Ki sa ki nan sa? ODYANS: Windows telefòn. DAVID J. Malan: Wi. Se konsa, telefòn fenèt ka toujou ka jwenn li. Kalite sòt de BlackBerrys, men yo kontinye eseye. Lè sa a, grap rezen lòt aparèy. Se konsa, pou pati ki pi, se pou yo di sa yo, se yo menm ki pran swen sou nan moman an. Sètènman bagay la Apple, sètènman bagay la android, ak nan mitan Windows, tankou tablèt sifas sanble yo dwe pwan sou trè byen. Se konsa, nan mitan aparèy sa yo, si ou vle woule soti, kite a di, yon prezans mobil pou ou konpayi, ki kalite desizyon konsepsyon ou gen fè? Bon, nou deja di nan mond lan Apple, gen omwen de lang ki yo, se tipikman itilize. Yonn te rele ki sa? ODYANS: Objektif-C. DAVID J. Malan: Yeah. Se konsa, Objektif-C, ki se youn nan pi gran. Li la tou lang lan ke anpil Mac aplikasyon pou yo toujou ekri nan. Lè sa a, lòt plus Yonn te? ODYANS: Swift. DAVID J. Malan: Swift. Ak sa yo se ki kalite de konnen pou enpresyone jan. Lè sa a, nan mond lan android, ki lang android itilize? ODYANS: C #? ODYANS: Java. DAVID J. Malan: Java se lang lan nan "du jour." Nan mond lan Windows, asire w, nou pral di C # nan ka sa a. Se konsa, deja sa a se kalite anmèdan, paske sa ki nan Takeaway a pou yon biznis mèt kay oswa yon moun ki jis vle woule soti yon prezans mobil? Tankou, modi li? Tankou, si mwen vle sipòte yon itilizatè baz san patipri laj, Mwen gen yo ekri, li ta sanble, twa aplikasyon ki apa a. Youn nan youn nan lang sa yo, yon sèl nan Java, youn nan C #. E menm si mwen vle fonctionnalités a yo dwe ki idantik, li pa gen pwoblèm. Mwen toujou bezwen sèvi ak diferan lang paske Apple, ak Microsoft, ak Google tout sipò diferan anviwònman. Lè sa a te gen yon defi pou ane. Retounen nan jou a, lè moun itilize yo achte lojisyèl nan yon magazen òdinatè nan retresi vlope bwat, ou ta swa gen rive jwenn pou etajè a Mac, oswa pou- petèt sa a anpil ti Mac shelf-- oswa pi gwo Windows etajè a yo epi achte kèk lojisyèl. Apre sa, trè souvan, te gen pa menm anyen pou ou ki sou etajè a Mac. Poukisa? Oke, konpayi deside si 90% nan mond lan, 95% nan mond lan gen PC yo, poukisa deranje menm mete ann aplikasyon bagay sa yo sou Mac OS? Kòm yon aside-- yon total digression-- poukisa se li ki Mac sanble se konsa enpèmeyab nan viris, ak vè, ak menas sekirite? Èske Apple pi bon nan sa a? Pi bon nan kenbe òdinatè sekirite? ODYANS: Ki pi piti odyans? DAVID J. Malan: Sa a pwobableman ti jan nan pi gwo nan li. Se konsa, itilizatè yo anpil nan Macs gen lontan te deklare ke, oh, sèvi ak yon Mac, ou pral iminitè a viris, ak vè, ak tout bagay sa yo sa yo ki te lontan gwo malè tonbe sou PC yo. Ke sa ta kapab paske Apple gen pi bon pwogramasyon epi yo ekri pi bon lojisyèl, oswa nan sistèm opere te pi bon fèt. Petèt, men pwobableman pa. Li pwobableman ki lè w ap yon-fin vye granmoun 12-ane, oswa yon yon bagay 30 sòt de chita nan ekri lakay move lojisyèl pran sou mond lan, w ap ale nan ale apre pi gwo sib odyans lan. 95% an nan mond lan ki ta ka dwe kouri Windows oswa kèk varyant ladan l '. Se konsa, gen nan yon ti jan ti kras sou tou de bò. Men, yo kredi yo, Apple, nan konesans mwen, pa te reyèlman fè konnen tèt yo tankou se te plis sekirite, depi w ap sèlman envite dram si ou fè ke reklamasyon, mwen ta panse. Tout dwa. San yo pa resevwa twò lwen desann ki, ki jan nou rezoud sa a? Ou gen yo achte oswa fè ou gen peye twa moun diferan yo devlope apps ou a? ou chwazi youn sou lòt la? Ki sa ki ta gide ou panse isit la ou konprann nan sa? Kareem? Nope. Yon lòt moun. ODYANS: Jis vini ak pyès ki nan konpitè. DAVID J. Malan: Vini ak pyès ki nan konpitè? Kisa w vle di? ODYANS: Pou la anviwònman. [Fèbl] DAVID J. Malan: Se konsa, ki se verite. Men, kliyan ou a, pandan se tan, ka gen iPhones, yo ka genyen android telefòn, yo ka gen tablèt fèt pa Microsoft. Se konsa, kouman ou gen yon estrateji mobil pou tout moun sa yo itilizatè diferan? Li ta sanble ke si li te koute, se pou yo di $ 1,000 fè yon iPhone aplikasyon an, li pral koute ou $ 2,000 fè yon aplikasyon iPhone ak yon Android aplikasyon, oswa $ 3,000 sipòte tou Windows aparèy kòm byen. Sa a pwobableman byen yon egzajere, epi li ta ka pa menm gen yon relasyon lineyè tankou sa. ODYANS: Si ou vle gen yon app oswa pa, ou ka gen sit entènèt reponn. DAVID J. Malan: Bon. ODYANS: Ou, ou ka gen yon app natif natal. DAVID J. Malan: Yeah. Se konsa, nan tout kontèks sa a isit la, nou ve yo te pale de sa moun ki ta rele aplikasyon natif natal. Sa se aplikasyon ki ekri nan lang natifnatal la nan aparèy sa. Se konsa, natif natal Objektif-C oswa Swift Kòd, oswa nan Java, oswa nan C #. Ki vle di lè ou download, se pou yo di Snapchat, yon aplikasyon popilè, oswa lè ou download Facebook pou yon telefòn, w ap Téléchargez swa nan vèsyon ekri pou iPhone ou, oswa ekri pou telefòn android ou a, oswa ekri pou sifas ou yo. Men, gen yon altènatif. Kòm Olivier te ou evoke, ou ka aktyèlman sèvi ak HTML 5 olye de sa, lè l sèvi avèk sa ki rele yon sit entènèt aplikasyon, annakò ak sa ou tou senpleman aplike prezans mobil ou ak nenpòt fonctionnalités. Sa mwen vle di pa mobil prezans? Fè tankou sit entènèt ou ki gen ou kontak enfòmasyon, yon lis tout pwodwi ou, petèt li gen yon makèt kabwa, petèt ou vann bagay sa yo atravè li. Kèlkeswa sa aplikasyon w lan se, ou aplike li, pa nan Objektif-C, oswa Swift, oswa Java, oswa C #, men nan HTML 5, ki te lang nan nou te nan yè, ak JavaScript ak CSS. Ak sa ki nan bèl sou moun twa se ke nan kouri yo, ou bezwen jis sa moso nan lojisyèl? ODYANS: Yon navigatè entènèt. DAVID J. Malan: Yon navigatè entènèt. Ak pi bon nan mwen konnen, tout moun sa yo aparèy vini ak navigatè entènèt, se konsa itilizatè a pa te gen enstale yon bagay espesyal. Se konsa, ou ka jis di ou odyans lan, kliyan ou a, ale nan acme.com nan ou navigatè ak ou pral jis gen yon eksperyans entènèt ki baze sou ki toujou plen ekran an, men ou pa gen enkyete sou tout nan frè sa yo ak tout bagay sa konpleksite. Men, siman gen ki pral yo dwe yon trape isit la, dwa? Espesyalman si mwen pwen soti ki ane yon koup de sa, vèsyon an trè premye nan mobil aplikasyon Facebook a te sitou yon HTML 5 aplikasyon. Apre sa, yo gen, plis dènyèman, reimplemented li nan aplikasyon pou lòt yo. Se konsa, poukisa ta ou pa imedyatman vle di, byen, evidamman nou ap ale nan fè sa? Ki sa ki ta depans sa yo kache ta dwe ye? ODYANS: Pèfòmans. DAVID J. Malan: Pèfòmans? Ki jan ou vle di? ODYANS: App a natif natal gen plis pèfòmans. DAVID J. Malan: Se konsa, se sa ki vre, pou yon koup nan rezon. Nou ka senplifye repons lan. Apre sa, sonje diskisyon nou an entèprete kont konpile lang. Sa a se HTML 5 epi ak sa, jis yo dwe klè, JavaScript souvan ekri JS-- ak CSS, yo tout entèprete lang, menm si sèlman JavaScript se yon lang programmation. Se konsa, kont sa yo, ki kèk nan sa yo yo konpile, omwen sa yo three-- Objektif-C, Java ak C # - sa yo, nan teyori, ta dwe jis pou pi vit. Men, gen nan yon lòt reyalite pou- ODYANS: fonksyonalite? DAVID J. Malan: Ki sa ki nan sa? ODYANS: fonksyonalite. DAVID J. Malan: fonksyonalite? Ki jan sa? ODYANS: Sèvi ak kamera a nan telefòn ou oswa yon bagay. Ou kapab sèvi ak moun ki gen navigatè a. DAVID J. Malan: Egzakteman. Yo ap sec-- ODYANS: [fèbl] DAVID J. Malan: Sa a yon lòt yon sèl bon. Genyen karakteristik ki vini ak telefòn mobil jodi a ki pa, pa konsepsyon, pou sekirite rezon, aksesib a navigatè entènèt. Paske li ta dwe kalite yon bagay grenpe si jis lè ou vizite google.com, oswa cnn.com, oswa nenpòt ki website.com, ki ki sou sit wèb gen pouvwa a vire sou kamera ou, pran yon foto nan ou, ak Lè sa a sèvi ak li. Men, ou pa ta vle yon sit entènèt o aza ke ou vizite pou tan an trè premye gen ki kapasite. Se konsa, sa telefòn manifaktirè tipikman fè se yo jis refize aksè ak sa yo ki kalite enfòmasyon nan yon navigatè, ki vle di ou pa ka aplike kamera a. Ou pa ka aplike notifikasyon pouse, eme yo ke ou jwenn sou ekran ou a ak mesaj kout. Ak an reyalite, menm GPS se sèlman kalite nan sòt de disponib nan navigatè entènèt. Si ou te tout tan, sou yon laptop oswa sou yon aparèy mobil, rale moute yon bagay tankou petèt cnn.com, men tou, estasyon nouvèl lokal yo gen tandans fè sa, ou ap pouse souvan avèk yon message-- foxnews.com vle konnen kote ou ye. Apwouve oswa refize. Oke, navigatè a ap eseye jwenn aksè nan enfòmasyon GPS ou a soti nan telefòn ou. Men, Erezman Microsoft, ak Apple, ak Google te deside ke santi l tankou li nan yon sitiyasyon ki itil, nou vle Google Maps ak lòt zouti nan travay, men nou pa vle ranpe moun soti pa jis pèmèt nenpòt sit entènèt fè sa. Se konsa nou sòt de satisfè mwatye ak de motive-itilizatè a. Men, sa a pa nesesèman ka a ak tout pyès ki nan konpitè, tankou kamera a ak ak pouse notifikasyon ak renmen an, se konsa ou ka gen yo touye bèt n'ap ofri karakteristik sèten. Men, pèfòmans tou. Li nan vin pi piti aparan sèjousi, petèt kòm LTE atrap sou ak pi vit vitès entènèt sou telefòn, men ou ka kalite santi diferans lan. Tankou yon aplikasyon entènèt ki baze sou jis santi l pi dousman, tipikman, pase yon aplikasyon natif natal, an pati paske yon aplikasyon entènèt ki baze sou pa definisyon se sou entènèt la. Li nan ap pale ak serveurs yo sou entènèt la. Men, si koneksyon rezo ou a se dousman, menm defile ta ka ralanti. Men, yon aplikasyon natif natal, ou gen deja pre-downloaded-- pwobableman lè ou te nan kay soti nan magazen an app, oswa ou omwen pre-telechaje li nan antye li yo pi bonè, tou sa ou koneksyon speed-- ak pou kounye a ou gen tout nan a Bits ke ou jeneralman bezwen. Eksepte petèt kèk done ki soti nan yon sèvè. Se konsa, sa yo, se komès-konpwomi isit la. Genyen kalite yon mitan konpwomi, an reyalite. E mwen panse ke you-- ODYANS: Sèvi ak offline nan done. Nan apps yo natal, ou kapab [fèbl] DAVID J. Malan: Absoliman. Se konsa, gen nan pwoblèm nan offline, ki se reyèlman anmèdan si ou pa ka jwe kèk jwèt oswa itilize kèk lojisyèl jis paske w ap nan yon sousòl yon kote oswa nan yon asansè. Yon aplikasyon natif natal se fleksib ak pi wo pwobabilite kont sa, an konsideran ou gen nan tout done ou bezwen lokalman. Se konsa, gen se yon opsyon ki twazyèm isit la. Li kite yo trase spectre an kòm natif natal app isit la ak app web isit la. Ak sa ki nan nan mitan an se yon bagay called-- e mwen panse ou ta ka genyen itilize mo a anvan, petèt? Hybrid aplikasyon. Antan pawòl Bondye a implique, li nan yon bagay nan mitan yo. Li nan kalite yon aplikasyon entènèt ak li nan kalite yon aplikasyon natif natal. Ak sa ki sa vle di? Li sanble gen frameworks-- yo sèvi ak yon tèm soti nan lojisyèl earlier-- ke lòt moun te ekri pou chak youn nan tribin sa yo. Sa yo ak ankò lòt aparèy. An reyalite, kite m 'ale nan PhoneGap, ki se youn fondasyon sa yo ki mwen kwè Adobe posede kounye a. Kite m 'ale nan Pou kòmanse. Ann wè. Gade wè si mwen ka wè yon lis ki gen zouti. Materyèl. Pou kòmanse. PhoneGap kenkayri. Ann wè. PhoneGap pyès ki nan konpitè aksè. Kite m 'wè si nou ka jwenn yon ti kras tablo ki yo te konn itilize genyen. Sa a se sou yon lòt sit la. Èske sa se itil? No Sa a pral tounen yon dezè tan nou an la. PhoneGap kenkayri. Aparèy. Aparèy API. Non, yo te te deplase li. PhoneGap. Ann al yon sèl gade pase a nan sa a ak wè si mwen kapab moutre ou la. Pou kòmanse. Enstale PhoneGap. Enstale mobil app. Vini non sou. Yo te reorganized tout bagay. Tout dwa. Oh, tout dwa. Oke, isit la nou ale. Sa a se pa tout sa ki Enstriktif, men sa a se sa m 'te kalite kap chèche. Se konsa, PhoneGap se yon fondasyon ke ou ka download pou gratis ki ba ou kèk kòd starter, esansyèlman. Se konsa, kèk kòd ki yo te ekri ki pa fè anpil nan anyen. Men, sa ki li ba ou esansyèlman se ekivalan a nan yon aplikasyon ki jis mete yon gwo rektang sou ekran itilizatè a la. Li pa mete yon bar URL, tankou yon navigatè, pa mete yon adrès. Li jis mete yon gwo rektang. Epi ou configured sa a gwo rektang, anba kapo machin lan, ki aktyèlman ale nan acme.com, oswa petèt m.acme.com, pou mobile.acme.com, men itilizatè a pa konnen yo ap nan ki adrès ou. Tout sa yo wè se nan sa nan paj wèb la. Men, sa ki nan bèl sou ke yo te sa a yon app ibrid se ke sa PhoneGap ak lòt konpayi yo ki ban nou se yo ap ban nou yon ti kras nan Kòd nan Objektif-C oswa Swift, oswa yon ti kras nan kòd nan Java, oswa yon ti kras nan Kòd nan C #, ak esansyèlman, tout sa ou dwe bay se minim nan adrès ki nan aplikasyon sit entènèt ki baze ou yo. Lè sa a, ou pake sa a tout ansanm epi ou genyen li swa aksè ou sit sou Entènèt la, oswa ou menm Cache yon lokal kopi andedan aplikasyon an, ak Lè sa a ou ekonomize aplikasyon w lan nan fòma iPhone, android telefòn fòma, fòma sifas, oswa nenpòt ki kantite lòt aparèy. Ou Upload chak nan sa yo vèsyon nan magazen an Jwe Google, nan magazen an App, nan la Windows Store, ak pou fè. Epi, koulye a, ou ka gen tout nan ou odyans download se vre wi: yon app natif natal, kwake pi fò nan kòd la te ekri pa yon lòt moun, men sa ki nan ke app natif natal tout soti nan, tipikman, pwòp sit entènèt ou. Se konsa, ou kontinye ekri sit entènèt ou nan HTML, JavaScript, ak CSS. Se konsa, poukisa bwouye liy sa yo? Poukisa gen yon aplikasyon ibrid sa a, se kalite natif natal, men tou, kalite sit entènèt ki baze? Ki sa ki nan pwen an antye nan ajoute sa a konpleksite? Mwen vle di, menm toujou, jis soti nan ensidan nan paj sa a, Comment te kòmanse gid-la santi l tankou li nan te resevwa yon anpil tout etap pou m ' fè anvan m 'can-- ODYANS: reutilizasyon? DAVID J. Malan: reutilizasyon? Kisa w vle di? ODYANS: nan kòd la sous. Se konsa, kòd a menm ta kouri sou tout tribin yo diferan. DAVID J. Malan: Yeah. ODYANS: [fèbl] DAVID J. Malan: pafè. Si tan se sere epi si ou pa gen ke anpil developers-- petèt ou gen yon sèl pwomotè ak li oswa li te sètènman pa konnen tout moun sa yo environments-- sètènman pa byen, ak sètènman pa kapab pwogram nan tout twa ansanm ak bato twa pwodwi nan tan an pèmèt pou yon sèl, ou ka gen l 'oswa li bati tout bagay nan HTML ak JavaScript ak CSS, ak Lè sa a aprann yon ti kras ti ti jan sou apps natif natal, jis ase yo download yon fondasyon tankou sa a, Lè sa a, Upload pwodwi ou a tout nan boutik sa yo app divès kalite pou ke ou kounye a gen yon aplikasyon natif natal. Se konsa, ki sanble tankou yon genyen-genyen, men ankò, yo dwe klè, ki sa yo potansyèl la depans oswa gotchas yo? ODYANS: Pèfòmans? DAVID J. Malan: Yeah. Pèfòmans. Li difisil yo dekri vèbalman. Se konsa, si ou jis pran sou lafwa yon aplikasyon mobil, yon aplikasyon web pral tipikman fè pi dousman. Li pa ta ka gade byen dwat, paske nan ifon, ak nan android telefòn, ak fenèt aparèy, gen nan toujou yon sòt de gade default epi yo santi nan tout nan la bouton ak meni yo. Ak konpayi an entènèt la, ka eseye apwoksimatif moun estetik ak bibliyotèk tankou demaraj, men user-- nan yon user-- rize ki pral konnen ke yon bagay pa byen isit la menm. Epi sa a, amann, petèt sa a, se pa yon kontra gwo. Men, pwoblèm nan pèfòmans absoliman se yon kontra gwo. aplikasyon Alaska pral gen tandans jis dwe pi plis reponn ak Se poutèt sa pi byen. Se konsa,, ki sa Lè sa a, ta ka pi bon nan tou de mond? Si ou se espesyalman yon ti konpayi oswa yon ti gwoup, ou pa gen resous yo yo devlope yon app nan paralèl sou tout twa tribin, ak franchman, santi l tankou sa a, se yon lide move de tout fason paske si ou woule li soti ak sou tout twa ansanm reyalize, nou ta dwe gen te ajoute kèk karakteristik oswa fè yon bagay yon fason diferan, kounye a ou gen fikse li nan twa kote, pa yon sèl. Ki sa ki nan petèt pi bon an estrateji isit la an jeneral, si resous ak tan yo se sere? ODYANS: Ou menm, fè li sou yo. DAVID J. Malan: Sa a pa rezonab. iPhones, omwen nan la Ameriken, yo se super popilè. Android toujou sanble li gen dominan mache pataje, globalman, an jeneral. Se konsa, ou yo pa nesesèman reprezantan nan antye a nan glòb la semèn sa a. Men, sa a absoliman yon sèl desizyon. Mwen vle di, sou lakou lekòl la isit la mwen panse kèk nimewo atròs oswa pousantaj nan étidyan gen iPhones epi yo pa android telefòn. Men, aletranje, li nan kalite opoze an. Se konsa, ou deside ki baze sou odyans ou. Ki jan ou fè konnen ki sa odyans ou a genyen? Oke, nou te aprann yon Trick yè. Ou te kapab mande yo. Si ou gen yon odyans prizonye ou ka voye yo yon fòm sondaj la. Oswa ou ta ka jis fè ki sa? ODYANS: Google Analytics? DAVID J. Malan: Ki sa ki nan sa? ODYANS: Google Analytics. DAVID J. Malan: Google Analytics. Yeah. Oswa menm plis sòt de teknikman, jis gade nan sit pwòp ou a serveurs mòso bwa. Paske sa k ap pase chak fwa yon navigatè, si wi ou non laptop, Desktop oswa telefòn ale sou sit wèb ou a? Yo voye ki header HTTP ki montre ou sa navigatè ak OS yo ap lè l sèvi avèk. Se konsa, ou ka dégager, ak gwo pwobablite, sa demografik ou ap itilize ap itilize fason sa a ak Lè sa a ajiste. Se konsa, ta kwè sa a, se akseptab. Sa a sòt de move pou biznis si Android itilizatè pa ka achte widgets nou an. ODYANS: Si ou se pral chaje oswa ou pa? DAVID J. Malan: Si w ap ale nan chaje? Se konsa, OK, ou jwenn sa ou peye pou. ODYANS: Si app ou se pral dwe gratis oswa si li nan gonna-- DAVID J. Malan: OK. Se konsa, petèt, ou te kapab recouvre depans fason sa a, or--? ODYANS: mwen li yon etid yon fwa ki t'ap di: plis Apple itilizatè peye pou apps versus-- DAVID J. Malan: Sa a vre paske yo ap deja peye plis pou aparèy yo. Se konsa, pa rezonab yon sipozisyon. ODYANS: [fèbl] DAVID J. Malan: OK. Se konsa, si yo ap plis vle peye, Lè sa a, kote mò yo ye ak itilizatè yo android. Yo pa ap ale nan peye nou anyen de tout fason. Nou ta ka kòm byen konsantre priyorite nou an, omwen pou premye mwa yo kèk oubyen nan yon ane, sou yo. Totalman rezonab. Ki sa ki nan yon pi plis enklizif estrateji pase sa? Maybe-- sa ki nan sa? ODYANS: [fèbl] DAVID J. Malan: Yon expensive-- plis Se konsa, petèt envesti plis in-- ale pi devan. ODYANS: Yeah. Jis yon sit entènèt mobil. DAVID J. Malan: Se konsa, fè yon mobil sou sit wèb ak pa menm enkyete sou sa a konpleksite. Oswa petèt yon estrateji rezonab, ki menm Facebook te pran, se kòmanse ak yon ibrid aplikasyon paske li pa ke anpil pi rèd fè sa a pase sa a. Ou jis bezwen li kèk dokiman ak figi konnen kouman Upload bagay sa yo magazen an app. Se konsa, petèt ou kòmanse ak sa a, se konsa ke nan jou yon sèl, ou kapab sipòte tout nan itilizatè ou yo. Lè sa a,, jis renmen Facebook ak lòt konpayi te fè, lè ou gen resous yo, ou gen pèp la, poukisa ou pa re-aplike jis aplikasyon an iOS. Ou toujou gen yon bagay pou tout moun, menm si li nan yon eksperyans enferyè petèt, ak aplikasyon an ibrid. Men, ou ka piti piti woule soti epi ranplase kout tèm ou mezi nan apps yo ibrid ak aplikasyon pou plis natif natal ou. ODYANS: Men, avèk yon app ibrid ou ap gen aksè a karakteristik mobil? DAVID J. Malan: Pa nesesèman. Se konsa, petèt ou fè yon konsyan desizyon byen bonè nan, ou ka sèlman Upload foto sou mòn lan aplikasyon iPhone natif natal pou Facebook, men se pa sou aplikasyon an android, okòmansman, pou egzanp. Epi sa a, yon ti jan nan yon manti blan paske aplikasyon pou entènèt gen plis restriksyon pase aplikasyon ibrid li vire soti, epi si nou li dokiman an pou PhoneGap ak bagay sa yo tankou li, moun ki te vini ak fason bay aplikasyon pou entènèt ki baze aksè a kamera a, toutotan w ap itilize yon aplikasyon ibrid. Ki jan ki travay? Paske ibrid an aplikasyon, pa definisyon, gen yon ti jan nan kòd nan Objektif-C, ak Swift, ak Java, oswa nan C #, li kapab jwenn aksè pyès ki nan konpitè. Pa nesesèman tout bagay, men li ta ka trè byen ka a ke ou gen ase aksè a jwenn kamera a, menm pou android tribin, pou egzanp, nan ki egzanp parvenus. Nenpòt lòt kesyon? Tout dwa. Poukisa nou pa nou pran nou an 15 minit repo isit la. Nou pral rezime nan twa ak yon final gade nan pwogram entènèt, baz done, ak JavaScript.