DAVID J. Malan: Pra, ne jemi kthyer. Pra, të nivelit të lartë Tema në këtë moment tani është oxhaqet teknologji, e cila nuk është e një term të veçantë teknike, kjo është më shumë një kapur të gjitha për çdo numri i kombinimeve të teknologjive të që ju mund të përdorni për të zgjidhur problemet. Dhe ndoshta më e Mënyra e përshtatshme për të filluar do të jetë për të parë në gjuhët që Unë mbaj vrullshëm off një bandë e tërë dhe më të gjithë në dhomën e ka ndoshta dëgjuar për të paktën një. Dhe kështu që pse të mos përpiqemi për të dalluar what-- dalluar këto gjuhë dhe të flasim shkurtimisht për kur ju do të zgjidhni një lidhje të tjera, se si ata janë të lloj krejtësisht të ndryshme, dhe sidomos kur ju jeni të biseduar me inxhinierë, ose duke u përpjekur për të vendosur se kë të punësuar, apo çfarë zbatimin Propozimi për Greenlight, si ju në të vërtetë do të bëjë këto lloje të vendimeve. Pra, le të vetëm të nxjerr nga goja disa gjëra off. Nga gjuhët e njerëzve kanë dëgjuar për, ajo që vjen në mendje? C. OK. OK, C ++. Cfare eshte kjo? AUDIENCA: Python. DAVID J. Malan: Python. I shkelqyer. Çfarë tjetër? Visual Basic. Kam dëgjuar Java. Visual Basic-- alias VB. Java. NET, e cila është më shumë një kapur të gjitha për atë që është zakonisht C # si gjuhë në fjalë. Dhe më lejoni të përmend se. Pra, ne do të kthehen në atë. Më vjen keq? Na vjen keq? AUDIENCA: SQL. DAVID J. Malan: Scratch? AUDIENCA: SQL. DAVID J. Malan: Oh, SQL. NE RREGULL. SQL. Pra, ne do të kthehen në that-- fakt, kjo është good-- pas pushim si. Çfarë tjetër? AUDIENCA: Oracle. DAVID J. Malan: Pra, Oracle, jo një gjuhë. Në fakt ata do të përdorin SQL si. Pra, le të vënë që pas pushim si. Dhe të vjen keq, diçka këtu? AUDIENCA: Mathematica. DAVID J. Malan: Mathematica? OK, i sigurt. Dhe MATLAB është lloj i atje ndonjëherë. AUDIENCA: R. DAVID J. Malan: R. Le të shkojë mbi këtu. Fortran. Sigurt. shkollë më të vjetër. Fortran. COBOL. Unë do të hedh jashtë BASIC. BASIC. Any-- AUDIENCA: MATLAB? DAVID J. Malan: MATLAB. Oh, mundi të saj. Çdo gjë? Unë mund të mendoj për një çift të tjerëve. Unë mund të mendoj për disa të tjerë. Dhe çfarë ishte e fundit? AUDIENCA: ASP. DAVID J. Malan: ASP? Po. Active Server Pages. Që në përgjithësi do të bien nën gjuhë të tjera, ndonjëherë C #, kështu që le të lërë atë off. Por ne do të kthehen në atë për kornizat dhe të tilla. Ndonje gje tjeter? PHP është e popullarizuar. Ruby është një tjetër. JavaScript, nuk duhet të ngatërrohet me Java, është një tjetër. Kjo është lloj i një shumë. Pra, ajo mund të jetë me siguri e madhe, si në qoftë se lista nuk është tashmë, vetëm për të fillojnë të dinë se ku të fillojë. Dhe kështu për fat të mirë, le të qasen këtë nga disa kënde pak. Së pari, le të përpiqemi për të kategorizojnë të paktën disa prej këtyre gjuhëve në dy kova të gjera, të kujton biseda kemi pasur para pushimit, ku kemi biseduar për hartimin, dhe kodin burim, dhe kodin makine, sepse kjo nuk është si të gjitha gjuhët punë. Pra, ne do të çrrënjos disa shembuj of-- ose kundër-examples-- për këtë model. Dhe pastaj, pse nuk e bëjmë ne flasim për aplikimet se këtyre gjuhëve janë përdorur zakonisht për të. Dhe sinqerisht, edhe pse kjo është një listë shumë e gjatë, kjo është vetëm një mesin e kësaj liste që ju zakonisht do të tërheqë nga këto ditë për të zgjidhur problemet. Disa gjuhë janë më të reja se sa të tjerët. Disa gjuhë janë më popullore se të tjerët. Pra, kjo nuk është si ju keni të tillë një detyrë e madhe para jush kur të vendoset në mesin e këto gjuhë të ndryshme. Pra, le ta bëjmë këtë. Ne kemi pasur më herët, kod burim, dhe pastaj kemi pasur kod makine. Uh. Shkrimi fjalën e gabuar. Kodi Machine. Dhe ne kishim një proces në mesme called-- yeah, përpiluesit. Pra, përpiluesit. Dhe çfarë kodin e makinës në fakt shkon në në fund do të jetë CPU tuaj aktuale. Me fjalë të tjera, me kodin e makinës, I do të thotë udhëzimet e nivelit më të ulët se një CPU të vërtetë e kupton. Përveç kësaj, zbritje, veprim, shpëtuar, dhe operacionet si kjo. Dhe kështu që ky është modeli për atë që është e përgjithësisht i njohur si gjuhë të përpiluara. Ndoshta jo çuditërisht. Pra, kjo është modeli për gjuhë të hartuar. Por kjo rezulton se ka një klasë e gjuhëve quajtur interpretuar languages-- interpretuar languages-- që janë pak të ndryshme. Ju shkruani në kodin e burimit, të drejtuar ata me anë të përkthyesit, dhe se përkthyesi është ajo shkon në CPU. Me fjalë të tjera, ajo që ju nuk e bëni emetoj është ajo, me sa duket? Kodi Machine. Të zero dhe ato që CPU vetë në fund të fundit e kupton. Pra, në këtë version e parë dhe gjuhë si C, siç e pamë, ju shkruani në kodin e burimit kjo është një misterioze pak, por të paktën kjo është lloj i English-si dhe kjo është të paktën i lexueshëm sapo ju të mësohen me të. Ju drejtuar atë nëpërmjet një përpilues dhe jashtë ju merrni, në fund të fundit, zero dhe ato. Se një oversimplification. Ka disa hapa të tjera në atje. Në fakt, në qoftë se ju keni dëgjuar ndonjëherë termi "gjuha kuvendi" kjo është një hap para e zero dhe ato. Se pak më i lexueshëm, por ende mjaft misterioze. Dhe kështu që nuk ka hapa të ndërmjetme që janë, në fakt, ndodh këtu. Por prodhimi, në fund të fundit, Janë këto zero dhe ato. Por në interpretohet bota, ku ju keni gjuhë që janë interpretuar gjuhë, ju në të vërtetë të kaloni këtë hap. Me fjalë të tjera, kur ju shkruani një program, ju vetëm menjëherë të drejtuar atë. Ju nuk përpilojnë atë dhe pastaj të drejtuar atë, siç kam bërë më parë. Ju vetëm të shkruar atë dhe drejtuar atë. Dhe në qoftë se ju doni të bëni një ndryshim të shpejtë, ju bëni një ndryshim të shpejtë dhe përsëritje atë. Pra, nuk ka asnjë hap të mesme këtu. Tani, për programin e kam shkruar më parë, e cila ishte ky program "Hello World", Ju mund të arsyeshme wonder-- ose me arsye fuqi state-- se nuk ishte në atë kohë konsumojnë për të hartuar programin tim. Kjo duket të ketë bërë atë vetëm si kjo. Dhe nuk ka grafike versionet e hartuesit. Unë jam duke përdorur një version shumë misterioze, por ju mund të goditur një buton të luajë dhe që në fakt do të bëjë hartimi për ju. Unë kam hartuar programin dhe pastaj përsëri, për të drejtuar atë, unë vetëm të bëjë këtë. Dhe kjo nxjerr në të majtë atje, "Hello!" Kjo nuk duket të gjitha që vështirë. Por, kur programet tuaja janë më shumë se vetëm një, dy, tre, katër, pesë rreshta të gjatë, ajo mund të marrin sekonda më shumë për të hartuar. Ndonjëherë edhe minuta ose mjaft kohë për të hartuar. Në fund të fundit, disa nga Produktet më të mëdha botërore janë gjëra të tilla si sistemet operative, Microsoft Word, Microsoft Excel, e cila mund të jetë qindra e mijëra apo edhe miliona rreshta të kodit të gjata, dhe ata që nuk e bëjnë vetëm menjëherë ekzekutuar. Për më tepër, në internet, është e bërë në modë për të përdorur gjuhë thjesht interpretuar, pjesërisht për shkak se ju mund të bëjë një ndryshim si zhvilluesi i dhe vetëm pastaj menjëherë të reload faqja e shfletuesit dhe të menjëherë të shohim rezultatin. Dhe kështu HTML, duke mos një gjuhë programimi, është një gjuhë që është interpretuar. Dhe ne pamë që të njëjtën fuqi dje. Ju vetëm rifreskoni faqen, pasi duke e bërë një ndryshim në Cloud9 and-- voila-- ju shihni një rezultat të ri. Pra, çfarë është dallimi këtu? Në HTML, kujtojnë, kemi pasur HTML të hapur, Kreu i hapur, titulli i hapur, titulli afër, Kreu i ngushtë, trupi i hapur, e kështu me radhë. Ne kishim të gjitha këto tags që ne mjaft më tha, them shfletuesit se çfarë të bëjë. Hey shfletues, këtu vjen një faqe HTML. Hey shfletues, këtu vjen titullin. Hey shfletues, këtu vjen një Teksti që duhet të jetë i guximshëm. Dhe pastaj ju tregoni të kundërtën. Hey shfletues, kjo është ajo për tekst bold fytyrë. Hey shfletues, kjo është ajo për trupin. Dhe kështu me radhë. Dhe kështu që ajo është një shfletues? Një shfletues është vetëm një përkthyes. Kjo është një program që dikush si Microsoft ose Google ka shkruar, qëllimi i të cilit në jetë është që të lexuar një gjuhë, e njohur si HTML, dhe interpretuar atë. Top deri në fund, e majta në të djathtë. Dhe çdo herë që shfletuesi sheh të hapur kllapa, titulli, simboli i ngushtë, duhet interpretuar se si kuptim, oh, që do të thotë unë duhet të vënë këto fjalë mënyrë deri këtu në krye të shfletuesit. Pra, ai thjesht e bën atë që thotë Kodi HTML. Por ka asnjë zero dhe ato. Nuk ka hartimi. Ju nuk e keni bërë atë. Shfletuesi nuk e ka bërë atë. Kjo thjesht nuk është përfshirë. Pra, në frymën e tyre të vazhdueshme tema, sot dhe dje, që duket të jetë një tipar i mrekullueshëm. Ju ruani kodin tuaj dhe pastaj vetëm të drejtuar atë apo interpretuar atë. Nuk ka hapa të ndërmjetëm. Me siguri ka një kosto? nuk mund të jetë upsides. Pra, çfarë mund të jetë kjo kosto? AUDIENCA: Space. DAVID J. Malan: Space. Pra, të sigurt. Në botën përpiluar, ju keni jo vetëm kodin burim origjinal, ju jeni gjithashtu duke krijuar dhe pastaj me sa duket për të shpëtuar makinë code-- zero dhe ones-- dhe kjo është marrë për të marrë deri disa sasinë e hapësirës. Absolutisht. Pra, kjo është ju kushton më shumë hapësirë. Po? Audienca: Browsers fuqisë interpretojnë ndryshe. DAVID J. Malan: Browsers mund interpretojnë ndryshe. Kjo eshte e vertete. Por unë nuk jam i sigurt se unë jam të rehatshme duke pretenduar kjo është për shkak se ajo është interpretuar. Kjo është më vetëm për shkak se është një zbatim i një gjuhe që në vetvete ka paqartësi. Pra, le të mos mjaft të konfirmuar se një, por fetë e mirë. Çfarë tjetër mund të jetë çmimi i paguar? Andrew? AUDIENCA: Ju jeni duke kombinuar dy hapa, në mënyrë që ju, pra, kanë rritur kompleksitetin si. DAVID J. Malan: The complex-- rritja e kompleksitetit, ku? Për kë? AUDIENCA: Pra, në përkthyes hap, ju jeni duke kombinuar përkthyes dhe përpilues për vetëm shpie deri to-- DAVID J. Malan: Ah, OK. Ironikisht, kjo është ndoshta pak thjeshtë për të zbatuar përkthyes, edhe pse kjo do të duket të upsides jepnin të këtij komoditet. Pra, ndoshta e vërtetë. Por kjo lloj varet, I do të thotë, në gjuhën dhe se si ata shkuan në lidhje me zbatimin e tij. Nuk mund të jetë shumë më tepër kompleksitet, në fakt, në përpilues, vetëm për shkak se ju duhet të shkoni nga Të nivelit të lartë diçka kaq diçka kështu që të nivelit të ulët. Por një mendim i mirë. Pra, thënë ndryshe, një program i hartuar, Kur u kthye në këto zero dhe ato, përfundon në gjuhën se CPU flet, ndërsa në këtë anë e Bota, programi që ju keni shkruar, kodi që ju keni shkruar, në fakt nuk merr konvertohet në gjuhën aktuale kompjuter flet. Të zero dhe ato. Ajo qëndron në origjinal, më njerëzore miqësore, gjuha më i lexueshëm. Pra, çfarë mund të jetë implikimi atje, nëse ju nuk aktualisht shqetësojë konvertimin tuaj program për gjuhën shumë që kompjuteri themelore flet? AUDIENCA: Nuk Mund kuptoni diçka? DAVID J. Malan: Mund nuk e kuptoni diçka. Dhe kjo mund të claim-- në qoftë se ajo nuk e ka kuptuar diçka, kjo është një bug ose mungesa të shfaqë në përkthyes. Kështu që do të ishte më i një gabim shumë se një kosto. AUDIENCA: Ju keni qasje të kodit burim? DAVID J. Malan: Nuk është një e mirë. Pra, një downside këtu është që ju duket se kanë qasje. Ju, përdorues në fund, mund të duket për të kanë qasje në kodin burimor. Dhe kjo nuk është gjithmonë e vërtetë. Por kjo është e vërtetë në Rasti i JavaScript, të cilat ne do të shikojmë pas pushim sot, e cila është një gjuhë programimi interpretuar që ju të shkruani në kodin burimor. Por kodi burim merr transferuar nga serveri juaj të shfletuesit dhe shkon në shfletuesin e njeriut. Kështu që këtu ajo mund vetëm të hapur dritare, si unë kam qenë duke bërë në Chrome, dhe të kërkoni në atë, si ne veten lëshoi ​​në dje me Google. Kjo mund të duket pak e pakuptueshme, por ajo është atje. Pra, kjo është absolutisht një çmimi i paguar. AUDIENCA: hit Performance? DAVID J. Malan: Po. Dhe kjo është biggie tjera. Ka një hit të performancës. Për shkak se ju e keni këtë njeri e mesme, e cila në vetvete është një program, mes jush dhe CPU, në krahasim të vetëm të ushqyer këto para zero dhe ato në CPU, ka një hit të performancës që ju marrë me një gjuhë të interpretuar. Tillë që, arbitrarisht, nje program që mund të marrë një të dytë për të kandiduar në një kompjuter ose një minuta për të kandiduar në një kompjuter këtu, mund të marrë 10 sekonda ose 10 minuta për të kandiduar në një kompjuter këtu. Kjo në përgjithësi nuk do të jetë se një faktor shumë difference-- të 10-- sepse nuk ka optimizations ju mund të bëni. Por kjo është pothuajse gjithmonë më ngadalë. Tani, në anën rrokullisje për këtë shqetësim është se, edhe kompjuterët, çdo 12 në 18 months-- sipas Ligji i Moore, në mënyrë që të speak-- janë vetëm duke marrë më të shpejtë dhe më të shpejtë. Unë kam gjithnjë e më shumë hapësirë ​​në disk. Unë kam më shumë dhe më shumë RAM. Që me të vërtetë kujdeset? Dhe kjo është lloj i një Argumenti arsyeshme. Në të vërtetë, një nga arsyet pse ne mund të tolerojmë më ngadalë interpretuar gjuhë është për shkak se ne njerëzit vërtetë nuk vërejnë. Kompjuterët kanë marrë vetëm në mënyrë të mallkuar të shpejtë. Ndërsa mbrapa në ditë, në veçanti kur hardware është shumë më e kufizuar, keni pasur më pak për çdo gjë, ajo ishte shumë më e shtrenjtë kështu që çdo gjë të kushtojë më shumë, edhe atëherë ju me të vërtetë të kërkuar për të shtrydh sa më shumë të performancës si ju mund. Por kjo kërkohet me shkrim në një nivel më të ulët, nëse do, me një gjuhë të hartuar. Pra, ju bëni të marrë këtë hit të performancës. Por në përgjithësi, e upsides duket të jetë me vlerë atë këto ditë. E pra, me përjashtim të Çështja e pronës intelektuale. Kjo lloj lexueshmëri i kodit, ne do të kthehen për të, kur ne shikojmë në JavaScript. Pra, le të përpiqemi për të kategorizojnë të paktën disa nga këto. Pra, në mesin e gjuhëve të përpiluara, ne do të ketë C, C ++, kinda, sorta, Java, edhe pse ajo është pak e një përjashtim, për arsye unë do të ju tregojnë se në një moment të vetëm. C # do të jetë në këtë listë. Ne do të shikojmë më shumë në vetëm gjuhët më moderne. Në rregull. Dhe kjo duket si shumë atje. Ndërsa nga kjo anë e gardhit, ne mund të kemi JavaScript, dhe Python, dhe PHP, dhe Ruby. Dhe është kjo e mjaftueshme për ato më të fundit? Se ndjehet si shumë tani për tani. NE RREGULL. Dhe pastaj dot dot dot, pasi lista është e pafund. Dhe në fakt, në qoftë se ne duam të vetëm marrë një kuptim të this-- Wikipedia, languages ​​hartuar. Unë jam guessing ne mund të merrni një lista shumë më e plotë. Pra, këtu ne do të shkojmë. Kështu që këtu është një listë shumë më të plotë. Dhe unë isha duke shpresuar se dikush do të mendoj D si një gjuhë për shkak se shumë ekziston, por ata ndaluan në D do të duket. Edhe pse ka në fakt mund të jetë një E. Oh, në të vërtetë, kjo duhet të të jetë në listën e këto ditë. Swift është në fakt një gjuhë që Apple shpikur që përdoret tani, gjithnjë e më shumë kështu, në zhvillimin e iPhone. Por ne do të kthehen në se me diskutimin tonë e celular në vetëm pak si. Pra Swift si. Dhe pastaj në rast se shkojmë në interpretuar language-- interpretuar language-- atëherë këtu është një listë edhe më të gjatë si. Pra, nëse ju vetëm google dhe shikoni në Wikipedia për këto, ju do të shihni të gjitha llojet e gjuhëve. Por qëllimi është, për sot me të vërtetë, vetëm boils poshtë për të ndoshta kjo Çështja e pronës intelektuale dhe lexueshmëri nga përdoruesit fund dhe për të performancës, është një tjetër biggie si. Pra, në mesin e këtyre gjuhëve, më lejoni të shohim nëse ne mund të ju jap vetëm disa mostër e gjuhëve. Ne nuk duam të kalojnë nëpër të gjitha gjuhët e pafund. A keni menduar ndonjëherë se çfarë është një Gjuha e sigurt duket si? Ne e bëmë të shohim një moment më parë. Pse nuk kemi marrë një çift e funksion të kërkesave. Që do të donte për të parë se çfarë gjuhë tjetër duket si? Po. AUDIENCA: Java. DAVID J. Malan: Java. Në rregull. Pra, le të shkojnë në Java. Dhe vetëm për të ju jap një sample-- ne mund të shkruaj të gjitha këto jashtë, por do të ishte më i shpejtë vetëm për të shikoni në kodin mostër e dikujt tjetër. Në rregull. Pra, është ky një shembull i mirë? Uh. NE RREGULL. Kështu që këtu është versioni Java e Programi i kam shkruar më parë, "Hello World". Pra Java, ju do të shpesh shih "klasë". fjalen Pastaj ju do të shihni një emër pas kësaj. Ju do të shihni formatimin e teksteve kaçurrel si e pamë më parë, dhe ndonjëherë ata të shkojnë në anën njëjtën linjë, linja herë të tjera, kjo është lloj i një vendim personal. Ju do të shihni fjalë kyçe si "Publike", "statike", "pavlefshme." Por, ne e bëmë të parë "kryesore". "Main" është përgjithësisht emri i funksionit parazgjedhur ose copë mungesë të kodit që merr të kandidojë në një program. "String". Çfarë donte të kuptojmë me string më parë? I përdorur atë lloj rastësisht. Një varg është ajo? Një fjalë. Është si një sekuencë të karaktereve. karaktere individuale, kthehet në të kthyer prapa, zakonisht në një grup, siç kemi diskutuar. Dhe në fakt, shikoni këtë sintaksë këtu, të dy kllapa katrore? Kjo do të thotë, hej kompjuter, këtu vjen një grup të strings. Kllapa katrore simbol është përdoret zakonisht për të treguar se. Dhe pastaj ju mund ndoshta të marrë një guess-- atë e bën këtë të theksuar copë e kodit ndoshta të bëjë? AUDIENCA: Prodhimi? DAVID J. Malan: Po. Ajo printon diçka në ekran. Pra, "sistemi" është një lloj i një referencë në kompjuterin tuaj. "Out" do të thotë kompjuteri juaj të prodhimit ose ekran. Pra, "ln Sistem" ndoshta do të thotë? "Ln." linjës Print cilat programuesit si me sa duket përcaktuar disa fjalë nga në tërësinë e tyre dhe të marrin shortcuts me fjalë të tjera. Por "ln" është linjë, kështu që linja të shtypura. Pra, ajo kopje nga "Përshëndetje Bota! "E ndjekur nga një linjë të re. Pra, kjo është ajo. Por Java është ajo që ata do të Thirrja object-oriented. Dhe me të vërtetë, vetëm për të dhënë një Disa përkufizime të tjera atje se ju mund të parë, në përgjithësi, ka shumë lloje të ndryshme të gjuhë, por më të zakonshme janë gjuhë procedurale ose imperativ. Nuk janë funksionale gjuhë, e cila nuk do të thotë se të tjerët janë jo funksionale. Dhe pastaj nuk ka object-oriented gjuhë. Dhe kjo është ndoshta më e mirë kategorizimin e shumicën e gjuhëve që ju do të zgjidhni ndonjëherë për lloj e një projekti tipike komerciale. Kjo do të jetë shumë e, Unë mendoj se, vrima e një miu të për të shkuar poshtë, në përpjekje për të shpjeguar dallimet e ndryshme. Por gjuhët ne kemi parë në këtë mënyrë far-- C është një procedurale apo gjuha e domosdoshme. shpikur kohët e fundit Gjuhë të priren të jenë, sorry, orientuar në objekte, që do të thotë ata kanë karakteristika të tjera të tyre. A mund të shpjegojë në këtë mënyrë? Le të mos shkojnë edhe atje poshtë. Object-oriented do të thotë ju mund të implement-- ju mund të modeluar botën reale pak më shumë në mënyrë efektive. Njerëzimi, me kalimin e kohës, ka motive nga, wow, do të ishte mirë nëse gjuhën time kishte këtë funksion apo atë funksion. Dhe kjo është arsyeja pse ne kemi kaq shumë gjuhë në botë. njerëz të arsyeshëm, i zgjuar njerëzit, pajtohen apo nuk pajtohen dhe pa ndryshim lloj të vijnë së bashku në zhvillimin e gjuhëve të reja të gjithë së bashku. Rasti në pikën. Apple shpikur Swift në shpresat e me sa duket uljes bar për zhvillimin e iPhone, sepse language-- mëparshëm quajtur Objective-C, e cila mund të të jetë në listën tonë here-- ishte shumë më misterioze dhe shumë më e vështirë për të përfunduar një mendje rreth. Dhe si e programimit po bëhet ndoshta më të kapshëm dhe më gjerë miratuar nga njerëzit edhe më pak teknike, goal-- kjo është një objektiv shumë trim që të përpiqen për ulur pengesë për hyrje duke e bërë gjuhët vetë më e lehtë për të filluar me të, por jo më pak e fuqishme domosdoshmërisht. Dhe një gjuhë tjetër. Pse nuk kemi marrë një sy në diçka si Python, e cila është shumë në modë këto ditë. Python. program mostër. Le të shohim. "Hello World" gjuhë. Le ta bejme kete. "Përshendetje Botë." Le të shohim nëse kjo i jep ne një shembull i mirë. NE RREGULL. Pra, kjo është në fakt lloj i fun. Pra, nëse ju ndonjëherë google "Hello World", e cila ndodh të jetë një nga programet e para shkruar ndonjëherë në një gjuhë moderne, vetëm si një dëshmi e konceptit, ju mund të shihni të gjitha llojet e Implementimi i kësaj. Disa prej këtyre gjuhëve Unë nuk e kam dëgjuar edhe të. Por ju mund të see-- le të shkojnë në Basic, ai kam mësuar vite më parë, pjesërisht. Kjo ishte një gjuhë e fun, sepse ju kishte për të, si programues, numri i të gjitha linjat tuaja. Jo ndryshe nga ajo që unë kam qenë duke bërë, kur unë shkruaja pseudocode në dokumentin e verdhë herët për kërkimin binar, për të kërkuar një libër telefoni. Dhe kështu, nëse do të donit për të shkuar në një tjetër linjë, ju fjalë për fjalë do të shkruani, shkojnë në 10, ose të shkojnë në 20. Dhe në qoftë se ju jeni me shkrim linjave, të Konventa ishte për të bërë, kjo është line 10, kjo është linjë e 20, kjo është linjë 30, 40, me asgjë në mes, duke i dhënë vetes disa dhoma në qoftë se ju vendosni, prit një minutë, Unë duhet të ketë shtuar disa code shumë diku. Ju ende kishte lloj nëntë shanse për shtrydh se në mes programin tuaj para se të kishte në dorë rinumëroj gjithçka. Pra, kjo është lloj i asaj që dua të them kur them se bota ka dalë me një karakteristika të reja. Diku përgjatë rrugës së dikujt realizuar, djali kjo është budalla. Kjo është vetëm duke krijuar punojnë për programues. Kështu që ai ose ajo vetëm lloji i ndërtuar një shtresë të re në krye të kësaj kështu që ju nuk keni për t'u shqetësuar në lidhje me çfarë numrat e linjës kodin tuaj është në fakt në. Pra, kur mund të ju zgjidhni një gjuhë ose në një tjetër? E pra, cilën nga këto Gjuhë të bëni ju kanë tendencë për të dëgjuar për më në vetë botën tuaj këto ditë? Le të bjerë poshtë Objektivi-C too. AUDIENCA: C #. DAVID J. Malan: C #. Pra më lejoni të ngjyra. A kemi ngjyrën tonë të tjera diku? Pra, C #. Dhe çfarë ju e dini në lidhje me C #? pranverë Çdo gjë në mendje? AUDIENCA: Kjo është një gjuhë programimi. DAVID J. Malan: Kjo është një gjuhë programimi. NE RREGULL. Kjo eshte e vertete. Pra, ne jemi duke folur për C #. C # ka tendencë për t'u përdorur në mjediset e Windows, kështu që nëse ju jeni me shkrim software Microsoft për Windows, C # është përdorur shumë shpesh, nëse kjo është për software desktop, ose edhe software e telefonit në telefonat Windows, në qoftë se ju keni pasur ato, ose në web edhe shumë. Dhe në fakt, ndoshta Kareem përmendur ASP më parë? Pra, ka edhe këto gjëra quajtur kornizat, të cilat ne mund të futur nga extension. Kornizat, si ASP. Qëndron për faqet aktive server. Dhe kjo është kod dhe një mënyrë e programimit që në përgjithësi e bën më të lehtë për të shkruar web aplikacione të bazuara. Me fjalë të tjera, ajo do të jetë super, super bezdisshëm për të shkruar një faqe interneti në gjuhën C se ne kemi parë më parë, për shkak se ju do të duhet të përdorin të shtypura + F, ju do të duhet të përdorin atë fjalë "Kryesore" dhe formatimin e teksteve kaçurrel. Një shumë e sintaksës misterioze dhe qasje për të zbatuar diçka që është mjaft komplekse. Një web faqe. Dhe kështu gjuhë të tjera kanë evoluar për të bërë gjëra të tilla më të lehtë. Dhe nga ana tjetër, njerëzit kanë dalë me kornizat, lloj të mjeteve që ju mund të përdorni që e bëjnë atë edhe më e lehtë për të shkruar faqet e internetit. Kështu për shembull, për të bërë kjo konkrete shumë më tepër, më lejoni të hapur vetëm një file teksti për një moment. Dhe ju mund të kujtojnë dje kemi thënë diçka si, kjo është një faqe web. HTML. Mbylle HTML. Më lejoni të kaloni kokën dhe vetëm të bëjë trupin këtu. Le të supozojmë se unë të kërkuar për shkruaj jo "Hello World" por "Përshëndetje David", ku David është emri i regjistruar aktualisht në përdorues. Çfarë diçka si ASP do të bëjë, apo JSP-- e cila është Java server pages-- ose çdo numër të kornizave të tjera është se ata nuk janë gjuhë, në vetvete. Ata janë vetëm si software shtesë që ju do të instaluar në mjedisin tuaj që vetëm të bëjë më të lehtë për të programit. Kështu për shembull, në vend që duhet të bëni diçka si "Hello, printf (" Davidit ")" ose diçka që është lloj i bashkë-mingling-- lloji i kodit ne kemi parë më herët, ju do të bëni diçka shumë të thjeshtë, si "emri%." Dhe kështu këto korniza, si ASP-- dhe unë nuk e mbaj mend, nëse unë jam marrë sintaksa vetëm e drejtë për ASP. JSP është një little-- është kjo e drejtë? Pra, me ASP, kjo është lloj i një sintaksë të veçantë se disa zhvilluesve kanë vendosur kjo mund të ndihmuar njerëzit. Dhe unë mund të shprehë më shumë shkurtimisht placeholders, për shembull. Ashtu si të vënë një vlerë këtu, ku ky punes vlera nuk eshte N-A-M-E, kjo është një vlerë e ruajtur në atje. Pra, "emri", në këtë kontekst, ne do të thërrasë një ndryshore. Algjebra ka variabla si x dhe y, dhe Z. Programmers përdorur variablave që janë më shumë përshkrues se x, y dhe z, zakonisht. Pra, "emri" do të vërtetë të jetë një lloj e enë kujtesës për diçka si D-A-V-I-D, në emrin tim, ose kushdo tjetër është regjistruar në faqen e internetit. Dhe kështu që kjo është lloj lehtësi ju merrni me mjedise të caktuara. Pra, C # dhe diçka si ASP do shumë zakonisht të përdoret në një botë e Windows, qoftë për desktop saj software ose web server, sidomos nëse serverat tuaj janë nga ana e tij running Microsoft Windows dhe Microsoft IIS-- ose Internet Information Server, në qoftë se unë të marrë akronimin right-- e cila është web server Microsoft. Pra, çfarë gjuhë të tjera janë folks të njohur me, ose a keni dëgjuar për më shpesh sesa jo? AUDIENCA: Unë e di se Python-së lloj i një popullor [padëgjueshme]. DAVID J. Malan: Shumë popullor. Kështu Python këtu është përdorur shumë shpesh në aplikime shkencore ose të dhëna shkenca, ku ju keni një shumë e të dhënave që ju dëshironi për të analizuar dhe ju doni të përdorni një gjuhë programimi për të. R zakonisht mund të përdoret për këtë si dhe, në një kontekst statistikor. Por Python ka kaq shumë karakteristika të ndërtuar në. Pra, shumë shtesë bibliotekat, si njerëzit thonë. Bibliotekat janë vetëm koleksione e kodit që njerëzit e tjerë shkroi se ju mund të përdorni në mënyrë që ju nuk duhet të reinvent rrota ato. Dhe kështu Python është shumë i zakonshëm të përdorura në aplikimet e të dhënave shkencore. Por është gjithashtu shumë i zakonshëm të përdorura në aplikimet web. Ju mund të zbatojë një dinamikë Faqja e internetit duke përdorur Python. Dhe nga faqen dinamik, I do të thotë përmbajtje jo vetëm statike si kemi krijuar dje, nga vetëm e vështirë kodim në tekstin latin dhe gjëra të tjera të tilla, por aftësia të identifikohesh, aftësia për të blerë diçka, aftësia për të kontrolluar nga me karroca tuaja tregtare, apo të tjera si këto. Të gjitha që kërkon dinamizëm dhe ju nevojë për disa gjuhë si një nga këto. AUDIENCA: Pra, ka Python kanë vet extension, të ngjashme me si [padëgjueshme] DAVID J. Malan: Ai e bën. Pra, në botën e Python, Django është një kuadër shumë i popullarizuar për Python. WSGI është një tjetër mekanizëm që është lloj i ndryshëm nga kjo por e ngjashme në shpirt. Kjo është një add-on që ju lejon për të kandiduar kodin Python në një server. Ka other-- po. Pra, këto ne do të thërrasë kornizat. Dhe kjo është pak e një abuzimi. Kjo është më shumë një teknologji web server. Por ne do të mbani atë të thjeshtë dhe të vënë në këtë kolonë megjithatë. NE RREGULL. WSGI. WSGI. Një tjetër thing-- dhe në fakt, le Më të shkojë që të kolonën e vet, sepse unë do të bërtas në vete vënien e tyre në të njëjtën kovë. Le të vënë këtë në server karakteristika, le të themi. Kjo nuk është një term teknik. Pra, këtu ne mund të jetë WSGI. Ka CGI, e cila është një i vjetër Teknika për të shërbyer deri gjuhët si Perl ose PHP, apo disa të tjerë. Përsëri, unë kam përmendur këto kushte jo aq shumë për të lloj të ngjyer ato, por në mënyrë që nëse ju shihni ata diçka ju thjesht google për të lexuar më shumë. Nuk ka asnjë lëng vërtetë për disa nga këto gjëra. Por le të kthehemi në gjuhë. Ne biseduam në lidhje me C #, Python. Çfarë tjetër mund të ju përdorni për web programimit këto ditë? Le të përqëndrohet në atë ende. AUDIENCA: PHP. DAVID J. Malan: PHP. Dhe le të kthehen në se një. Pra, PHP është përdorur shumë shpesh. PHP ka tendencë për të marrë një rap keq. Ajo filloi si një gjuhë e zbatuar nga folks që ndoshta nuk ishin domosdoshmërisht designers më të mira gjuhësore. Dhe kështu që ju mund të lexoni të gjitha llojet e artikuj online për mënyrën se si e keqe PHP është. Dhe për fat të keq, kjo është e një manifestim, pjesërisht, e vetëm debatet fetare që shpërthejnë në mesin e programuesit. Dhe kjo është diçka me vlerë duke mbajtur parasysh, nga një perspektivë e biznesit, që kjo është shumë e lehtë për njerëzit teknike për të marrë të gjithë punuar deri me tyre mendime për gjëra të caktuara. Dhe kjo nuk do të thotë se ai yelling loudest ose me të fortë, Opinioni angriest është e drejtë. Shumë herë, me të vërtetë thjesht nuk ka rëndësi. Dhe kështu që njerëzit janë të vetëm duke argumentuar çfarëdo biases e tyre apo zona rehati janë. Dhe kështu që ju duhet të mbani këtë në mendje kur bën një vendim, që vetëm sepse dikush thotë kjo është gjuha e drejta për puna, që mund të jetë e vërtetë, por ai gjithashtu mund të jetë vetëm ajo është e gjuha e drejtë në aftësitë e tyre caktuar apo zonë rehati. E cila nuk është e keqe, por ju duhet të kuptojnë se mund të ketë ndonjë konteksti atje. Ka disa objektivisht Deklaratat e gabuara, si C është gjuhë e gabuar për të përdorur këto ditë për zbatimin e faqet e internetit të pothuajse gjithmonë. Por kjo nuk është e paarsyeshme do të thotë se ndonjë nga këto janë të gabuara që kemi rrethuar deri tani. PHP ka kaluar nëpër shumë versione. Pra gjuhë priren të kenë version numrat e lidhura me to. PHP është deri në, unë mendoj se, version 7 tani, kështu që ka qenë rreth e rrotull për mjaft kohë. Dhe si gjuhë të merrni më të reja, ata shpesh marrin karakteristika të reja. Por ju duhet të jenë të ndërgjegjshëm për këtë sepse në qoftë se faqen tuaj te internetit ka qenë zbatohet në versionin 7 të PHP, por jeni duke u përpjekur për të drejtuar faqen tuaj te internetit, ose ndoshta ju keni kontraktuar zhvillimi i kodit tuaj për dikë tjetër dhe ata postës atë për ju, ose dërgoni atë për ju dhe ata thonë, këtu, vendos kjo në web serverin tuaj, në qoftë se web serveri juaj është pak vjet outdated-- nëse kjo është vet serveri juaj ose web host-- ajo nuk mund të vërtetë të drejtuar. Pra, këto janë llojet e gjërave që dikush duhet të jenë të ndërgjegjshëm kur përmirësimin një faqe ose zbatimin e tij për herë të parë. Kam dëgjuar JavaScript më parë. Pra JavaScript është një interesante një në atë që është përgjithësisht anën e klientit, si ne do të shohim pas pushimit, e cila do të thotë se shkon në shfletuesin e përdoruesit. Por ju gjithashtu mund të kandidojë JavaScript këto ditë duke përdorur diçka të quajtur Node.js, ku Node.js është një mekanizëm për drejtimin JavaScript code side server, në vend të përdorimit Python, ose PHP, apo gjuhë të tjera të tilla. JavaScript është veçanërisht e përshtatshme për aplikimet chat dhe kohë reale aplikacione, ndërsa PHP nuk është një e madhe gjuha për zbatimin diçka si një server chat, ku përdoruesit qëndrojnë të lidhur me të vazhdimisht. PHP është më shumë një vizitë mua një herë, të marrë përsëri një rezultat, dhe pastaj klikoni një lidhje tjetër disa sekonda ose minuta nga tani. Ndërsa Node.js dhe JavaScript mund të jetë përdorur më shumë për lidhjet e vazhdueshme. Gjuhë të tjera që ju të dyshuar janë përdorur zakonisht për gjëra internetit? AUDIENCA: A do të jetë jQuery një kornizë? DAVID J. Malan: Pyetje e mirë. As. Unë do ta quaja jQuery një bibliotekë, ku përsëri një bibliotekë është vetëm një bandë e kodit se dikush tjetër ka shkruar se në përgjithësi zgjidh disa probleme që e bën atë, me shpresë, më të lehtë për ju që të bëni punën tuaj. Dhe më lejoni të bëj një shembull të kjo në kuadër të web. Në kuadër të web ka kjo gjuhë, JavaScript, se ne do të shohim më vonë, ku ju mund të thoni diçka si this-- "Document.getElementById." Dhe çfarë unë e quaj atë dje? Së pari, unë mendoj, ishte ID unike dhashë një element që dukej si kjo. "P id =" parë ">" dhe pastaj kemi pasur si "ipsum lorem," et cetera. Pra, nëse po të shkruaj një program në JavaScript për të manipuluar një farë mënyre, ndryshuar web faqet që ne ishin duke luajtur me dje, Unë do të përdorin këtë Linja e theksuar e kodit për të marrë atë copë të veçantë të HTML nga faqen time, që nyje të veçantë, si ne do të thërrasë atë. Megjithatë, në jQuery, në vend të shkruarit kjo, e cila është e para code-- JavaScript vetëm të dalë nga kutia, kjo është se si ju shkruaj arsyetimet tuaja, ju do të në vend të vetëm të thonë: "#first." Kjo është ekuivalente. Dhe kështu vetëm në bazë të këtë shumë Shembulli i errët, ajo që ndoshta është argumenti për përdorimin jQuery? Pse do një zhvillues të përdorin një bibliotekë si jQuery, bazuar në këtë shembull të izoluar, ndoshta? AUDIENCA: Kodi pak. DAVID J. Malan: Po. Është kodi më pak. Është vetëm më të shpejtë të tipit. Kontrapunkt është që të duket e frikshme. Ju nuk mund të vërtetë lexuar atë majta në të djathtë. Në fakt, për shkak se ajo është më së shumti pikësimit tani në vend të aktuale fjalë, Unë mund të lloj të konkludoj se "Document.getElementById" merr një element nga dokumentit nga ID saj. Unë me të vërtetë mund të përdorë asnjë të tillë mjet që ndihmon kujtesën nga kjo gjë këtu. Pra, kjo është një tregti off. Ka një sofistikim që vjen shpesh me përdorimin e bibliotekave, veçanërisht si jQuery. Por realiteti është jQuery ka lloj të bëhet një standard de facto, në mënyrë që pothuajse kushdo këto ditë që shkruan kodin e Java skriptet përdor jQuery apo diçka si ajo, dhe nuk shkruan një shprehje të tilla si fjalëshumë kjo, sepse përsëri, njerëzimi ka mësuar, wow, kjo ishte lloj i një mundësi e humbur për të bërë jetën tonë më të lehtë. Pra, njerëzit bëjnë jetën e tyre më të lehtë. Pyetje e mirë. gjuhë të tjera të marrin në konsideratë. Unë do të thonë këtë Lista Ruby është mjaft popullore. Dhe kështu në botën e Ruby, ka një kornizë quajtur binarët, e cila është shumë popullor. Pra, Ruby on Rails është një përdoret zakonisht shprehje. Edhe në këtë botë, le të më Rrethi Java për sende web, ku në botën e Java ju mund të keni JSP, ose Java Servlets, e cila është një teknologji e zakonshme. Dhe kjo është vetëm përsëri mënyra e përdorimit se gjuha në një mjedis server. Pra, çfarë do të thotë kjo? Nëse keni një fizik server, ju do të vërtetë shkarkuar software web server dhe të instaloni atë në një mënyrë të tillë se keni mbështetje për një nga këto korniza, me të cilat ju mund, nga ana tjetër, të përdorin një të tillë ose më shumë nga këto gjuhë. Dhe në të vërtetë, në qoftë se ju të regjistroheni për si një web host ose një pjesë të re Shërbimet e kemi biseduar për dje, shpesh sende vetëm vjen me Konfigurimi i makinerisë për ju. Ju nuk keni nevojë për të vendosur këtë me dorë. Por në qoftë se ju e bëri, ky është vendi ku roli nga administratori i sistemit, në mënyrë që të flasin, vjen në lojë. Ai ose ajo do të bëjë në fakt ky lloj gjëra për ju, ose e ashtuquajtura webmaster shpesh do të bëjë këtë për ju. Në rregull. Çdo pyetje mbi disa nga këto këtu? Ose ndonjë mundësi në të gjitha për të pyetur në lidhje me gjuhë? Kornizat? Atëherë më lejoni të prezantoj vetëm një bibliotekë të tjera kjo është gjithashtu shumë e zakonshme këto ditë. Kjo listë mund të vazhdojë pafundësisht. Dhe kjo bibliotekë është lloj i filluar të bjerë në sy të keq. Ka qenë rreth e rrotull. U bë i njohur nga Twitter për disa kohë. Dhe tani shumë e faqet e internetit, shumë zhvilluesve të përdorin atë. Por gjëra të reja do të vijnë dhe të vijnë së bashku. Por më lejoni vetëm të ju jap një kuptim e çfarë do të thotë për të përdorur një bibliotekë. Pra, përsëri, JavaScript është një gjuhë shumë të popullarizuara. CSS, ose Cascading Style Sheets, kemi biseduar për dje. Kjo, gjithashtu, është i gjithëpranishëm. Askush nuk e bën një faqe interneti sot pa përdorur HTML dhe CSS minimalisht. Por kjo nuk është gjithmonë e lehtë për të bërë gjëra të caktuara. Dhe aq më lejoni të shkoj në getbootstrap.com. Uh. Kjo nuk është se si ne magji. Getbootstrap.com, e cila do të më udhëheqë për faqe ulje për këtë bibliotekë. Kështu që ata e quajnë bujarisht vetë një kornizë, e cila është lloj lloj i drejtë, por unë ende do ta quaja atë më shumë një bibliotekë sesa një kornizë. Por këto janë vetëm semantikë diskutueshme. Më lejoni të shkojnë në tab tyre CSS dhe më lejoni të shkoj për diçka si kjo. Pra, kujtojnë se çfarë forma të shikuar si dje në Cloud9? Ajo ishte shumë e shëmtuar. buttons shkollave të vjetra. Unë mendoj se button ishte gri nga default. Dhe çdo gjë ishte me të vërtetë formatuar mjaft messily. Pra, nëse ju doni format tuaja web për të kërkuar pak nicer-- lejoni të zoom in ketu. Dhe nga nicer unë me të vërtetë vetëm thotë estetikë shumë nitpicky. Pra, vini re se si kutia e emailit nuk ka një qoshe të rrumbullakosura drejtkëndëshe për të. Pra, kjo është një pastruese pak atje. Vini re se fjala email është aty deri sa të filloni të shtypni dhe pastaj ajo shkon larg. Kështu që është një karakteristikë e bukur pak. Vini re se si gjë është lloj i ngjyra të ndezura bukur, e cila një pjesë të kësaj ju merrni falas nga browseri juaj, por disa nga kjo është edhe biblioteka, Kodi që njerëzit e tjerë kanë shkruar se ju këtë të dhënë. Diçka si kjo më jep fjalëkalimin tim. Ky buton është pak sexier se default. Shumë në modë tani. Që iOS 7 apo më shumë, Bota ka marrë shumë të sheshtë, ndërsa bota parë kishte shumë hijet rënie, shumë e reflektime mbi ikonave. Ashtu si në botën e veshjeve, ka tendencat e modës që vijnë dhe shkojnë. Tani çdo gjë është e sheshtë në telefonin tuaj. Në fakt, buttons në tuaj iPhone tani janë lidhjet vetëm blu. Nuk është shpesh edhe buttons rrethore. Pra, këto janë vetëm gjëra që shkojnë në dhe jashtë e modë, dhe kështu kjo është se si ju mund të të bëjë një formë më moderne në kërkim të internetit. Buttons. Pra Bootstrap ka shumë butona bukur. Pra, nëse ju doni buttons blu, buttons gjelbër, blu, portokalli, e kuqe. Bootstrap bën më të lehtë për të bërë këto gjëra. Këto janë llojet e gjërave që ju mund absolutisht të kanë bërë dje me CSS dhe me HTML, por kjo është vetëm një dhimbje në qafë. Dhe kështu në vend të kësaj, ajo që do të Bootstrap duhet të bëni është diçka si kjo. Nëse doni një button-- del kjo është një tag HTML ne nuk e përdornim yesterday-- dhe ju doni që ajo të duket si ky butonin e gjelbër, ju fjalë për fjalë vetëm t'i jepte një klasë, të cilën ne e bëmë të flasim për dje, e "btn btn-sukses." Pse këto fjalë? Twitter, autorët e bootstrap, doli me këto fjalë. Ata mund të kenë quajtur ata çdo gjë që ata duan. Por ajo që ju jeni duke marrë tani është dikush tjetër në Twitter, në këtë rast, ka realizuar artistikisht se si do të bëni një button duken bukur dhe të pastër dhe të gjelbër. Ata paketuara deri atë funksionalitetin në një klasë CSS, të quajtur "btn" dhe "btn-sukses," në mënyrë që ndonjë prej nesh mund të tani e përdorin atë edhe pa menduar për ajo. Pra, ata kanë përhumbur larg nocioni i një butonin e gjelbër kështu që ne nuk duhet të kujdesen për zbatuar atë vetë. Ne fakt mund të përqëndrohen në zbatimin e gjëra me interes për ne. Nëse ne lëvizni poshtë këtu. Mesazhet e gabimit në ekran. Ndonjëherë ju doni një mesazh të vogël të paraqiten në krye të shfletuesit. Çdo prej nesh mund ta bëjë këtë me disa përpjekje, pas mësimit të djeshëm, por pse do të shqetësojë? Kjo është një jointeresant tillë detaje estetike. Le të qëndrojë mbi të supet e bootstrap dhe të na jepen gjëra të tilla si kjo, ku fjalë për fjalë, për të marrë një kuti të kuqe, vetëm duhet të bëjë një paragraf tag me një klasë of-- keq. "Bg-rrezik" do të na japë kjo kuti të kuqe në vend. Tani le të shkojnë në gjëra shumë interesante. Në qoftë se unë shkoj përsëri në krye të këtë faqe dhe të shkojnë në Komponentet, tani bota merr më shumë interesante. Për shembull, shumë e zakonshme është drop down menus si kjo. Kjo do të ishte një vlerë absolute dhimbje për të zbatuar. Dhe kjo nuk ishte se shumë kohë më parë se ne programuesit do të duhet të zbatojë këto llojet e menyve nga e para. Por kjo është një paradigmë e tillë të përbashkët se bibliotekat si bootstrap vetëm të ju jap mundësinë për të bërë një drop down menu larg, shumë më lehtë. Nuk ka një mënyrë për të bërë atë, por në qoftë se kam lexuar dokumentacionin Unë do të shihni se, OK, I duhet të përdorë kjo HTML në qoftë se unë dua një drop down menu që sillet si kjo. Në mënyrë të ngjashme, le të shkojnë në butonin bjerë poshtë. Pra, kjo është edhe njohës. Nëse unë dua që kjo të duket si një buton por kjo trekëndësh të vogël do të thotë Unë duhet të klikoni mbi të dhe për të marrë këtë meny, kjo është përdorur një gjuhë të quajtur JavaScript. Dhe ne të gjithë mund të zbatojë këtë në JavaScript. Por përsëri, kjo është një rrotë ju nuk doni të reinvent. Ju vetëm duan të marrin atë biblioteka raft për këtë. Le të shkojnë në diçka si përparim bare. Pra, diçka e tillë është lloj i ftohtë. Nëse ju keni parë ndonjëherë një progres bar lëviz nëpër ekran, zbatimin që shpesh është vetëm një ikonë tjerrje. Në fakt, ashtu si një mënjanë, le shkoj të Ajax-- çfarë është ajo? info Ajax? Uh. Ajaxinfo. Më lejoni të mbani mend adresën. Atje shkojmë. Pra, nëse ju keni parë ndonjëherë ndonjë animacion ndërsa faqja është e ngarkimit, apo të menduarit, ose kursimit, ose duke krijuar diçka, mund të shohin animacione si këto. Pra, le të shohim në diçka si ky këtu, dhe le të zgjedhin një ngjyrë dukshëm të gjelbër, e cila ndihet lloj miqësore. A mund të klikoni këtë? Të vijë një. NE RREGULL. Ne vetëm do të shkojmë me të kuqe, sepse kjo është ajo që ne jemi duke marrë. Kështu që këtu kemi atë. Pra, nëse ju keni parë ndonjëherë këtë në një ekran, ku papritmas duket dhe më pas papritmas zhduket, ajo që është ajo që është zbatuar kjo? E pra, kjo është vetëm një GIF. G-I-F. Dhe kjo është një animuar fotografi, e cila vetëm do të thotë është si një libër komik shkollës së vjetër. Ka vetëm një bandë e ndryshme korniza që janë duke shkuar [belbëzimit] dhe vetëm duke përsëritur. Dhe kjo është krijimin e iluzionin e lëvizjes. Pra, sa më shpejt që një faqe është bërë ngarkimit ose duke bërë diçka, çfarë bën një programues? E pra, ai ose ajo vetëm fsheh këtë imazh. Pra, të gjithë një bar progres është i sjellshëm i pëlqen një film jeni duke shikuar. Ju jeni lloj i harruar faktin se kjo nuk është në të vërtetë duke bërë asgjë, kjo është vetëm në lëvizje. Dhe pastaj, kur është bërë duke përparuar, ata vetëm fshehin apo kthyer atë off. Dhe kjo është e gjitha magjike që po ndodh atje. Bootstrap ju jep diçka pak njohës, ku ju mund të vërtetë shohin një përqindje si ajo shkon, por edhe ajo është vetëm lloj e një animacion të thjeshtë. Le të shikojmë disa final më shumë shembuj komplekse këtu. Diçka si një modale. Does anyone know çfarë është një modale është? Një dritare modale në përgjithësi ai që është menduar të marrë kontrollin e plan të parë dhe ju ndalojë nga duke bërë ndonjë gjë tjetër. Ai lloj i detyron përdoruesit të Vëmendje në mes të ekranit, mbyllje ato, në mënyrë tipike, e çdo gjë tjetër. Pra, nëse kam nisur këtë demo, e Ekran në përgjithësi do të bëhet gri. E pra, si nuk kemi bërë atë gri? E pra, ne ndoshta vetëm ndryshuar ngjyrën e sfondit si ne e bëmë dje ose diçka të tillë. Ndoshta kjo është një mbulesë se gjysmë-transparente. Dhe tani vini re se ju mund të bëni gjëra të dashuroj si kjo. Pra, nëse ndonjëherë ju klikoni mbi një buton dhe duan një pop të vogël për të dalë, ju mund ta bëni këtë. Dhe kështu që kujdeset për all-- vërtet? AUDIENCA: Pra, me bootstrap, për të marrë atë inkorporuar, është aq e thjeshtë sa si dje ne e bëmë faqe stilet CSS? DAVID J. Malan: Në të vërtetë. pyetje me të vërtetë e mirë. Më lejoni të shkoj në T'ia Fillohet. Dhe po. Të gjithë ju duhet të bëni në mënyrë që të Përdorimi Bootstrap është në thelb kopjoni dhe ngjitur këto tre linjat e gjata të Kodi në krye të vet page-- tuaj web kreu i page-- tuaj dhe ju jeni dhe drejtimin. Dhe ka mënyra të ndryshme për të bërë ajo, por kjo do të ishte më e thjeshtë. Pra, çfarë është e dobishme për të gjithë këtë? E pra, në qoftë se ju nuk jeni aq shumë zbatuesi i një faqe interneti por ju jeni duke u përpjekur për të hartuar atë, ose ju dëshironi për të siguruar dikë me diagrame kornizë teli, kështu që të flasin, ose renditions vetëm artistit e çfarë ju doni të bëni, unë, për këtë ditë, shpesh do të shkojnë në një vend si bootstrap, ku në qoftë se unë duan për të zbatuar something-- si kohët e fundit në kampus ne të kërkuar për të zbatuar një mjet i web bazuar për të lundrimit catalog Sigurisht Harvardit, duke e bërë atë më të lehtë për studentët për të shfletoni përmes kurseve dhe shtoni kurse për Lista shopping, kështu që të flasin, për të vendosur se çfarë lloj ata donin për të marrë. Unë kam qenë duke u përpjekur të imagjinohet për veten, çfarë përbërësit do të ne duam të përdorim për të ndërtuar këtë? Çfarë do të ndërfaqen e përdoruesit të jetë si? Dhe vetëm duke kërkuar nëpërmjet një vend si këtë apo vende të tjera të tilla bibliotekës, ju mund të fitojë frymëzim, sepse wow, Unë mund të përdorni këtë widget, dhe këtë widget, dhe këtë widget. Dhe pastaj me të vërtetë se çfarë programues fillon për të bërë, sidomos në këto ditë në këtë më shumë bota moderne të programimit web, është programimi është gjithnjë e për instalime elektrike gjëra së bashku. Lloj i marrë këtë off raft, kjo off raft, kjo off raft, dhe duke qenë një smart për të lidhur të gjitha këto pika, por në fund të fundit të ndërtuar diçka nga një herë duke qëndruar mbi supet e të tjerëve, në mënyrë që ju të mos kalojnë një muaj zbatimin e një rënie të trashë down menu, e cila në fakt është e vështirë të bëni nëse ju doni që të punojnë në Chrome, dhe IE dhe Shtesa, dhe çdo Numri i shfletuesit e tjerë. Kjo është arsyeja pse nuk është ky i pasur source software komerciale dhe të hapur industria, si dhe. AUDIENCA: Kështu do të Bootstrap merrni përditësuar dhe ju keni për të rinovuar pastaj lidhjet tuaja? DAVID J. Malan: Ai e bën. E pra, po, ajo bën. Bootstrap është aktualisht në versionin 3.3.6. Dhe në përgjithësi ajo që ju do të do-- në fakt kjo është me vlerë të përmendet. Nuk është ajo që është në përgjithësi i njohur si një versioning semantik sistemi në botë. Jo të gjithë e bën këtë. Por në qoftë se ju keni parë një numër version që janë të formës x.y.z-- kështu për shembull, versioni i parë e një program mund të jetë 1.0.0. Ose në qoftë se është shumë, shumë beta, ose edhe statusi alfa, që do të thotë përdorim në përgjegjësinë tuaj, kjo nuk është me të vërtetë gati për përdorim, ju mund edhe të fillojnë 0.0.1 apo ndonjë përcaktim të tillë. Por në qoftë se software fillon në versionin 1.0, ose ekuivalente 1.0.0, zakonisht, çfarë është e zakonshme këto days-- pse nuk omnipresent-- është në qoftë se një kompani ose një fixes individuale programues disa bug në disa pjesë e softuerit që me të vërtetë ishte një bug, korrigjimi i të cilit nuk duhet të Ndikimi ju në all-- ajo nuk ndryshon Sjellja e programit, ajo vetëm fixes diçka që nuk ishte duke punuar properly-- ju do të zakonisht përditësimin e vlerës z atje. Që do të thotë dikush si Kareem thjesht mund të shkoni në faqen e tij, verbërisht të ndryshojë numrin e versionit nga 1.0.0 në 1.0.1, me përjashtim, anije atë, dhe në teori, nuk duhet të shqetësohen se ai është thyer vetëm Faqja e internetit e tij për shkak të disa mungesa e funksionalitetit, sepse diçka tjetër thyen. Ndërkohë, në qoftë se unë, programues apo ndonjë kompani ishin për të bërë disa të rëndësishëm ndryshim që shton funksionalitetin, Unë mund të na update për 1.1.0 sepse unë jam në të vërtetë ndryshuar sjelljen e bibliotekës. Unë jam duke ju dhënë ndoshta më shumë funksionalitet. Së fundi, në qoftë se unë do të në fakt të ndryshojë rrënjësisht software kështu shumë sa që ajo do të thyejnë shumë përdoruesve faqet e internetit ose aplikacionet, atëherë unë jam i detyruar, në këtë model, të përmirësuar numrin e madh version shumë, e cila është një ndryshim i thyer. Me fjalë të tjera, unë mund të ketë Mbështetja ndërpritet për ata rënie menu poshtë. Pra, nëse ju të përmirësuar në 2.0, gjysmë faqen tuaj te internetit mund të largohet nga puna. Dhe kjo është lloj i një sinjal komunitetit si për atë që e të përfshirë në bërjen e një përmirësim. Një mundësi e mirë për të rritur. Pyetje të tjera? Në rregull. E pra, le të marrin një vështrim në një finale Tema në këtë segment të programimit e oxhaqet teknologjisë, përkatësisht në lidhje me celular. Pra, në botën e telefonave celularë sot ju have-- dhe iPads, dhe sipërfaqet, dhe të gjitha këto lloje e devices-- ju keni shumë zgjedhje kur është fjala për zbatimin një kërkesë ose një faqe interneti për pajisje të lëvizshme konsumatorit tuaj. Pra, vetëm për të deklaruar të dukshme, ndoshta këto ditë, cilat janë platforma për zhvillohet në hapësirën celular? Çfarë pajisje mund të doni të mbështetur me app tuaj ose faqen e internetit? AUDIENCA: Apple. DAVID J. Malan: OK. Pra pajisje Apple. Pra, kjo do të thotë iPhone, dhe se do të thotë iPad, dhe ndoshta edhe iPod. Çfarë tjetër? Olivier? AUDIENCA: Android. DAVID J. Malan: Android. NE RREGULL. Telefonat Pra Android, Android tableta, tregun e Android është edhe më e çrregullt dhe because-- edhe Apple është duke u bërë çrregullt. Ndërsa një herë e një kohë iPhone është një madhësi të caktuar, dhe iPad ishte një madhësi të caktuar, dhe iPod ishte një madhësi të caktuar, tani ne kemi iPad Minis, dhe i hollë ato, dhe iPhone 6 Plus dhe 6. Është duke u bërë një rrëmujë. Është duke u bërë bota Android. Dhe këtë e them me lloj kodrina sytë e mi, sepse nga një zhvillues të Perspektiva, kjo është një dhimbje në qafë kur është ju nuk keni Steve Jobs ' Vizioni i kontrollit absolut mbi të gjitha këto specifika. Apple ende nuk sepse ata janë ato ndërtimin e hardware. Por kjo është një gjë e mirë, në qoftë se Unë jam një zhvillues software, të di vetëm se im iPhone është gjithmonë do të jetë kaq e madhe, sepse që do të thotë unë gjithmonë e di sa ekran të pasurive të patundshme kam. Pra, nëse unë dua të vënë një ikonë në këndin e sipërm të majtë, ajo do të jetë në të njëjtën saktë vendosur në pajisjen e çdo konsumatorit të vetëm. Por në botën e iPhone 6s dhe iPhone 6 Pluses dhe në botën e Android Telefonat, kjo është e gjitha mbi hartë. Dhe kështu që e bën atë më të vështirë për programin gjëra, sidomos interfaces përdorues, sepse tani ju duhet të fillojë rregullimin përdoruesit ndërfaqe tuaja relativisht, jo absolutisht. Dhe e njëjta ka qenë e vërtetë në shfletues, dhe desktops, laptopë dhe për vitet sepse ti, sigurisht, kanë madhësive të ndryshme ekran. Çfarë tjetër? Ju mund të keni sipërfaqeve, si nga Microsoft. Ju mund të have-- AUDIENCA: Windows telefonit. DAVID J. Malan: Çfarë është ajo? AUDIENCA: Windows telefonit. DAVID J. Malan: Po. Pra Telefonat dritaret mund të gjenden ende. Lloj lloj BlackBerry, por ata mbajnë duke u përpjekur. Dhe pastaj bunches e pajisje të tjera. Kështu që për pjesën më të madhe, le të thonë se këto janë ato të kujdesen për momentin. Sigurisht gjëra Apple, sigurisht Android sende, dhe në mesin e Windows-it, si tableta sipërfaqësore duket të jetë infektues mjaft mirë. Dhe kështu në mesin e atyre pajisjeve, në qoftë se ju doni të rrokulliset jashtë, le të themi, një prani celular për tuaj Kompania, çfarë lloje të vendimeve të projektimit ju keni për të bërë? E pra, ne tashmë e ka thënë në botë Apple, ka të paktën dy gjuhë të cilat janë përdorur zakonisht. Njëri quhej ajo? AUDIENCA: Objektivi-C. DAVID J. Malan: Po. Pra, Objektivi-C, e cila është një i vjetër. Është gjithashtu gjuhë që shumë Mac Aplikacionet janë ende të shkruara në. Pastaj një tjetër i ri ishte? AUDIENCA: Swift. DAVID J. Malan: Swift. Dhe ata janë lloj i dy të dini për të bërë përshtypje folks. Pastaj në botë Android, ajo gjuha e përdor Android? AUDIENCA: C #? AUDIENCA: Java. DAVID J. Malan: Java është gjuha e "du jour." Në botën e Windows, të sigurt, ne do të themi C # në këtë rast. Pra, tashmë kjo është lloj i i bezdisshëm, sepse ajo që është takeaway për një biznes pronari ose dikush që thjesht do të hap një prani celular? Si, mallkuar atë? Si, në qoftë se unë dua të mbështetur një bazë mjaft të gjerë përdorues, Unë kam për të shkruar, kjo do të duket, tre aplikacione të ndara. Një në një nga këto gjuhë, një në Java, një në C #. Dhe edhe në qoftë se unë dua funksionalitetin të jenë identike, ajo nuk materie. Unë ende nevojë për të përdorur të ndryshme Gjuhë për shkak se Apple dhe Microsoft, dhe të gjithë mbështetjen e Google mjedise të ndryshme. Dhe kjo ka qenë një sfidë për vite me rradhë. Mbrapa në ditë, kur njerëzit e përdorur për të blerë software në një dyqan kompjuter në tkurret kuti të mbyllura, ju do të keni për të arritur për raft Mac, ose for-- ndoshta këtë Mac shumë të vogël shelf-- ose raft më të mëdha të Windows dhe për të blerë disa programeve. Dhe shumë shpesh, nuk ishte edhe çdo gjë për ju në raft Mac. Pse? Well, kompanitë vendoset nëse 90% e botës, 95% e botës ka PC, pse bother edhe zbatimin gjëra për Mac OS? Si një aside-- gjithsej digression-- pse është se Mac duket aq indiferent ndaj viruseve, dhe worms, dhe kërcënimet e sigurisë? A Apple më e mirë për këtë? Më të mirë në mbajtjen e kompjuterëve të sigurt? AUDIENCA: audienca më të vogla? DAVID J. Malan: Kjo është ndoshta pak më e madhe për të. Kështu që shumë përdorues të Macs kanë kohë pretendoi, oh, përdorni një Mac, ju do të jetë imun ndaj viruseve, dhe worms, dhe të gjitha këto gjëra që kanë pllakosur prej kohësh PC. Kjo mund të jetë për shkak se Apple ka programuesit më të mirë dhe ata shkruajnë software më të mirë, ose sistemit operativ është projektuar mirë. Ndoshta, por ndoshta jo. Kjo është ndoshta që kur ju jeni një 12-vjeçar, apo 30 diçka lloj i ulur në formë të shkruar në shtëpi software me qëllim të keq për të marrë përsipër bota, ju jeni duke shkuar për të shkuar pas audiencë shumë më të mëdha të synuar. 95% e botës që mund të të running Windows ose disa variante te tyre. Pra, ka pak nga të dyja anët. Por për kredi e tyre, Apple, për të njohuri tim, nuk ka mbrojtura me të vërtetë veten e tyre si më të sigurt, që ju jeni vetëm duke ftuar dramë nëse bëni këtë pretendim, unë do të mendoj. Në rregull. Pa marrë shumë larg poshtë se, si nuk kemi zgjidhur këtë? A keni për të blerë ose ju keni për të paguajnë tre njerëz të ndryshëm për të zhvilluar aplikacionet tuaja? A ju të vini një lidhje të tjera? Çfarë duhet të udhëheqin tuaj duke menduar këtu mendoni ju? Kareem? Jo. Dikush tjeter. AUDIENCA: Vetëm të vijë me hardware. DAVID J. Malan: Ejani me hardware? Çfarë do të thuash? AUDIENCA: Për mjedisi. [Padëgjueshme] DAVID J. Malan: Pra, kjo është e vërtetë. Por klientët tuaj, Ndërkohë, mund të ketë iPhone, ata mund të kenë telefonat Android, ata mund të ketë pllakat e bëra nga Microsoft. Pra, si ju keni një strategji të lëvizshme për të gjitha këto përdorues të ndryshëm? Ajo do të duket se po kushton, le të themi $ 1,000 deri të bërë një iPhone aplikimit, ajo do të kushtojë ju $ 2.000 deri bërë një aplikim iPhone dhe një Aplikimi Android, ose $ 3,000 për të mbështetur edhe pajisjet e Windows si. Kjo është ndoshta mjaft e një shfaqje, dhe ajo nuk mund edhe të jetë një marrëdhënie lineare si kjo. AUDIENCA: Nëse ju dëshironi të keni një app ose jo, ju mund të keni faqen e internetit të përgjegjshëm. DAVID J. Malan: Mirë. AUDIENCA: Ose ju mund të ketë një app amtare. DAVID J. Malan: Po. Pra, në gjithë këtë kontekst këtu, ne kemi qenë duke folur në lidhje me atë njerëzit do të thërrasë aplikimet amtare. Kjo është aplikacionet që janë shkruar në gjuhën amtare e atë pajisje. Pra amtare Objective-C ose Swift Kodi, apo në Java, ose në C #. Që do të thotë kur ju shkarkoni, le të thonë se Snapchat, një kërkesë popullore, ose kur keni shkarkuar Facebook për një telefon, ju jeni të shkarkimit as version i shkruar për iPhone tuaj, ose me shkrim për telefonin tuaj Android, ose me shkrim për sipërfaqe tuaj. Por nuk është një alternativë. Si Olivier kishte fjalën për, ju në fakt mund të përdor HTML 5 në vend të kësaj, duke përdorur atë që quhet një web Aplikimi, ku ju thjesht zbatuar praninë tuaj celular dhe çdo funksionalitetin. Çfarë mund të thotë me praninë celular? Ashtu si faqen tuaj te internetit e cila ka tuaja informacionin e kontaktit, një listë e të gjitha produktet tuaja, ndoshta ajo ka një pazar cart, ndoshta ju shesin gjëra përmes saj. Çfarëdo që kërkesa juaj është, ju zbatojë atë, jo në Objektivi-C, ose Swift, ose Java ose C #, por në HTML 5, e cila ishte gjuha kemi shikuar në dje, me JavaScript dhe CSS. Dhe çfarë është e bukur për ata tre është se për të drejtuar ata, ju duhet vetëm se çfarë pjesë e software? AUDIENCA: Një shfletues web. DAVID J. Malan: Një shfletues web. Dhe më të mirë e di, të gjitha këto pajisje vijnë me shfletues web, në mënyrë që përdoruesit nuk duhet të instaluar diçka të veçantë. Kështu që ju mund të them vetëm tuaj Audienca, klientët tuaj, shkoni në acme.com në tuaj shfletues dhe ju do të vetëm kanë një përvojë web bazuar që ende mbush ekran, por ju nuk duhet të shqetësohen për të gjithë këto kosto dhe të gjithë këtë kompleksitet. Por me siguri nuk do të jetë një kapur këtu, apo jo? Sidomos në qoftë se kam vënë në dukje se nja dy vjet më parë, versioni i parë i aplikimit celular Facebook ishte kryesisht një kërkesë HTML 5. Ata kanë, më shumë kohët e fundit, të rikrijohet atë në aplikacionet e tyre të tjera. Pra, pse nuk do të menjëherë dua të them, dhe, natyrisht ne jemi duke shkuar për të bërë këtë? Cilat mund të jenë kostot e fshehura? AUDIENCA: Performance. DAVID J. Malan: Performance? Si mund të thotë? AUDIENCA: The app amtare ka më shumë performancë. DAVID J. Malan: Pra, kjo është e vërtetë, për disa arsye. Ne mund të thjeshtojmë këtë përgjigje. Dhe kujtojnë diskutimin tonë të interpretuar kundrejt gjuhëve të përpiluara. Kjo është HTML 5 dhe me atë, vetëm për të qartë, JavaScript-- zakonisht e shkruar JS-- dhe CSS janë të gjithë Gjuhë të interpretuar, edhe pse vetëm JavaScript është një gjuhë programimi. Dhe kështu kundrejt këto, që disa nga këto janë hartuar, të paktën këto trete Objective-C, Java dhe C # - këto, në teori, duhet vetëm të jetë më i shpejtë. Por ka një tjetër realitet for-- AUDIENCA: Funksionalitetet? DAVID J. Malan: Çfarë është ajo? Audienca: funksionalitete. DAVID J. Malan: Funksionaliteti? Si keshtu? AUDIENCA: Përdorni kamerën off telefonin tuaj ose diçka. Ju mund të përdorni ato me shfletuesin. DAVID J. Malan: Pikërisht. Ata janë sec-- AUDIENCA: [padëgjueshme] DAVID J. Malan: Kjo është një tjetër të mirë. Ka karakteristika që vijnë me telefona mobil sot që nuk janë, me dashje, për sigurinë arsye, të arritshme për shfletuesit web. Për shkak se ajo do të jetë lloj i një gjë e mërzitur, nëse vetëm kur ju vizitoni google.com, ose cnn.com, apo ndonjë website.com, se kjo website ka fuqinë për të kthyer në aparatin tuaj, të marrë një foto nga ju, dhe pastaj e përdorin atë. Por ju nuk do të duan një faqe interneti të rastit që ju vizitoni për herë të parë për të patur këtë aftësi. Dhe kështu ajo që telefoni prodhuesit zakonisht bëjnë po ata vetëm mohojnë qasjen për këtë lloj informacioni në një shfletues, që ju do të thotë nuk mund të zbatojë kamera. Ju nuk mund të zbatojë njoftime shtytje, beeps që ju të merrni në ekranin tuaj me mesazhe të shkurtra. Dhe në fakt, edhe GPS është vetëm lloji e lloj në dispozicion për shfletues web. Nëse ju keni ndonjëherë, në një kompjuter portativ ose në një pajisje të lëvizshme, tërhequr deri diçka si ndoshta CNN.com, por edhe stacionet lokale të lajmeve kanë tendencë për të bërë këtë, ju jeni të nxitet shpesh me një message-- foxnews.com dëshiron të dijë vendndodhjen tuaj. Miratojë ose refuzojë. E pra, shfletuesi është duke u përpjekur për të hyrë në të dhënat tuaja GPS nga telefoni juaj. Por fatmirësisht Microsoft, dhe Apple, dhe Google kanë vendosur që ndjehet si kjo është një situatë e dobishme, ne duam Google Maps dhe mjete të tjera për të punuar, por ne nuk duam të na zvarrisë njerëzit jashtë nga vetëm duke bërë të mundur ndonjë faqe interneti për të bërë këtë. Pra, le të lloj të takohen në gjysmë të rrugës dhe të menjëhershëm të përdoruesit. Por kjo nuk është detyrimisht rasti me të gjithë hardware, si kamera dhe me shtytje njoftimet dhe të ngjashme, kështu që ju mund të keni për sakrifikojë karakteristika të caktuara. Por performanca shumë. Është duke u bërë më pak të dukshme në ditët e sotme, ndoshta si LTE kap në dhe të shpejtë shpejtësi të internetit në telefonat, por ju mund të lloj të ndjehen të ndryshim. Ashtu si një aplikim të internetit me bazë vetëm ndjehet më ngadalë, në mënyrë tipike, se një aplikim amtare, pjesërisht sepse një aplikim të internetit me bazë sipas definicionit është në internet. Është folur për serverat në web. Dhe në qoftë se lidhja e rrjetit tuaj është i ngadalshëm, edhe scrolling mund të jetë i ngadalshëm. Por një aplikim amtare, ju keni tashmë para-downloaded-- ndoshta kur keni qenë në shtëpi nga dyqan app, ose të paktën para-shkarkuar në tërësi më parë, çfarëdo tuaj speed-- lidhje dhe kështu që tani ju keni të gjitha të bit që ju në përgjithësi duhet. Me përjashtim të ndoshta disa të dhënave që vjen nga një server. Pra, këto janë të tregtisë të humbura këtu. Nuk është lloj i një mes kompromis, në fakt. Dhe unë mendoj se ju, duke filluar AUDIENCA: Përdorni offline e të dhënave. Në aplikacionet native, ju mund të [padëgjueshme] DAVID J. Malan: Absolutisht. Pra, nuk është çështja offline, e cila është me të vërtetë i bezdisshëm në qoftë se ju nuk mund të luajë ndonjë lojë apo përdorim disa software vetëm për shkak se ju jeni të në një bodrum diku ose në një ashensor. Një aplikim amtare është elastik me probabilitet më të lartë ndaj kësaj, duke supozuar që ju kanë të gjithë të dhënat që ju duhet në nivel lokal. Pra, nuk është një opsion i tretë këtu. Dhe le të nxjerrë spektrin si app amtare këtu dhe app web këtu. Dhe çfarë është në mes është diçka called-- dhe unë mendoj se ju mund të keni përdorur fjalën më parë, ndoshta? Aplikimi Hybrid. Dhe si fjala nënkupton, kjo është diçka në mes. Kjo është lloj i një aplikim të internetit dhe kjo është lloj i një aplikim amtare. Dhe çfarë do të thotë kjo? Ajo rezulton se ka frameworks-- për të përdorur një term nga software earlier-- që njerëzit e tjerë kanë shkruar për çdo një nga këto platforma. Këto dhe ende pajisje të tjera. Në fakt, më lejoni të shkoj në PhoneGap, i cili është një kuadri tillë që I besojnë Adobe zotëron tani. Më lejoni të shkoj në T'ia Fillohet. Le të shohim. Të shohim nëse unë mund të shihni një listë të mjeteve. Hardware. Getting Started. hardware PhoneGap. Le të shohim. PhoneGap qasje hardware. Më lejoni të shohim nëse ne mund të gjeni pak tabelë që ata kanë përdorur për të. Kjo është në një tjetër vend. A është kjo e dobishme? Jo. Kjo është gonna të humbni kohën tonë atje. hardware PhoneGap. Devices. Device API. Jo, ata kanë lëvizur atë. PhoneGap. Le të shkojnë një vështrim të fundit në këtë dhe të shohim nëse unë mund të ju tregojnë. Getting Started. Install PhoneGap. Install app celular. Eja. Ata kanë riorganizuar gjithçka. Në rregull. Oh, të gjithë të drejtë. E pra, këtu ne do të shkojmë. Kjo nuk është e gjitha që i shkolluar, por kjo është ajo që unë kam qenë lloj kërkim. Pra PhoneGap është një kornizë që ju mund ta shkarkoni falas që ju jep disa code motorino, në thelb. Kështu që disa kodin që ata kanë shkruar që nuk ka të bëjë shumë e asgjë. Por ajo që ju jep në thelb është ekuivalenti e një kërkesë që vetëm vë një drejtkëndësh i madh në ekranin e përdoruesit. Ajo nuk ka vënë një bar URL, si një shfletues, nuk ka vënë një adresë. Ajo vetëm vë një drejtkëndësh të madhe. Dhe ju konfiguroni këtë e madhe drejtkëndësh, nën kapuç, që në fakt të shkuar në acme.com, ose ndoshta m.acme.com, për mobile.acme.com, por përdoruesi nuk e di ata janë në atë adresë. Të gjithë ata e shohin është Përmbajtja e ueb faqes. Por ajo që është e bukur në lidhje me këtë qenie një app hibride është se çfarë PhoneGap dhe kompanitë e tjera janë duke i dhënë ju është ata janë duke ju dhënë një grimë të vogël e kodit në Objektivi-C ose Swift, ose pak e kodit në Java, ose pak e kodit në C #, dhe në thelb, të gjithë ju duhet për të siguruar është minimalisht adresa e web aplikimit tuaj në bazë. Dhe pastaj ju deng këtë të gjithë së bashku dhe ju kanë atë ose hyni tuaj faqe nëpërmjet internetit, apo edhe ju klipbord një lokal kopje brenda aplikimit, dhe pastaj ju ruani aplikimin tuaj në formatin iPhone, telefoni Android format, format sipërfaqe, ose çdo numër të pajisjeve të tjera. Ju ngarkoni secili prej këtyre versioneve në Play Store Google, në App Store, të Windows Store, e kështu me radhë. Dhe tani, ju mund të keni të gjitha tuaj audienca shkarko vërtetë një app amtare, edhe pse shumica e kodit ishte shkruar nga dikush tjetër, por përmbajtja e këtij app amtare gjitha vijnë nga, në mënyrë tipike, faqen tuaj. Pra, ju vazhdoni me shkrim faqen tuaj te internetit në HTML, JavaScript dhe CSS. Pra, pse turbullira këto rreshta? Pse një aplikim hibrid kjo është lloj i lindur, por edhe lloj web bazuar? Cila është pika e tërë e duke shtuar se këtë kompleksitet? Unë do të thotë, edhe ende, vetëm nga glancing nëpërmjet kësaj faqe, Të përftosh udhëzues Fillohet ndjehet si atë e mori një të tërë shumë hapa për mua për të bërë para se të can-- AUDIENCA: Ripërdorimi? DAVID J. Malan: Ripërdorimi? Çfarë do të thuash? AUDIENCA: Nga kodin burimor. Pra kodi i njëjti do të kandidojë për të gjitha platformat e ndryshme. DAVID J. Malan: Po. AUDIENCA: [padëgjueshme] DAVID J. Malan: Perfect. Nëse koha është e ngushtë dhe në qoftë se ju nuk kanë se shumë developers-- ndoshta ju keni një zhvillues dhe ai ose ajo sigurisht nuk e di se të gjitha këto environments-- sigurisht jo të mirë, dhe sigurisht nuk mund të program në të gjitha tre të njëjtën kohë dhe anija tre produkte në koha e lejuar për një, ju mund të keni atë apo të saj të ndërtuar çdo gjë në HTML dhe JavaScript dhe CSS, dhe pastaj të mësojnë pak të vogël bit për aplikacionet native, vetëm sa për të shkarkuar një kornizë si kjo, për të pastaj të ngarkoni produktin tuaj për të të gjitha dyqanet e ndryshme të aplikacioneve kështu që ju tani keni një aplikim amtare. Kështu që duket si një fitore të fitojë, por përsëri, të jetë i qartë, cilat janë potenciali kostot apo gotchas? AUDIENCA: Performance? DAVID J. Malan: Po. Performance. Është e vështirë për të përshkruar me fjalë. Pra, nëse ju vetëm të marrë në Besimi i një aplikim celular, një aplikim të internetit do zakonisht kryejnë më ngadalë. Kjo nuk mund të duket shumë e drejtë, për shkak se në iPhone, dhe në telefonat Android, dhe pajisjet e Windows, ka gjithmonë një lloj sy parazgjedhur dhe të ndjehen të gjitha të butonat dhe menutë. Dhe kompanitë në internet, mund të provoni për të përafruar ato estetikë me bibliotekat si bootstrap, por user-- një user-- finok do të dini se diçka nuk është mjaft e drejtë këtu. Dhe kjo është në rregull, ndoshta kjo nuk është një punë e madhe. Por çështja e performancës absolutisht është një punë e madhe. Aplikacionet amtare do të priren për të vetëm të jetë shumë më të përgjegjshme dhe për këtë arsye të mirë. Dhe kështu, çka atëherë mund të jetë më të mirë të të dy botëve? Nëse ju jeni veçanërisht të një të vogël kompani apo një grup i vogël, ju nuk kanë burime për të zhvilluar një app paralelisht në të gjitha tre platformave, dhe sinqerisht, ndjehet si kjo është një ide e keqe gjithsesi sepse në qoftë se ju shkoni jashtë dhe në të tre të njëjtën kohë të realizuar, ne duhet të kemi shtuar disa karakteristika ose bërë diçka ndryshe, tani ju keni për të rregulluar atë në tre vende, jo një. Çfarë është ndoshta optimal Strategjia këtu në përgjithësi, nëse burimet dhe koha janë të shtrënguar? AUDIENCA: Vetëm të bëjë atë në IOS. DAVID J. Malan: Kjo nuk është e paarsyeshme. iPhones, të paktën në SHBA, janë super të njohura. Android ende duket të ketë dominant pjesa e tregut, në nivel global, në përgjithësi. Pra, ju nuk jeni domosdoshmërisht përfaqësuese e tërësinë e globit këtë javë. Por kjo është absolutisht një vendim. Unë do të thotë, në kampus këtu unë mendoj se disa numrin mizor ose përqindja e studentë kanë iPhone dhe telefonat Android jo. Por jashtë vendit, kjo është lloj i të kundërtën. Kështu që ju vendosë në bazë të audiencës. Si mund të dini se çfarë audienca juaj ka? E pra, kemi mësuar një mashtrim dje. Ju mund të pyesni ata. Nëse ju keni një audiencë rob ju mund të dërgoni atyre një formë studim. Ose ju mund vetëm të bëjë atë? AUDIENCA: Google Analytics? DAVID J. Malan: Çfarë është ajo? AUDIENCA: Google Analytics. DAVID J. Malan: Google Analytics. Po. Apo edhe më shumë lloj teknikisht, ashtu shikoni në web tuaja servers shkrimet. Sepse ajo që ndodh çdo herë një shfletues, nëse laptop, desktop ose Telefoni vizitoni faqen tuaj? Ata dërgojnë atë header HTTP që tregon ju çfarë shfletues dhe OS ata janë duke përdorur. Kështu që ju mund të konkludoj, me probabilitet të lartë, çfarë demografike juaj është duke përdorur këtë mënyrë dhe pastaj të rregulluar. Pra, mendoj se është e papranueshme. Kjo është lloj i keq për biznesin nëse Përdoruesit e Android nuk mund të blejnë Widgets tona. AUDIENCA: Nëse ju jeni gonna të ngarkuar apo jo? DAVID J. Malan: Nëse ju jeni duke shkuar për të ngarkuar? Pra OK, ju merrni atë që paguani për të. AUDIENCA: Nëse app juaj është gonna të jenë të lirë ose nëse kjo është gonna-- DAVID J. Malan: OK. Pra, ndoshta ju mund të mblidhte Shpenzimet që rruga, or--? AUDIENCA: Kam lexuar një studim herë se ka thënë më shumë përdorues Apple paguar për Apps versus-- DAVID J. Malan: Kjo është e vërtetë sepse ata janë tashmë të paguajnë më shumë për pajisjet e tyre. Pra, nuk e paarsyeshme një supozim. AUDIENCA: [padëgjueshme] DAVID J. Malan: OK. Pra, nëse ata janë më të gatshëm për të paguar, pastaj në ferr me përdoruesit e Android. Ata nuk do të na paguani asgjë anyway. Ne mund edhe të përqëndrohet prioritetet tona, të paktën për muajt e parë apo një vit, në iOS. Krejtësisht e arsyeshme. Çfarë është një më përfshirëse strategji se kaq? Maybe-- çfarë është ajo? AUDIENCA: [padëgjueshme] DAVID J. Malan: A expensive-- shumë kështu që ndoshta të investojë më shumë in-- të shkojnë përpara. AUDIENCA: Po. Vetëm një website celular. DAVID J. Malan: Pra, të bëjë një website lëvizshme dhe jo edhe të shqetësuar në lidhje me këtë kompleksitet. Apo ndoshta një strategji të arsyeshme, të cilën edhe Facebook mori, është të fillojë me një hibrid Aplikimi për shkak se ajo nuk është e që shumë më të vështirë për të bërë këtë se sa kjo. Ju vetëm duhet për të lexuar disa dokumentacionin dhe të kuptoj se si të ngarkoni gjëra në App Store. Pra, ndoshta ju filloni me kjo, kështu që në një ditë, ju mund të mbështesë të gjitha përdoruesit e juaj. Dhe pastaj, ashtu si Facebook dhe kompani të tjera kanë bërë, kur ju keni të burimeve, ju keni popullin, pse nuk ju ri-zbatuar vetëm aplikimi iOS. Ju ende keni diçka për të gjithë, edhe pse kjo është një përvojë inferiore ndoshta, me aplikimin hibrid. Por ju mund gradualisht hap dhe të zëvendësojë afat të shkurtër masat e Apps hibride me aplikacionet tuaja më amtare. AUDIENCA: Por me një app hibrid ju do të kenë qasje në karakteristika celular? DAVID J. Malan: Jo domosdoshmërisht. Pra, ndoshta ju bëni një vendim të ndërgjegjshëm herët, ju mund të ngarkoni fotografi vetëm në Aplikimi amtare iPhone për Facebook, por jo në aplikimin Android, fillimisht, për shembull. Dhe kjo është pak e një gënjeshtër të bardhë, sepse aplikimet web kanë shumë kufizime se aplikimet hibride rezulton jashtë, dhe nëse lexojmë dokumentacionin për PhoneGap dhe gjëra të tilla si ai, njerëzit kanë dalë me mënyra për të dhënë aplikacionet web bazuar qasje në kamera, për aq kohë sa ju jeni duke përdorur një aplikim hibrid. Si funksionon kjo gjë? Sepse hibrid aplikimit, sipas definicionit, ka pak e kodit në Objektivi-C, dhe Swift, dhe Java, ose në C #, ai mund të hyni në hardware. Jo domosdoshmërisht çdo gjë, por ajo mund shumë mirë të jetë rasti që ju keni qasje të mjaftueshme për të marrë kamera, edhe për platformat Android, për shembull, në këtë shembull e sajuar. Çdo pyetje të tjera? Në rregull. Pse nuk marrim tonë 15 minuta pushim këtu. Ne do të vazhdojë në tre me një finale shikoni në programimin e internetit, bazat e të dhënave, dhe Javascript.