DAVID J. Malan: Hivyo sisi ni nyuma. Hivyo kiwango cha juu cha mada wakati sasa ni teknolojia mwingi, ambayo si hasa kiufundi mrefu, ni zaidi ya kukamata wote kwa ajili ya yoyote idadi ya mchanganyiko wa teknolojia kwamba unaweza kutumia ili kutatua matatizo. Na labda zaidi njia ya kufaa kuanza itakuwa kuangalia lugha tangu Mimi kuendelea rattling mbali rundo zima na wengi kila mtu katika chumba ina pengine habari za angalau moja. Na hivyo kwa nini sio sisi kujaribu kutofautisha what-- kutofautisha lugha hizi na majadiliano kwa ufupi juu wakati wewe ungekuwa kuchagua moja juu ya nyingine, jinsi wao uko aina ya kimsingi tofauti, na hasa wakati wewe ni kuzungumza na wahandisi, au kujaribu kuamua nani wa kuajiri, au nini utekelezaji pendekezo la Greenlight, jinsi gani kweli kufanya aina wale wa maamuzi. Basi hebu tu njuga baadhi ya mambo mbali. Ya lugha ya watu wana kusikia kuhusu, nini inakuja akilini? C. OK. OK, C ++. Nini kile? Watazamaji: Python. DAVID J. Malan: Python. Excellent. Kipi kingine? Visual Basic. Nilisikia Java. Visual Basic-- jina lingine VB. Java. NET, ambayo ni zaidi ya kukamata zote kwa nini kwa kawaida C # kama lugha katika swali. Na napenda kutaja kwamba. Hivyo tutaweza kuja nyuma na kwamba. Samahani? Pole? Watazamaji: SQL. DAVID J. Malan: Scratch? Watazamaji: SQL. DAVID J. Malan: Oh, SQL. SAWA. SQL. Hivyo tutaweza kuja nyuma that-- kweli, ni wakatenda mema baada ya mapumziko vilevile. Kipi kingine? Watazamaji: Oracle. DAVID J. Malan: Hivyo Oracle, si lugha. Kwa kweli wangeweza kutumia SQL kama vile. Basi hebu kuweka kwamba baada ya mapumziko vilevile. Na pole, kitu zaidi ya hapa? Watazamaji: Mathematica. DAVID J. Malan: Mathematica? OK, uhakika. Na MATLAB ni aina ya juu kuna wakati mwingine. Watazamaji: R. DAVID J. Malan: R. Hebu kwenda zaidi ya hapa. Fortran. Uhakika. Wazee shule. Fortran. COBOL. Mimi itabidi toss nje BASIC. BASIC. Any-- Watazamaji: MATLAB? DAVID J. Malan: MATLAB. Oh, kuwapiga yake. Kitu chochote? Siwezi kufikiria michache ya wengine. Siwezi kufikiria wengine wachache. Na nini ilikuwa mwisho? Watazamaji: ASP. DAVID J. Malan: ASP? Yeah. Active server kurasa. Kuwa kwa ujumla bila kuanguka chini ya lugha nyingine, wakati mwingine C #, hivyo hebu kuondoka kwamba mbali. Lakini tutaweza kuja nyuma na kwamba kwa mifumo na vile. Kitu kingine? PHP ni maarufu. Ruby ni mwingine. JavaScript, si kwa kuchanganyikiwa na Java, ni mwingine. Hiyo ni aina ya mengi. Hivyo inaweza kuwa hakika balaa, kana orodha ni si tayari, tu kuanza kujua wapi kuanza. Na hivyo kwa bahati nzuri, hebu mbinu hii kutoka pembe chache. Kwanza, hebu jaribu kuainisha angalau baadhi ya lugha hizi katika ndoo mbili pana, kukumbusha ya mazungumzo tulikuwa kabla ya mapumziko, ambapo kuongelea kuandaa, na kanuni chanzo, na mashine kanuni, kwa sababu si kwamba jinsi lugha zote kazi. Hivyo tutaweza kuyang'oa mifano michache of-- au kukabiliana na examples-- kwa mfano kwamba. Na kisha, kwa nini sio sisi majadiliano juu ya maombi kwamba lugha hizi kwa ujumla kutumika kwa ajili ya. Na kusema ukweli, ingawa hii ni orodha pretty muda mrefu, ni tu subset ya orodha hii kwamba ungependa kawaida kuteka kutoka siku hizi kutatua matatizo. Baadhi ya lugha ni karibu zaidi kuliko wengine. Baadhi ya lugha ni maarufu zaidi kuliko wengine. Hivyo si kama una hiyo Kazi balaa kabla wakati wa kuamua miongoni mwa hizi lugha mbalimbali. Basi hebu kufanya hili. Tulikuwa awali, chanzo kanuni, na kisha tulikuwa mashine kanuni. Whoops. Kuandika neno sahihi. Machine kanuni. Na tulikuwa na baadhi ya mchakato katika katikati called-- yeah, compiler. Hivyo compiler. Na nini kificho mashine kweli anaendesha juu ya mwisho ni kwenda kuwa CPU yako halisi. Kwa maneno mengine, kwa mashine code, I maana kiwango cha maelekezo ya chini kwamba CPU kweli anaelewa. Aidha, kutoa, hoja, kuokoa, na shughuli kama hiyo. Na hivyo hii ni mfano wa kuigwa kwa nini ujumla inayojulikana kama lugha ulioandaliwa. Pengine si ya kushangaza. Hivyo hii ni mfano wa kuigwa kwa lugha ulioandaliwa. Lakini zinageuka kuna ya kundi jingine la lugha aitwaye kutafsiriwa languages-- kufasiriwa languages-- kwamba ni tofauti kidogo. Wewe kuandika katika chanzo kanuni, kukimbia yao kupitia mkalimani, na kwamba mkalimani ni nini anaendesha CPU. Kwa maneno mengine, nini huna emit ni nini, inaonekana? Machine kanuni. zeros na ndio kwamba CPU yenyewe hatimaye anaelewa. Hivyo katika toleo hili la kwanza na lugha kama C, kama tuliona, wewe kuandika katika chanzo kanuni hiyo ni arcane kidogo, lakini angalau ni aina ya Kiingereza-kama na ni angalau someka mara moja kupata kutumika yake. You kukimbia kwa njia ya compiler na nje kupata, hatimaye, zeros na ndio. Hiyo kurahisisha. Kuna baadhi ya hatua nyingine katika huko. Kwa kweli, kama wameweza milele kusikia neno "mkutano lugha," hiyo ni hatua moja mbele zeros na ndio. Hiyo kidogo zaidi someka, lakini bado pretty arcane. Na hivyo kuna hatua ya kati ambazo, kwa kweli, kinachoendelea hapa. Lakini pato, hatimaye, ni zeros hizo na ndio. Lakini katika kufasiriwa dunia, ambapo una lugha ambazo ni kufasiriwa lugha, wewe kweli ruka hatua hiyo. Kwa maneno mengine, wakati wewe kuandika mpango, wewe tu mara moja kukimbia nayo. Huwezi kukusanya ni na kisha kukimbia, kama mimi hapo awali. Wewe tu kuandika ni na kukimbia nayo. Na kama unataka kufanya mabadiliko ya haraka, kufanya mabadiliko ya haraka na rerun yake. Hivyo hakuna hatua katikati hapa. Sasa, kwa mpango niliandika hapo awali, ambayo ilikuwa hii "Hello World" mpango, waweza sababu wonder-- au inawezekana sababu state-- hiyo haikuwa huo kuteketeza kukusanya mpango wangu. Inaonekana wamefanya hivyo tu kama hiyo. Na kuna graphical matoleo ya compilers. Mimi nina kutumia toleo arcane sana, lakini unaweza kugonga kifungo kucheza na kwamba itakuwa kweli kufanya mkusanyiko kwa ajili yenu. Nimekuwa ulioandaliwa mpango na kisha tena, kuendesha, mimi tu kufanya hivyo. Na ni matokeo upande wa kushoto huko, "Hello!" Kwamba haionekani yote kutaabisha. Lakini wakati mipango yako ni zaidi ya moja tu, mbili, tatu, nne, tano mistari ya muda mrefu, inaweza kuchukua sekunde mbali zaidi kukusanya. Wakati mwingine hata dakika au kidogo kabisa ya muda wa kukusanya. Baada ya yote, baadhi ya bidhaa kubwa duniani ni mambo kama mifumo ya uendeshaji, Microsoft Word, Microsoft Excel, ambayo inaweza kuwa mamia ya maelfu au hata mamilioni ya mstari wa kanuni ya muda mrefu, na wale sio tu mara moja kutekeleza. Aidha, kwenye mtandao, ni kuwa mtindo wa kutumia tu kufasiriwa lugha, katika sehemu kwa sababu wewe wanaweza kufanya mabadiliko kama developer na kisha tu mara moja upya kisakuzi ukurasa na mara moja kuona matokeo. Na hivyo HTML, wakati si lugha ya programu, ni lugha hiyo kufasiriwa. Na tuliona kwamba athari sawa jana. Wewe tu upya ukurasa baada ya kufanya mabadiliko katika Cloud9 and-- voila-- unaweza kuona matokeo mapya. Basi nini tofauti hapa? Katika HTML, kukumbuka, tulikuwa na wazi HTML, wazi kichwa, kichwa wazi, cheo karibu, karibu kichwa, wazi mwili, na kadhalika. Tulikuwa na yote haya vitambulisho kwamba sisi pretty Mengi yamesemwa, kuwaambia browser nini cha kufanya. Hey browser, inakuja HTML ukurasa. Hey browser, inakuja cheo. Hey browser, inakuja baadhi Nakala kwamba lazima kuwa na ujasiri. Na kisha kumweleza kinyume. Hey browser, hiyo ni yake kwa ujasiri uso maandishi. Hey browser, hiyo ni kwa ajili ya mwili. Na kadhalika. Na hivyo ndivyo browser? browser ni tu mkalimani. Ni mpango kwamba mtu kama Microsoft au Google ameandika, ambao lengo katika maisha ni kusoma lugha, unaojulikana kama HTML, na kuifasiri. Juu hadi chini, kushoto na kulia. Na wakati wowote kisakuzi anaona wazi bracket, cheo, karibu mabano, ni lazima kutafsiri kwamba kama maana, loo, kwamba maana mimi lazima kuyaweka maneno haya njia hapa juu kwa juu ya browser. Hivyo ni tu anafanya nini HTML code anasema. Lakini hakuna zeros na ndio. Hakuna kutungwa. You hakufanya hivyo. kisakuzi hakufanya hivyo. Ni tu si kushiriki. Hivyo katika roho ya haya yanayoendelea mada, leo na jana, kwamba inaonekana kuwa kipengele ajabu. Wewe ila kanuni yako na kisha kukimbia tu ni au kuifasiri. Hakuna hatua ya kati. Hakika kuna gharama? Hawawezi wote kuwa upsides. Hivyo kile anaweza gharama kuwa ni nani? Watazamaji: Nafasi. DAVID J. Malan: Nafasi. Hivyo, uhakika. Katika dunia ulioandaliwa, una si tu ya awali chanzo kanuni, wewe ni pia kujenga na kisha labda kuokoa mashine code-- zeros na ones-- na kwamba got kuchukua up baadhi ya kiasi cha nafasi. Kabisa. Hivyo ni gharama wewe nafasi zaidi. Yeah? Watazamaji: Browsers nguvu kutafsiri tofauti. DAVID J. Malan: Browsers nguvu kutafsiri tofauti. Hiyo ni kweli. Lakini mimi nina uhakika mimi nina vizuri wakidai hiyo ni kwa sababu ni kufasiriwa. Hiyo ni zaidi kwa sababu tu ni utekelezaji wa lugha kwamba yenyewe ina utata. Hivyo basi si kabisa kuthibitisha kwamba mmoja, lakini hunch nzuri. Nini kingine inaweza kuwa bei ya kulipwa? Andrew? Watazamaji: Wewe ni kuchanganya hatua mbili, hivyo hiyo na kuongeza utata pia. DAVID J. Malan: complex-- kuongezeka kwa utata wapi? Kwa ajili ya nani? Watazamaji: Hivyo, katika mkalimani hatua, wewe ni kuchanganya mkalimani na compiler kwa ajili tu kuongoza hadi to-- DAVID J. Malan: Ah, OK. Suala la kushangaza, pengine ni kidogo rahisi kutekeleza mkalimani, ingawa inaweza kuonekana mavuno upsides ya urahisi hili. Hivyo uwezekano wa kweli. Lakini ni aina ya inategemea, mimi kusema, juu ya lugha na juu ya jinsi walikwenda kuhusu kuutekeleza. Kuna inaweza kuwa mengi zaidi utata, kweli, katika compiler, kwa sababu tu una kwenda kutoka kitu hivyo kiwango cha juu cha kitu hivyo ngazi ya chini. Lakini wazo nzuri. Hivyo kuweka njia nyingine, mpango ulioandaliwa, wakati akageuka katika zeros hizo na ndio, mwisho juu katika lugha kwamba CPU anaongea, ambapo katika upande huu wa dunia, mpango umefanya imeandikwa, kificho umefanya imeandikwa, kamwe kweli anapata waongofu katika lugha halisi kompyuta anaongea. zeros na ndio. Anakaa katika awali, binadamu zaidi kirafiki, zaidi someka lugha. Hivyo kile anaweza kuwa na maana kuna, kama wewe si kweli kujisumbua kuwabadili yako mpango wa lugha sana kwamba kompyuta msingi anaongea? Watazamaji: Nguvu si kuelewa kitu? DAVID J. Malan: Nguvu hawaelewi kitu. Na kwamba inaweza claim-- kama hakuwa na kuelewa kitu, hiyo ni mdudu au ukosefu ya kipengele katika mkalimani. Hivyo kwamba itakuwa zaidi ya makosa ya gharama. Watazamaji: Unaweza kupata chanzo kanuni? DAVID J. Malan: Kuna moja nzuri. Hivyo upande wa chini hapa ni wewe Inaonekana kuwa na upatikanaji. Wewe, mtumiaji wa mwisho, inaweza kuonekana kwa wanapata kanuni chanzo. Na kwamba ni si kweli daima. Lakini ni kweli katika kesi ya JavaScript, ambayo tutaangalia baada mapumziko leo, ambayo ni kufasiriwa lugha ya programu kwamba kuandika katika chanzo kanuni. Lakini hiyo kanuni chanzo anapata kuhamishiwa kutoka server yako na browser na anaendesha katika browser binadamu. Hivyo hapa anaweza tu kufungua dirisha, kama nimekuwa kufanya katika Chrome, na ukiangalia hiyo, kama sisi wenyewe akapiga katika jana na Google. Ni inaweza kuangalia kidogo incomprehensible lakini ni huko. Hivyo hiyo ni kabisa moja bei ya kulipwa. Watazamaji: Utendaji hit? DAVID J. Malan: Yeah. Na kwamba ni biggie mengine. Kuna utendaji hit. Kwa sababu una hii mtu katikati, ambayo yenyewe ni mpango, kati ya wewe na CPU, kinyume tu kulisha hivi mbichi zeros na ndio katika CPU, kuna utendaji hit kwamba kuchukua na lugha kufasiriwa. Vile kwamba, kiholela, mpango ambayo inaweza kuchukua moja ya pili kuendesha kwenye kompyuta au moja dakika ya kuendesha kwenye kompyuta hapa, inaweza kuchukua sekunde 10 au 10 dakika ya kuendesha kwenye kompyuta hapa. Ni kwa ujumla si kwenda kuwa kwamba mengi ya sababu difference-- ya 10-- kwa sababu kuna optimizations unaweza kufanya. Lakini ni karibu kila mara polepole. Sasa, hasara kwa wasiwasi wake kuwa ni kwamba, vizuri kompyuta, kila 12 hadi 18 months-- kulingana na sheria Moore, hivyo kusema ni kupata tu kasi na kasi. Nina zaidi na zaidi disk nafasi. Nina RAM zaidi na zaidi. Ambao kwa kweli wasiwasi? Na hiyo ni aina ya busara hoja. Hakika, moja ya sababu kwa nini hatuwezi kuvumilia polepole kufasiriwa lugha ni kwa sababu sisi binadamu si kweli taarifa. kompyuta na wamezipata hivyo tu darn haraka. Wakati nyuma katika siku, hasa wakati vifaa ilikuwa mengi zaidi unakabiliwa, wewe alikuwa chini ya kila kitu, ilikuwa ni ghali zaidi hivyo kila kitu gharama zaidi, vizuri basi kweli alitaka itapunguza nje utendaji kama vile wewe unaweza. Lakini hiyo wanatakiwa kuandika katika ngazi ya chini, kama wewe, na lugha ulioandaliwa. Hivyo kufanya kuchukua hii hit utendaji. Lakini kwa ujumla, upsides wanaonekana kuwa na thamani yake siku hizi. Naam, isipokuwa kwa miliki suala hilo. Kwamba aina ya readability wa kanuni, tutaweza kurudi tunapoangalia JavaScript. Basi hebu jaribu kuainisha angalau wachache wa haya. Hivyo kati ya lugha ulioandaliwa, sisi ingekuwa C, C ++, kinda, sorta, Java, ingawa ni kidogo ya ubaguzi, kwa sababu mimi nitakuonyesha katika muda tu. C # itakuwa kwenye orodha hii. Tutaangalia zaidi saa tu lugha ya kisasa zaidi. Sawa. Na kwamba inaonekana kama mengi huko. Wakati upande huu wa uzio, tupate kuwa na JavaScript, na chatu, na PHP, na Ruby. Na ni kwamba kutosha kwa ajili ya ndio hivi karibuni zaidi? Kwamba anahisi kama mengi kwa sasa. SAWA. Na kisha dot dot dot, tangu orodha ni kutokuwa na mwisho. Na kwa kweli, kama tunataka tu kupata hisia ya Haya Wikipedia, ulioandaliwa lugha. Mimi guessing tunaweza kupata mbali zaidi orodha kamili. Hivyo hapa sisi kwenda. Hivyo hapa ni orodha mengi zaidi kamilifu. Na Mimi nilikuwa na matumaini mtu bila nadhani D kama lugha kwa sababu hiyo pia ipo, lakini wao kusimamishwa katika D inaweza kuonekana. Ingawa huenda kuna kweli kuwa E. Oh, kwa kweli, hii lazima kuwa katika orodha ya siku hizi. Swift ni kweli lugha ambayo Apple zuliwa kwamba sasa ni kutumika, inazidi hivyo, katika maendeleo iPhone. Lakini tutaweza kurudi kwa kwamba pamoja na mjadala wetu ya simu katika kidogo tu kama vile. Hivyo Swift pia. Na kisha kama sisi kwenda kufasiriwa language-- kufasiriwa language-- basi hapa ni orodha hata tena kama vile. Hivyo kama wewe tu google na kuangalia juu ya Wikipedia kwa haya, utaona kila aina ya lugha. Lakini lengo ni, kwa leo kweli, tu majipu chini labda hii Suala la haki miliki na readability na mtumiaji wa mwisho na kwa utendaji, ni biggie nyingine pia. Hivyo kati ya lugha hizi, napenda kuona kama tunaweza kukupa baadhi tu ya sampuli ya lugha. Hatutaki kupitia lugha zote ukomo. Je, umewahi kujiuliza kwa nini a lugha fulani inaonekana kama? Sisi alifanya kuona wakati iliyopita. Mbona sisi kuchukua michache ya kipengele maombi. Ambao wangependa kuona nini lugha nyingine inaonekana kama? Yeah. Watazamaji: Java. DAVID J. Malan: Java. Sawa. Basi hebu kwenda kwa Java. Na tu kukupa sample-- tunaweza kuandika haya yote nje, lakini itakuwa kwa kasi tu kuangalia sampuli kificho mtu mwingine. Sawa. Kwa hiyo ni mfano mzuri? Whoops. SAWA. Hivyo hapa ni Java toleo la mpango niliandika hapo awali, "Hello World." Hivyo Java, utasikia mara nyingi angalia keyword "darasa." Basi utaona baadhi jina baada ya hapo. Utaona braces curly kama tuliona kabla, na wakati mwingine wao kwenda kwenye mstari huo huo, mistari wakati mwingine wengine, ni aina ya uamuzi binafsi. Utaona maneno kama "Ya umma," "tuli", "batili." Lakini hatukuwa kuona "kuu." "Kuu" kwa ujumla ni jina la kazi default au default chunk ya kificho kwamba anapata kukimbia katika mpango. "Kamba." Je, maana sisi na kamba mapema? Nilikuwa ni aina ya kawaida. kamba ni nini? Neno. Ni kama mlolongo wa wahusika. wahusika binafsi, nyuma ya nyuma kwa nyuma, kwa kawaida katika safu, kama tumekuwa kujadiliwa. Na kwa kweli, angalia syntax hii hapa, mabano mraba mbili? Hii ina maana, hey kompyuta, hapa inakuja safu ya masharti. mraba bracket nukuu ni kawaida kutumika kuashiria kwamba. Na kisha pengine unaweza kuchukua guess-- nini gani hii yalionyesha chunk ya kificho pengine kufanya? Watazamaji: pato? DAVID J. Malan: Yeah. Ni Prints kitu screen. Hivyo "mfumo" ni aina ya kumbukumbu ya kompyuta yako. "Kati" maana yake kompyuta yako pato au screen. Hivyo "system.out.print ln" pengine maana yake? "Ln." Magazeti line ambayo programmers kama kwa inaonekana Spell baadhi ya maneno nje katika ukamilifu wao na kuchukua shortcuts kwa maneno mengine. Lakini "ln" ni mstari, hivyo line magazeti. Hivyo ni Prints nje "Hello Dunia! "Ikifuatiwa na mstari mpya. Hivyo hiyo ni yake. Lakini Java ni nini wao itabidi wito kitu-oriented. Na hakika, tu kutoa michache ya ufafanuzi mengine pale kwamba waweza kuona, kwa ujumla, kuna watu wengi aina mbalimbali za lugha, lakini ya kawaida ni kiutaratibu au muhimu lugha. Kuna kazi lugha, ambayo haina maana kwamba wengine ni nonfunctional. Na kisha kuna kitu-oriented lugha. Na hii ni labda bora categorization ya lugha nyingi kwamba ungependa milele kuchagua kwa aina ya mradi kawaida ya kibiashara. Hii itakuwa sana ya, Nadhani, ya shimo panya ya kwenda chini, ili kujaribu kueleza tofauti mbalimbali. lakini lugha tumeona hivi far-- C ni kiutaratibu au lugha muhimu. Hivi karibuni zaidi zuliwa Lugha huwa na kuwa, sorry, kitu-oriented, ambayo ina maana wao kuwa na sifa nyingine kwao. Naweza kueleza ni kwa njia hii? Hebu hata kwenda chini huko. Kitu-oriented njia unaweza implement-- unaweza mfano ulimwengu wa kweli kidogo kwa ufanisi zaidi. Ubinadamu, baada ya muda, ina figured nje, wow, itakuwa nzuri kama lugha yangu alikuwa kipengele hiki au kwamba kipengele. Na kwamba ni kwa nini tuna hivyo lugha nyingi duniani. Watu busara, smart watu, kukubaliana au kutokubaliana na invariably aina ya kuja pamoja juu ya kuendeleza lugha mpya wote pamoja. Uchunguzi katika kumweka. Apple zuliwa Swift katika matumaini ya labda kupunguza bar maendeleo iPhone, kwa sababu language-- uliopita aitwaye Lengo-C, ambayo inaweza pia kuwa katika orodha yetu here-- ilikuwa zaidi arcane na mengi vigumu wrap akili ya mtu kote. Na kama programu ni kuwa arguably zaidi kupatikana na zaidi kwa upana iliyopitishwa na watu hata chini ya kiufundi, goal-- ni lengo mashujaa sana kwa kujaribu kupunguza kikwazo kwa kuingia kwa kufanya lugha wenyewe rahisi ya kupata ilianza na, lakini hakuna chini ya nguvu lazima. Na lugha nyingine moja. Mbona sisi tuangalie katika kitu kama chatu, ambayo ni mengi sana katika Vogue siku hizi. Python. Mfano wa mpango. Hebu tuone. "Hello World" lugha. Hebu kufanya hivyo. "Salamu, Dunia." Hebu tuone kama hii inatoa sisi mfano mzuri. SAWA. Hivyo hii ni kweli aina ya furaha. Hivyo kama wewe milele google "Hello World," ambayo hutokea kwa kuwa moja ya mipango ya kwanza milele imeandikwa katika lugha ya kisasa, tu kama ushahidi wa dhana, unaweza kuona kila aina ya utekelezaji wa hii. Baadhi ya lugha hizo Nimekuwa hata kusikia. Lakini unaweza see-- hebu kwenda Basic, moja mimi kujifunza miaka iliyopita, katika sehemu. Hii ilikuwa ni lugha furaha kwa sababu wewe ilibidi, kama programu, idadi yote ya mistari yako. Si tofauti na kile Mimi nilikuwa kufanya wakati mimi nilikuwa kuandika pseudocode juu ya hati njano mapema kwa ajili ya kutafuta binary, kwa ajili ya kutafuta kitabu cha simu. Na hivyo, kama alitaka kwenda mstari mwingine, ungependa literally aina, kwenda 10, au kwenda 20. Na kama wewe ni kuandika mistari, mkataba ulikuwa ni kufanya, hii ni mstari wa 10, hii ni mstari 20, hii ni mstari 30, 40, na kitu katika kati, hivyo kutoa mwenyewe baadhi chumba kama wewe kuamua, kusubiri dakika, Mimi ni lazima kuwa aliongeza baadhi zaidi kificho mahali fulani. Bado alikuwa na aina ya nafasi tisa kwa itapunguza kwamba katika kati ya mpango wako kabla alikuwa na manually renumber kila kitu. Hivyo hii ni aina ya nini namaanisha wakati mimi kusema dunia ina kuja na makala mpya. Mahali fulani njiani mtu barabara, kijana huyu ni ya kijinga. Hii ni kujenga tu kazi kwa ajili ya programu. Hivyo yeye au yeye tu aina ya kujengwa safu mpya juu ya kwamba hivyo kwamba huna kuwa na wasiwasi kuhusu nini mstari idadi kanuni yako ni kweli juu ya. Hivyo wakati wewe kuchagua inaweza lugha moja au nyingine? Naam, yupi kati ya hawa Lugha kufanya wewe huwa kusikia kuhusu zaidi katika dunia yako mwenyewe siku hizi? Hebu kushuka chini Lengo-C mno. Watazamaji: C #. DAVID J. Malan: C #. Hivyo basi mimi rangi. Je, tuna rangi wetu wengine mahali fulani? Hivyo C #. Na je, unajua kuhusu C #? Chochote spring akilini? Watazamaji: Ni lugha ya programu. DAVID J. Malan: Ni lugha ya programu. SAWA. Hiyo ni kweli. Hivyo sisi ni kuzungumza juu ya C #. C # huelekea kutumika katika Windows mazingira, hivyo kama wewe ni kuandika programu ya Microsoft kwa Windows, C # ni kawaida sana kutumika, kama ni kwa ajili ya programu desktop, au hata programu ya simu kwenye simu za Windows, kama umeshapata hizo, au kwenye mtandao hata pia. Na kwa kweli, labda Kareem zilizotajwa ASP mapema? Hivyo kuna pia hivi mambo kuitwa mifumo, ambayo tunaweza kuanzisha kwa ugani. Mifumo, kama ASP. Anasimama kwa kurasa kazi server. Na hii ni kanuni na njia ya programu kuwa kwa ujumla inafanya kuwa rahisi kuandika maombi ya mtandao msingi. Kwa maneno mengine, itakuwa super, super annoying kuandika tovuti katika lugha C kwamba tumeona kabla, kwa sababu ingekuwa kutumia magazeti + F, ingekuwa kutumia kwamba keyword "Kuu" na braces curly. mengi ya syntax arcane na mbinu za kutekeleza kitu ambacho ni haki tata. mtandao ukurasa. Na hivyo lugha nyingine utvecklats kufanya jambo la aina hiyo rahisi. Na kwa upande wake, watu wamekuja na mifumo, aina ya zana kwamba unaweza kutumia kwamba kufanya hivyo ni hata rahisi kuandika kurasa za mtandao. Hivyo kwa mfano, ili kufanya hii ya saruji mengi zaidi, basi mimi kufungua tu Nakala faili kwa muda. Na unaweza kukumbuka jana kwamba sisi alisema kitu kama, hii ni ukurasa wa mtandao. HTML. Close HTML. Hebu ruka kichwa na tu kufanya mwili hapa. Tuseme kwamba nilitaka kuandika si "Hello World," lakini "Hello David," ambapo yule Daudi yuko jina la sasa watumiaji katika user. Nini kitu kama ASP atafanya, au JSP-- ambayo ni Java server pages-- au idadi yoyote ya mifumo nyingine ni wao siyo lugha, per se. Wao ni tu kama programu ya ziada kwamba wewe itakuwa kufunga katika mazingira yako kwamba tu iwe rahisi kwa mpango. Hivyo kwa mfano, badala ya kuwa na kufanya kitu kama "hello, printf (" David ")" au kitu ambacho ni aina ya ushirikiano mingling-- aina ya kificho tumeona kabla, ungependa kufanya kitu rahisi sana, kama "jina%." Na hivyo mifumo hii, kama ASP-- na mimi sikumbuki kama mimi nina kupata syntax haki tu kwa ajili ASP. JSP ni little-- ni haki hii? Hivyo, pamoja na ASP, hii ni aina ya syntax maalum kwamba baadhi ya watengenezaji wameamua hii inaweza kuwasaidia watu nje. Na siwezi kueleza kwa ufupi zaidi placeholders, kwa mfano. Kama kuweka thamani hapa, ambapo hii jina thamani ya kitu si N-A-M-E, ni baadhi ya thamani kuhifadhiwa katika huko. Hivyo "jina," katika hali hii, tunataka kuwaita kutofautiana. Algebra ina vigezo kama x, na y, na z. Programmers kutumia vigezo kwamba ni maelezo zaidi ya x, y, na z, kawaida. Hivyo "jina" ingekuwa literally kuwa baadhi ya aina ya kumbukumbu chombo kwa kitu kama D-A-V-I-D, kwa jina langu, au mtu mwingine ni watumiaji katika tovuti. Na hivyo hii ni aina ya urahisi kupata na mazingira fulani. Hivyo C # na kitu kama ASP ingekuwa sana kawaida kutumika katika dunia Windows, iwe ya desktop wake programu au mtandao wa kompyuta, hasa kama seva yako ni kwa upande mbio Microsoft Windows na Microsoft IIS-- au Internet Habari Server, kama mimi kupata kifupi right-- ambayo ni Microsoft mtandao wa kompyuta. Kwa hiyo kile lugha nyingine ni folks ukoo na, au umesikia wa mara nyingi zaidi kuliko? Watazamaji: Najua kwamba Python aina ya maarufu [inaudible]. DAVID J. Malan: maarufu sana. Hivyo Python hapa ni kutumika mara nyingi sana katika maombi ya kisayansi au data sayansi, ambapo una mengi ya data kwamba unataka kuchambua na unataka kutumia lugha ya programu kwa ajili yake. R inaweza kawaida kutumika kwa ajili ya kwamba pia, katika mazingira takwimu. Lakini Python ina wengi makala kujengwa katika. Hivyo nyingi za ziada maktaba, kama watu wanavyosema. Maktaba ni makusanyo tu wa kanuni kwamba watu wengine aliandika kwamba unaweza kutumia ili uweze hawana reinvent gurudumu hizo. Na hivyo chatu ni kawaida sana kutumika katika maombi data sayansi. Lakini pia ni kawaida sana kutumika katika maombi ya mtandao. Unaweza kutekeleza nguvu tovuti kwa kutumia Python. Na kwa tovuti ya nguvu, I maana maudhui si tu tuli kama sisi aliumba jana, na bidii tu coding katika Amerika ya maandishi na mambo mengine kama hayo, lakini badala ya uwezo kuingia katika, uwezo wa kununua kitu, uwezo wa kuangalia nje ya na ununuzi mikokoteni yako, au kama. Yote hayo inahitaji mabadiliko na wewe haja ya baadhi ya lugha kama mojawapo la hayo. Watazamaji: Hivyo haina Python na yake mwenyewe ugani, sawa na kama [inaudible] DAVID J. Malan: Ni anafanya. Hivyo katika ulimwengu wa Python, Django ni mfumo maarufu sana kwa chatu. WSGI ni utaratibu mwingine hiyo ni aina ya tofauti na hii lakini sawa katika roho. Ni add-on kwamba inaruhusu kuendesha Python kanuni ya server. Kuna other-- yeah. Basi hizi tutaweza wito mifumo hiyo. Na ni kidogo ya unyanyasaji. Hii ni zaidi ya teknolojia mtandao wa kompyuta. Lakini tutaweza kushika ni rahisi na kuweka hivyo katika safu hii hata hivyo. SAWA. WSGI. WSGI. Mwingine thing-- na kweli, basi mimi hoja kwamba kwa safu yake mwenyewe, kwa sababu napenda yell saa yangu kwa kuwaweka katika ndoo moja. Hebu kuweka hii katika server makala, hebu sema. Hiyo si kiufundi mrefu. Hivyo hapa sisi inaweza kuwa WSGI. Kuna CGI, ambayo ni mkubwa mbinu kwa ajili ya kuwahudumia up lugha kama Perl au PHP, au baadhi ya wengine. Tena, nimekuwa zilizotajwa maneno haya sio sana kwa aina ya ingrain yao, lakini ili kwamba kama unaweza kuona nao ni kitu wewe tu google kusoma zaidi. Hakuna juisi halisi kwa baadhi ya mambo haya. Lakini hebu kwenda nyuma ya lugha. Kuongelea C #, Python. Nini kingine inaweza kutumia kwa ajili ya mtandao programu siku hizi? Hebu kuzingatia kwamba bado. Watazamaji: PHP. DAVID J. Malan: PHP. Na hebu kuja nyuma na kwamba moja. Hivyo PHP ni kawaida sana kutumika. PHP huelekea kupata rap mbaya. Ni ilianza kama lugha kutekelezwa na folks ambao labda walikuwa si lazima lugha bora wabunifu. Na hivyo unaweza kusoma kila aina ya makala online kuhusu jinsi mbaya PHP ni. Na kwa bahati mbaya, hii ni udhihirisho, kwa sehemu, ya tu mijadala ya kidini kwamba kuibuka miongoni mwa programmers. Na hili ni jambo thamani ya kushika katika akili, kutokana na mtazamo wa biashara, kwamba ni rahisi sana kwa watu wa kiufundi kupata wote kazi juu na wao maoni juu ya mambo fulani. Na haimaanishi kwamba mmoja kunguruma loudest au na wenye nguvu, angriest maoni ni haki. mara nyingi, ni kweli tu haina jambo. Na hivyo watu wanahoji tu chochote biases yao wenyewe au kanda faraja ni. Na hivyo unapaswa kuweka kuwa katika akili wakati wa kufanya uamuzi, kwamba tu kwa sababu mtu anasema hii ni lugha haki kwa kazi, hiyo inaweza kuwa ni kweli, lakini pia tu inaweza kuwa ni lugha ya kulia ndani ya ujuzi wao wenyewe kuweka au eneo la faraja. Ambayo si mbaya, lakini unapaswa kutambua kwamba huenda kuna baadhi ya mazingira huko. Kuna baadhi ya objectively kauli makosa, kama C ni lugha vibaya kutumia siku hizi kwa ajili ya utekelezaji tovuti karibu kila wakati. Lakini siyo mantiki kusema kwamba yoyote ya hizi ni makosa kwamba tumekuwa ikizunguka hivi sasa. PHP aliyepata kupitia matoleo mengi. Hivyo lugha huwa na kuwa na toleo la idadi kuhusishwa na wao. PHP ni hadi, nadhani, toleo 7 sasa, hivyo imekuwa karibu kwa muda kabisa. Na kama lugha kupata karibu zaidi, wao mara nyingi kupata makala mpya. Lakini una kukumbuka ya hii kwa sababu kama tovuti yako imekuwa kutekelezwa katika toleo 7 ya PHP lakini wewe ni kujaribu kukimbia tovuti yako, au labda umefanya outsourced maendeleo ya kanuni yako kwa mtu mwingine na wanayokutumia ni wewe au kutuma kwa ninyi na wanasema, hapa, kuweka hii kwenye mtandao kompyuta yako, kama mtandao wako server ni chache Miaka outdated-- kama ni server yako mwenyewe au host-- mtandao huenda ikawa si kweli kuendesha. Basi hizi ni aina ya mambo ambayo mtu mahitaji ya kuwa kukumbuka ya wakati kuwaendeleza tovuti au kutekeleza hayo kwa mara ya kwanza. Nilisikia JavaScript mapema. Hivyo JavaScript ni ya kuvutia moja kwa kuwa ni kwa ujumla mteja upande, kama tutaweza kuona baada ya mapumziko, ambayo ina maana ni anaendesha katika browser mtumiaji. Lakini pia unaweza kukimbia JavaScript siku hizi kutumia kitu kinachoitwa Node.js, ambapo Node.js ni utaratibu wa mbio JavaScript code server upande, badala ya kutumia Python, au PHP, au lugha nyingine kama hizo. JavaScript ni hasa inafaa kwa ajili ya maombi chat na muda halisi maombi, ambapo PHP si kubwa lugha ya kutekeleza kitu kama server chat, ambapo watumiaji kukaa kushikamana na hivyo mara kwa mara. PHP ni zaidi ya ziara me mara moja, kupata nyuma matokeo, na kisha click kiungo mwingine baadhi sekunde au dakika kuanzia sasa. Wakati Node.js na JavaScript inaweza kuwa kutumika zaidi kwa ajili ya uhusiano kuendelea. Lugha nyingine kwamba mtuhumiwa ni kawaida kutumika kwa ajili ya mambo ya mtandao? Watazamaji: Je, jQuery kuwa mfumo? DAVID J. Malan: Swali zuri. Wala. Napenda wito jQuery maktaba, ambapo tena maktaba ni tu rundo la kificho kwamba mtu mwingine ana imeandikwa kwamba kwa ujumla kutatua baadhi ya matatizo ambayo hufanya hivyo, hopefully, rahisi kwa wewe kufanya kazi yako. Na napenda kufanya mfano mmoja wa huu katika mazingira ya mtandao. Katika mazingira ya mtandao kuna lugha hii, JavaScript, kwamba tutaweza kuona baadaye, ambapo wewe anaweza kusema kitu kama hii "Document.getElementByID." Na nini mimi simu yake jana? Kwanza, nadhani, ilikuwa ID kipekee Nilitoa kwa kipengele kwamba inaonekana kama hii. "P id =" kwanza ">" na kisha tulikuwa kama "Lorem ipsum," na kadhalika. Hivyo kama mimi walikuwa kuandika mpango katika JavaScript kwa namna fulani kuendesha, mabadiliko kurasa za mtandao kwamba sisi walikuwa kucheza na jana, Napenda kutumia hii yalionyesha mstari wa kanuni kupata kwamba snippet fulani ya HTML kutoka ukurasa wangu, kwamba nodi fulani, kama tutaweza simu yake. Hata hivyo, katika jQuery, badala ya kuandika hii, ambayo ni mbichi JavaScript code-- tu nje ya boksi, kwamba ni jinsi gani kuandika it-- ungependa badala tu kusema, "#first." Hiyo ni sawa. Na hivyo msingi tu juu ya hii sana mfano arcane, nini labda ni hoja kwa kutumia jQuery? Kwa nini developer kutumia maktaba kama jQuery, kwa kuzingatia mfano huu pekee, labda? Watazamaji: Chini kanuni. DAVID J. Malan: Yeah. Ni chini kificho. Ni tu kwa kasi na aina. kupingana ni kwamba inaonekana scarier. Unaweza si kweli kusoma kushoto kwenda kulia. Kwa kweli, kwa sababu ni zaidi punctuation sasa badala ya halisi ya maneno, Siwezi aina ya kudai kuwa "Document.getElementByID" anapata kipengele kutoka hati na ID yake. Mimi kwa kweli wanaweza kutumia hakuna vile mnemonics kutoka jambo hili hapa. Hivyo ni biashara mbali. Kuna sophistication kwamba anakuja mara nyingi kwa kutumia maktaba, hasa kama jQuery. Lakini ukweli ni jQuery ina aina ya kuwa de facto standard, ili mtu yeyote karibu hizi siku ambaye anaandika JavaScript kificho anatumia jQuery au kitu kama hayo, na tena anaandika kama maneno verbose kama hii, kwa sababu tena, ubinadamu amejifunza, wow, kwamba alikuwa aina ya amekosa nafasi kufanya maisha yetu rahisi. Hivyo binadamu kufanya maisha yao rahisi. swali zuri. Lugha nyingine ya kuzingatia. Napenda kusema miongoni mwa huu orodha Ruby ni maarufu kabisa. Na hivyo katika dunia ya Ruby, kuna mfumo aitwaye reli, ambayo ni maarufu sana. Hivyo Ruby juu ya reli ni kawaida kutumika kujieleza. Pia katika dunia hii, napenda mduara Java kwa mambo ya mtandao, ambapo katika dunia ya Java unaweza kuwa JSP, au Java Servlets, ambayo ni teknolojia ya kawaida. Na hii ni tena njia za kutumia kwamba lugha katika mazingira server. Hivyo hii ina maana gani? Kama nimepata kimwili server, wewe ungekuwa literally download mtandao wa kompyuta programu na kufunga hiyo kwa namna kwamba una msaada kwa ajili ya moja ya mifumo hii, na ambayo inaweza, kwa upande wake, kutumia moja au zaidi ya lugha hizi. Na katika hali halisi, kama ishara kwa ajili ya kama jeshi mtandao au baadhi ya wingu Huduma tukazungumza kuhusu jana, mara nyingi mambo tu kuja na Configuration mashine kwa ajili yenu. Huwezi haja ya kuweka hii up manually. Lakini kama alivyofanya, hii ni mahali ambapo jukumu ya msimamizi wa mfumo, hivyo kusema, linachukua nafasi. Yeye au angeweza kweli kufanya aina hii ya mambo kwa ajili yenu, au kinachojulikana Mama wavuti Kitabu Cha ingekuwa mara nyingi kufanya hivyo kwa ajili yenu. Sawa. Maswali yoyote juu ya baadhi ya haya hapa? Au fursa yoyote wakati zote kuuliza kuhusu lugha? Mfumo? Kisha napenda kuanzisha moja tu wengine maktaba hilo pia ni ya kawaida sana siku hizi. Orodha hii inaweza kwenda juu infinitely. Na maktaba hii ni aina ya kuanza kuanguka nje ya neema. Imekuwa ni karibu. Ilikuwa umaarufu na Twitter kwa muda fulani. Na sasa kura ya Nje, kura ya watengenezaji matumizi yake. Lakini mambo mapya ni kuja nje na kuja pamoja. Lakini ngoja tu kukupa hisia ya nini maana ya kutumia maktaba. Hivyo tena, JavaScript ni Lugha maarufu sana. CSS, au kuachia Style Sheets, kuongelea jana. Kwamba, pia, ni omnipresent. Hakuna mtu hufanya ukurasa wa mtandao leo bila kutumia HTML na CSS minimally. Lakini ni mara nyingi sio rahisi kufanya mambo fulani. Na hivyo basi mimi kwenda getbootstrap.com. Whoops. Hiyo si jinsi sisi Spell. Getbootstrap.com, ambayo ni kwenda uniongoze kutua ukurasa kwa ajili ya maktaba hii. Hivyo wao kwa ukarimu kuwaita wenyewe mfumo, ambayo ni aina ya aina ya haki, lakini mimi bado kuita yake zaidi ya maktaba ya mfumo. Lakini hizi ni baadhi tu ya arguable semantiki. Hebu kwenda CSS tab yao na napenda kwenda kitu kama hiki. Hivyo kukumbuka kile fomu yetu inaonekana kama jana juu ya Cloud9? Ilikuwa ni pretty mbaya. vifungo shule za zamani. Nadhani button ilikuwa kijivu na default. Na kila kitu alikuwa kweli mpangilio kabisa messily. Hivyo kama unataka mtandao fomu yako kuangalia kidogo nicer-- napenda kuvuta hapa. Na kwa nicer Mimi kwa kweli tu maana aesthetics nitpicky sana. Hivyo taarifa jinsi sanduku email kuna ina rounded pembe rectangular yake. Hivyo ni safi kidogo huko. Taarifa kwamba email neno ni pale mpaka mimi kuanza kuandika na kisha huenda zake. Hivyo hiyo ni nzuri kipengele kidogo. Angalia jinsi jambo ni aina ya inang'aa nicely, ambayo baadhi yenu hii kupata kwa bure kutoka browser yako, lakini baadhi ya hii pia ni maktaba, kificho kwamba watu wengine wana Imeandikwa kwamba kukupa hii. Kitu kama hii anitiaye password yangu. button Hii ni kidogo sexier kuliko default. Sana katika Vogue sasa hivi. Tangu iOS 7 au hivyo, dunia imenipatia gorofa sana, ambapo dunia kabla alikuwa kura ya vivuli tone, kura tafakari juu ya icons. Mengi kama katika dunia ya mavazi, kuna mwenendo wa mtindo kwamba kuja na kwenda. Sasa kila kitu ni gorofa kwenye simu yako. Kwa kweli, kifungo juu yako iPhone ni sasa tu ya bluu viungo. Kuna si mara nyingi hata mviringo vifungo. Hivyo haya ni mambo tu kwamba kwenda ndani na nje ya Vogue, na hivyo hii ni jinsi ya unavyoweza kufanya kisasa zaidi kuangalia mtandao fomu. Vifungo. Hivyo Bootstrap ina kura ya vifungo pretty. Hivyo kama unataka vifungo bluu, kifungo kijani, bluu, machungwa, nyekundu. Bootstrap inafanya kuwa rahisi kufanya mambo haya. Hizi ni aina ya mambo kwamba unaweza kabisa wamefanya jana na CSS na kwa HTML, lakini ni tu maumivu ya shingo. Na hivyo badala, nini Bootstrap ingekuwa kuwa na wewe kufanya ni kitu kama hiki. Kama unataka button-- zamu nje hii ni HTML tag hatukuwa kutumia yesterday-- na wewe unataka kwa kuangalia kama kifungo hii ya kijani, wewe literally tu kuwapa darasani, ambayo sisi alifanya majadiliano juu ya jana, ya "BTN btn-mafanikio." Kwa nini maneno hayo? Twitter, waandishi wa Bootstrap, alikuja na maneno hayo. Wangeweza kuwa na kuitwa nao chochote wanachotaka. Lakini nini ni kupata sasa ni mtu mwingine katika Twitter, katika kesi hii, ina figured nje jinsi gani unaweza kufanya button kuangalia nzuri na safi na kijani. Wao vifurushi up kwamba utendaji darasani CSS, inayoitwa "btn" na "btn-mafanikio," ili kwamba yeyote kati yetu anaweza sasa matumizi yake bila hata kufikiria juu yake. Hivyo wao yanayotumika mbali dhana ya kifungo kijani hivyo hatuna huduma ya juu kutekeleza wenyewe. Sisi kwa kweli kujikita katika utekelezaji wa mambo ya riba na sisi. Kama sisi kitabu chini hapa. ujumbe wa makosa juu ya screen. Wakati mwingine unataka ujumbe kidogo kuonekana juu ya browser. Yeyote kati yetu anaweza kufanya hii pamoja na baadhi ya juhudi, baada ya somo jana, lakini kwa nini wewe kujisumbua? Hiyo ni kama uninteresting aesthetic undani. Hebu kusimama juu mabega ya Bootstrap na watupe mambo kama haya, ambapo sisi literally, kupata sanduku nyekundu, tu kufanya aya tag na darasa of-- pole. "Bg-hatari" atatupa hii sanduku nyekundu badala yake. Sasa hebu kwenda kwa mambo ya kuvutia zaidi. Kama mimi kwenda nyuma juu ya ukurasa huu na kwenda Components, sasa dunia anapata kuvutia zaidi. Kwa mfano, kawaida sana ni kushuka chini menus kama hii. Hii itakuwa kabisa maumivu kutekeleza. Na haikuwa kwamba kwa muda mrefu iliyopita kwamba sisi programmers ingekuwa kutekeleza haya aina ya menus kutoka mwanzo. Lakini ni kama dhana ya kawaida kwamba maktaba kama Bootstrap kukupa tu uwezo wa kufanya kushuka chini orodha mbali, mbali kwa urahisi zaidi. Hakuna njia moja ya kufanya hivyo, lakini kama mimi kusoma nyaraka Napenda kuona kwamba, OK, mimi lazima kutumia HTML hii kama nataka kushuka chini menu kwamba kutenda kama hiyo. Vile vile, hebu kwenda kifungo kushuka chini. Hivyo hii ni hata fancier. Kama mimi nataka hii kwa kuangalia kama kifungo lakini hiyo pembetatu kidogo maana Mimi lazima bonyeza juu yake na kupata orodha hii, hii ni kwa kutumia lugha inayoitwa JavaScript. Na tunaweza zote kutekeleza huu katika JavaScript. Lakini tena, hii ni gurudumu wewe hawataki na kuibuka. Unataka tu kuchukua ni mbali maktaba rafu kwa hili. Hebu kwenda kwa kitu kama maendeleo baa. Hivyo kitu kama hii ni aina ya baridi. Kama wameweza milele kuonekana maendeleo bar kusonga katika screen, utekelezaji wa ambayo mara nyingi ni tu icon inazunguka. Kwa kweli, tu kama kando, basi mimi kwenda Ajax-- ni nini? Ajax info? Whoops. Ajaxinfo. Hebu kumbuka mahali. Kuna sisi kwenda. Hivyo kama wameweza milele kuonekana baadhi uhuishaji wakati ukurasa ni upakiaji, au kufikiri, au kuokoa, au kujenga kitu, wanaweza kuona michoro kama hawa. Hivyo hebu tuangalie kitu kama hii moja hapa, na hebu kuchagua rangi foreground ya kijani, ambayo anahisi aina ya kirafiki. Naweza bonyeza hii? Kuja moja. SAWA. Tutaweza tu kwenda na nyekundu kwa sababu kwamba ni nini sisi ni kupata. Hivyo hapa sisi kuwa nayo. Hivyo kama wameweza milele kuonekana hii juu ya screen, ambapo ghafla inaonekana na kisha ghafla kutoweka, ni nini ni hiyo kutekeleza hayo? Naam, hii ni tu GIF. G-I-F. Na hii ni animated faili, ambayo ina maana tu ni kama umri wa shule Comic kitabu. Kuna tu rundo la tofauti muafaka kwamba ni kwenda [kigugumizi] na kurudia tu. Na ni kujenga udanganyifu wa harakati. Hivyo kwa haraka kama ukurasa inafanywa upakiaji au kufanya kitu, nini programu nini? Naam, yeye au yeye tu ngozi picha hii. Basi wote maendeleo bar ni ni aina ya kama movie wewe ni kuangalia. Wewe ni aina ya oblivious na ukweli kwamba siyo kweli kufanya kitu chochote, ni kusonga tu. Na kisha, wakati ni kosa inaendelea, wao tu kujificha au kugeuka kuwa mbali. Na kwamba ni uchawi wote kwamba kinaendelea huko. Bootstrap inakupa kitu kidogo fancier, ambapo unaweza kweli kuona asilimia kama unaendelea, lakini pia ni aina ya uhuishaji rahisi. Hebu tuangalie baadhi ya mwisho mifano zaidi tata hapa. Kitu kama modal. Je, mtu yeyote kujua nini modal ni? modal dirisha kwa ujumla ni moja kwamba zinatakiwa kuchukua udhibiti wa foreground na kuzuia kutoka kwa kufanya kitu kingine chochote. Ni aina ya vikosi mtumiaji kipaumbele kwa katikati ya screen, kuifungia yao nje, kwa kawaida, ya kila kitu kingine. Hivyo kama mimi kuzindua demo hii, screen mapenzi kwa ujumla kuwa kijivu. Naam, ni jinsi gani sisi kufanya hivyo kijivu? Naam, sisi pengine tu kubadilishwa rangi ya asili kama tulivyofanya jana au kitu kama hicho. Labda ni overlay kwamba nusu ya uwazi. Na sasa taarifa unaweza kufanya mambo dhana kama hii. Hivyo kama wewe milele bonyeza kifungo na wanataka kidogo pop nje kuonekana, unaweza kufanya hivyo. Na hivyo anayenijali all-- yeah? Watazamaji: Hivyo kwa Bootstrap, kupata kuingizwa, Ni rahisi kama kama jana tulivyofanya CSS mitindo ukurasa? DAVID J. Malan: Kwa hakika. swali zuri. Hebu kwenda Anza. Na ndiyo. Wote una kufanya ili matumizi Bootstrap kimsingi ni nakala na kuweka hizi mistari mitatu ndefu ya kificho katika juu ya mtandao yako mwenyewe page-- mkuu wa page-- yako na uko juu na kukimbia. Na kuna njia tofauti za kufanya yake, lakini hii itakuwa rahisi. Basi nini kusaidia kuhusu haya yote? Naam, kama wewe si sana Utekelezaji wa tovuti lakini wewe ni kujaribu kubuni, au unataka kutoa mtu na waya sura michoro, hivyo kusema, au renditions tu msanii wa nini unataka kufanya, mimi, na hii siku, mara nyingi kwenda kwenye tovuti kama Bootstrap, ambapo kama mimi unataka kutekeleza something-- kama hivi karibuni juu ya chuo tulitaka kutekeleza mtandao msingi chombo kwa punde Bila shaka Harvard ya catalog, na kuifanya rahisi kwa wanafunzi kuvinjari kwa njia ya kozi na kuongeza kozi ya orodha ya ununuzi, hivyo kusema, aina ya kuamua nini walitaka kuchukua. Mimi alikuwa anajaribu kufikiria kwa mwenyewe, nini viungo ingekuwa tunataka kutumia ili kujenga hii? Kitu gani user interface kuwa kama? Na tu kuangalia kwa kupitia tovuti kama huu au nyingine kama maeneo ya maktaba, unaweza kupata uongozi, kwa sababu wow, Naweza kutumia widget hii, na widget hii, na widget hii. Na kisha kweli nini programu kuanza kufanya, hasa katika siku hizi katika hii zaidi ya kisasa ulimwengu wa programu ya mtandao, ni programu inazidi kuhusu wiring mambo pamoja. Aina ya kuchukua hii mbali rafu, hii mbali rafu, hii mbali rafu, na wewe kuwa smart moja kuungana wote wa dots hizo, lakini hatimaye kujenga kitu na tena amesimama juu ya mabega ya wengine, hivyo kwamba huna kutumia mwezi utekelezaji wa kijinga kushuka chini orodha, ambayo ni kweli vigumu kufanya kama unataka kufanya kazi ya Chrome, na IE, Firefox, na yoyote idadi ya browsers nyingine. Hii ni kwa nini kuna hii tajiri programu ya kibiashara na ya chanzo sekta kama vile. Watazamaji: Hivyo haina Bootstrap kupata updated na una kisha update viungo yako? DAVID J. Malan: Ni anafanya. Naam, ndiyo, ni gani. Bootstrap sasa katika toleo 3.3.6. Na kwa ujumla nini ungependa do-- hii ni kweli kutaja thamani. Kuna nini kwa ujumla inayojulikana kama versioning semantic mfumo katika dunia. Si kila mtu gani hii. Lakini kama wameweza kuonekana idadi version ambayo ni ya aina x.y.z-- hivyo kwa mfano, toleo la kwanza ya mpango inaweza kuwa 1.0.0. Au kama ni sana, sana beta, au hata alpha hadhi, ambayo ina maana ya matumizi katika hatari yako mwenyewe, siyo kweli tayari kwa wakati mkuu, unaweza hata kuanza 0.0.1 au baadhi ya vile wajibu. Lakini kama programu kuanza saa version 1.0, au equivalently 1.0.0, kawaida, nini ya kawaida hizi days-- ingawa si omnipresent-- ni kama kampuni au mtu binafsi fixes programu baadhi mdudu katika baadhi ya kipande cha programu kwamba kweli Ilikuwa mdudu, ambaye marekebisho haipaswi athari wewe katika all-- haina mabadiliko tabia programu hiyo, ni tu kunasa kitu kwamba haikuwa kazi properly-- wewe ungekuwa kawaida update thamani z huko. Ambayo ina maana mtu kama Kareem inaweza tu kwenda katika tovuti yake, upofu mabadiliko ya idadi version kutoka 1.0.0 kwa 1.0.1, ila ni, meli hiyo, na katika nadharia, sio kuwa na wasiwasi kwamba yeye kuvunjwa tu tovuti yake kwa sababu ya baadhi ukosefu wa utendaji, kwa sababu kitu kingine kukatika. Wakati huo huo, kama mimi programu au baadhi ya kampuni walikuwa na kufanya baadhi ya muhimu mabadiliko ambayo anaongeza utendaji, Nipate update sisi 1.1.0 kwa sababu mimi nina kweli kubadili tabia ya maktaba. Mimi nina kutoa utendaji labda zaidi. Hatimaye, kama ningekuwa kweli mabadiliko ya kimsingi programu hivyo kiasi kwamba itakuwa mapumziko wengi watumiaji tovuti au maombi, basi mimi nina wajibu, katika mtindo huu, kwa kuboresha idadi kubwa toleo pia, ambayo ni ya mabadiliko ya kuvunja. Kwa maneno mengine, nipate kuwa imekoma msaada kwa wale tone down menu. Hivyo kama wewe kuboresha na 2.0, nusu tovuti yako inaweza kuacha kufanya kazi. Na hii ni aina ya ishara kwa jamii kwa nini kushiriki katika kufanya kuboresha. fursa nzuri ya kuongeza. Maswali mengine? Sawa. Naam hebu tuangalie mwisho moja mada katika sehemu hii ya programu ya teknolojia mwingi, ambazo ni kuhusiana na mkononi. Hivyo katika dunia ya simu za mkononi leo wewe have-- na iPads, na nyuso, na aina wale wote ya devices-- una mengi ya uchaguzi wakati suala la utekelezaji wa maombi au tovuti kwa vifaa ya wateja wako mkononi. Hivyo tu kueleza dhahiri, labda siku hizi, kile ni majukwaa ya kuendeleza kwa katika nafasi ya simu? Nini vifaa inaweza unataka kusaidia na programu yako au tovuti? Watazamaji: Apple. DAVID J. Malan: Sawa. Hivyo vifaa Apple. Hivyo kwamba maana iPhone, na kwamba ina maana iPad, na labda hata iPod. Kipi kingine? Olivier? Watazamaji: Android. DAVID J. Malan: Android. SAWA. simu Hivyo Android, Android vidonge, Android soko ni hata messier because-- na hata Apple ni kuwa na messy. Wakati mara moja juu ya muda iPhone alikuwa ukubwa fulani, na kutumika mara ukubwa fulani, na iPod alikuwa ukubwa fulani, sasa tuna kutumika Minis, na nyembamba ndio, na iPhone 6 Plus na 6. Ni kuwa fujo. Ni kuwa Android dunia. Na mimi kusema hii na aina ya rolling macho yangu kwa sababu kutoka developer ya mtazamo, ni maumivu ya shingo wakati huna Steve Jobs ' maono ya udhibiti kamili juu ya yote ya specifikationer haya. Apple bado anafanya kwa sababu wao uko ndio ujenzi wa vifaa. Lakini ni kitu kizuri, kama Mimi nina programu developer, kujua tu kwamba yangu iPhone ni daima kwenda kuwa hii kubwa kwa sababu hiyo ina maana mimi daima kujua kiasi gani screen mali isiyohamishika nina. Hivyo kama nataka kuweka icon katika kona ya juu upande wa kushoto, ni kwenda kuwa katika exact mahali kwenye kifaa kila mteja moja ya. Lakini katika ulimwengu wa iPhone 6s na iPhone 6 Pluses na katika ulimwengu wa Android simu, ni wote juu ya ramani. Na hivyo kufanya kuwa vigumu kwa mpango mambo, hasa user interfaces, kwa sababu sasa una kuanza kupanga user interfaces yako kiasi, si kabisa. Na huo imekuwa kweli juu ya browsers, na kopyuta, na Laptops kwa miaka kwa sababu wewe, bila shaka, kuwa na ukubwa tofauti screen. Kipi kingine? Unaweza kuwa na nyuso, kama kutoka Microsoft. Unaweza have-- Watazamaji: Windows simu. DAVID J. Malan: Nini hiyo? Watazamaji: Windows simu. DAVID J. Malan: Ndiyo. Hivyo simu madirisha bado inaweza kupatikana. Aina ya aina ya BlackBerry za, lakini wao kuendelea kujaribu. Na kisha mashada ya vifaa vingine. Hivyo kwa sehemu kubwa, hebu kusema hawa ndio huduma ya juu kwa sasa. Hakika Apple stuff, hakika Android stuff, na miongoni mwa Windows, kama vidonge uso wanaonekana kuwa kuambukizwa juu pretty vizuri. Na hivyo miongoni mwa wale vifaa, kama unataka unaendelea nje, hebu sema, uwepo mkononi kwa ajili yako kampuni, ni aina gani ya kubuni maamuzi je, una kufanya? Naam, sisi tayari alisema katika dunia Apple, kuna angalau lugha mbili kwamba ni kawaida kutumika. Moja aliitwa nini? Watazamaji: Lengo-C. DAVID J. Malan: Yeah. Hivyo Lengo-C, ambayo ni mkubwa. Ni pia lugha kwamba wengi Mac maombi bado yaliyoandikwa katika. Kisha wengine wapya mmoja alikuwa? Watazamaji: Swift. DAVID J. Malan: Swift. Na wale ni aina ya mbili kujua kumvutia folks. Kisha katika dunia Android, nini lugha haina Android kutumia? Watazamaji: C #? Watazamaji: Java. DAVID J. Malan: Java ni lugha ya "du jour." Katika dunia Windows, hakika, tutaweza kusema C # katika kesi hiyo. Hivyo tayari hii ni aina ya annoying, kwa sababu nini takeaway kwa ajili ya biashara mmiliki au mtu ambaye tu anataka unaendelea nje mbele ya mkononi? Kama, damn it? Kama, kama mimi wanataka kusaidia haki pana msingi user, Nina kuandika, inaweza kuonekana, tofauti maombi matatu. Moja katika moja ya lugha hizi, moja katika Java, moja katika C #. Na hata kama nataka utendaji kuwa kufanana, haijalishi. Mimi bado haja ya kutumia tofauti Lugha kwa sababu Apple, na Microsoft, na Google msaada wote mazingira tofauti. Na hii imekuwa ni changamoto kwa miaka. Nyuma katika siku, wakati watu kutumika kununua programu katika kompyuta kuhifadhi katika kuogopa masanduku amefungwa, ungependa ama kuwa na kufikia kwa ajili ya rafu Mac, au for-- labda hii Mac ndogo sana shelf-- au kubwa Windows rafu na kununua baadhi ya programu. Na mara nyingi sana, hapakuwa na hata chochote kwa ajili yenu juu ya rafu Mac. Kwa nini? Naam, makampuni aliamua kama 90% ya dunia, 95% ya dunia ina PC, kwa nini kujisumbua hata utekelezaji wa mambo juu ya Mac OS? Kama aside-- jumla digression-- kwa nini ni kwamba Mac inaonekana hivyo huweza kuingia kwenye virusi, na minyoo, na vitisho vya usalama? Ni Apple bora wakati huu? Bora katika kutunza kompyuta salama? Watazamaji: Ndogo watazamaji? DAVID J. Malan: Hiyo ni pengine kidogo kubwa na hiyo. Hivyo watumiaji wengi wa Macs na muda mrefu wamedai, loo, kutumia Mac, wewe utakuwa na kinga ya virusi, na minyoo, na mambo yote haya kwamba kwa muda mrefu kusumbuliwa PC. Hiyo inaweza kuwa ni kwa sababu Apple ina programmers bora na wao kuandika programu bora au mfumo wa uendeshaji ilikuwa bora iliyoundwa. Labda, lakini pengine si. Ni pengine kuwa wakati uko 12 mwenye umri wa miaka, au 30 kitu aina ya wamekaa kwenye uandishi wa nyumbani programu hatarishi kuchukua juu ya dunia, wewe ni kwenda baada ya Lengo kubwa watazamaji. 95% ya dunia ambaye anaweza kuwa mbio Windows au baadhi variants yake. Hivyo kuna kidogo pande zote mbili. Lakini kwa mikopo yao, Apple, kwa ufahamu wangu, ina si kweli ulitarajiwa wenyewe kama kuwa salama zaidi, tangu wewe ni kuwakaribisha tu mchezo wa kuigiza kama wewe kufanya madai kwamba, napenda kufikiri. Sawa. Bila kupata mbali sana chini kwamba, jinsi gani sisi kutatua hili? Je, una kununua au kufanya una kulipa watu watatu tofauti kuendeleza programu yako? Je, kuchukua moja juu ya nyingine? Kile lazima kuongoza yako kufikiri hapa unafikiri? Kareem? Nope. Mtu mwingine. Watazamaji: Tu kuja na vifaa. DAVID J. Malan: Fuatana vifaa? Unamaanisha nini? Watazamaji: Kwa mazingira. [Inaudible] DAVID J. Malan: Hivyo kwamba ni kweli. Lakini wateja wako, wakati huo huo, inaweza kuwa iphone, wapate kuwa simu za Android, wao anaweza kuwa vidonge yaliyotolewa na Microsoft. Hivyo ni jinsi gani una mkakati mkononi kwa wote wa watumiaji hawa tofauti? Ni kuonekana kuwa kama ni gharama, hebu sema $ 1,000 kwa kufanya iPhone maombi, ni kwenda kwa gharama wewe $ 2,000 hadi kufanya iPhone maombi na an Android maombi, au $ 3,000 pia kusaidia vifaa Windows vilevile. Kwamba pengine kabisa understatement, na ni nguvu hata kuwa na uhusiano linear kama hiyo. Watazamaji: Kama unataka kuwa na programu au siyo, unaweza kuwa na tovuti msikivu. DAVID J. Malan: Good. Watazamaji: Au unaweza kuwa na programu ya asili. DAVID J. Malan: Yeah. Hivyo kwa mantiki hii yote hapa, tumekuwa kuzungumza kuhusu nini watu kuita maombi ya asili. Hiyo ni maombi ambayo yameandikwa katika lugha ya asili ya kifaa hicho. Hivyo asili Lengo-C au Swift kanuni, au katika Java, au katika C #. Ambayo ina maana wakati wewe download, hebu kusema Snapchat, maombi maarufu, au wakati wewe download Picha kwa ajili ya simu, wewe ni kushusha ama version yameandikwa kwa ajili ya iPhone yako, au kuandikwa ajili ya simu yako Android, au kuandikwa kwa uso wako. Lakini kuna njia mbadala. Kama Olivier alirejelea, unaweza kweli kutumia HTML 5 badala yake, kwa kutumia kile kinachoitwa mtandao maombi, ambapo wewe tu kutekeleza uwepo yako ya mkononi na utendaji yoyote. Je, ina maana na uwepo mkononi? Kama tovuti yako ambayo ina yako mawasiliano ya habari, orodha ya yote bidhaa yako, labda ni ina ununuzi gari, labda wewe kuuza vitu kwa njia hiyo. Chochote maombi yako ni, wewe kutekeleza, si katika Lengo-C, au Swift, au Java, au C #, lakini katika HTML 5, ambayo ilikuwa lugha sisi inaonekana katika jana, na JavaScript na CSS. Na nini ni nzuri kuhusu wale tatu ni kwamba kukimbia nao, unahitaji nini tu kipande cha programu? Watazamaji: kivinjari. DAVID J. Malan: kivinjari. Na bora Najua, yote haya vifaa kuja na browsers mtandao, hivyo user hana na kufunga kitu maalum. Hivyo unaweza tu kuwaambia yako watazamaji, wateja wako, kwenda acme.com katika yako browser na utasikia tu na mtandao msingi uzoefu kwamba bado inajaza screen, lakini huna kuwa na wasiwasi kuhusu yote ya gharama hizi na zote za utata huu. Lakini hakika kuna ni kwenda kwa kuwa ni kukamata hapa, sawa? Hasa kama mimi kumweka nje kwamba miaka kadhaa iliyopita, toleo la kwanza sana ya Facebook ya maombi ya simu ilikuwa zaidi HTML 5 maombi. Na wao wana, zaidi Hivi karibuni, reimplemented ni katika maombi yao mengine. Hivyo kwa nini ingekuwa wewe si mara moja nataka kusema, vizuri, ni wazi tunakwenda kufanya hili? Nini kinaweza gharama za siri kuwa? Watazamaji: Utendaji. DAVID J. Malan: Utendaji? Unamaanisha nini? Watazamaji: programu ya asili ina utendaji zaidi. DAVID J. Malan: Hivyo kwamba ni kweli, kwa michache ya sababu. Tunaweza oversimplify jibu. Na kukumbuka mjadala wetu wa kufasiriwa dhidi lugha ulioandaliwa. Hii ni HTML 5 na kwa hayo, tu kuwa wazi, JavaScript-- kawaida imeandikwa JS-- na CSS wote ni kufasiriwa lugha, ingawa tu JavaScript ni lugha ya programu. Na hivyo dhidi hayo, ambayo baadhi ya haya ni ulioandaliwa, angalau hizi three-- Lengo-C, Java na C # - haya, katika nadharia, lazima tu kuwa kwa kasi zaidi. Lakini kuna ukweli mwingine for-- Watazamaji: Functionalities? DAVID J. Malan: Nini hiyo? Watazamaji: Functionalities. DAVID J. Malan: Utendaji? Jinsi gani? Watazamaji: Matumizi kamera mbali ya simu yako au kitu. Unaweza kutumia wale walio na browser. DAVID J. Malan: Hasa. Wao ni sec-- Watazamaji: [inaudible] DAVID J. Malan: Hiyo ni mwingine moja nzuri. Kuna sifa ya kuwa kuja na simu za mkononi leo ambayo si, kwa kubuni, kwa ajili ya usalama Sababu kupatikana kwa browsers mtandao. Kwa sababu itakuwa ni aina ya Jambo creepy kama tu wakati wewe kutembelea google.com, au cnn.com, au yoyote website.com, kwamba tovuti hiyo ina nguvu ya kugeuka kwenye kamera yako, kuchukua picha ya wewe, na kisha kuitumia. Lakini wewe si unataka tovuti random kwamba wewe kutembelea kwa mara ya kwanza kuwa na kwamba uwezo. Na hivyo kile simu wazalishaji kawaida ya kufanya ni wao tu kukataa upatikanaji kwa aina hiyo ya habari kwa browser, ambayo ina maana hawezi kutekeleza kamera. Huwezi kutekeleza notisi kushinikiza, beeps kwamba kupata juu ya screen yako na ujumbe mfupi. Na kwa kweli, hata GPS ni aina tu ya aina ya kupatikana kwa browsers mtandao. Kama wameweza milele, juu ya mbali au kwenye simu ya mkononi, anapigiwa kitu kama labda cnn.com, lakini pia vituo habari za mitaa huwa na kufanya hivyo, wewe ni ilisababisha mara nyingi kwa message-- foxnews.com anataka kujua eneo lako. Kuidhinisha au kukataa. Naam, browser ni kujaribu kupata GPS yako habari kutoka simu yako. Bali nashiriki Microsoft, na Apple, na Google wameamua kwamba anahisi kama ni hali muhimu, tunataka Google Maps na zana nyingine ya kufanya kazi, lakini hatutaki huenda watu nje na tu kuwezesha tovuti yoyote ya kufanya hili. Basi hebu aina ya kukutana halfway na kuchochea mtumiaji. Lakini si kwamba lazima kesi na vifaa vyote, kama kamera na pamoja na kushinikiza kuarifiwa na kama, hivyo unaweza kuwa na sadaka makala fulani. Lakini utendaji pia. Ni kuwa chini liko siku hizi, labda kama LTE upatikanaji wa samaki juu na kwa kasi kasi internet kwenye simu, lakini unaweza aina ya kuhisi tofauti. Kama mtandao msingi maombi tu anahisi polepole, kawaida, kuliko maombi ya asili, sehemu kwa sababu mtandao msingi maombi kwa ufafanuzi ni kwenye mtandao. Ni akizungumza na servrar kwenye mtandao. Na kama muunganiko wa mtandao wako ni polepole, hata kusogeza inaweza kuwa polepole. Lakini maombi ya asili, una tayari kabla ya downloaded-- pengine ulipokuwa nyumbani kutoka programu kuhifadhi, au angalau kabla ya kupakuliwa katika ukamilifu wake mapema, chochote yako uhusiano speed-- na hivyo sasa una yote ya bits kwamba kwa ujumla wanahitaji. Isipokuwa labda baadhi data kwamba linatokana na server. Basi hizi ni biashara awamu ya pili hapa. Kuna aina ya katikati maelewano, kwa kweli. Na nadhani you-- Watazamaji: Matumizi offline data. Katika programu ya asili, unaweza [inaudible] DAVID J. Malan: Ni kweli. Hivyo kuna suala now, ambayo ni kweli annoying kama huwezi kucheza baadhi ya mchezo au matumizi programu baadhi sababu tu wewe ni katika basement mahali fulani au katika lifti. maombi ya asili ni resilient na uwezekano mkubwa dhidi ya kwamba, kuchukua una zote data unahitaji ndani ya nchi. Kwa hiyo, kuna chaguo la tatu hapa. Na hebu kuteka wigo kama programu ya asili hapa na programu mtandao hapa. Na nini katikati ni kitu called-- na nadhani unaweza kuwa alitumia neno kabla, labda? Hybrid maombi. Na kama neno ina maana, ni kitu katikati. Ni aina ya maombi ya mtandao na ni aina ya maombi ya asili. Na hii ina maana gani? Ni zinageuka kuna watu frameworks-- kutumia neno kutoka programu earlier-- kwamba watu wengine wameandika kwa kila moja ya majukwaa haya. Haya na bado vifaa vingine. Kwa kweli, napenda kwenda PhoneGap, ambayo ni moja ya mfumo vile kwamba mimi kuamini Adobe anamiliki sasa. Hebu kwenda Anza. Hebu tuone. Kuona kama naweza kuona orodha ya zana. Vifaa vya ujenzi. Kuanza. PhoneGap vifaa. Hebu tuone. PhoneGap vifaa upatikanaji. Napenda kuona kama tunaweza kupata kidogo chati ya waliyo kuwa nayo. Hii ni kwenye tovuti nyingine. Je, hii ni muhimu? Hakuna Hiyo ni gonna kupoteza muda wetu huko. PhoneGap vifaa. Vifaa. API kifaa. Nope, wameweza wakiongozwa yake. PhoneGap. Hebu kwenda moja ya mwisho kuangalia hii na kuona kama siwezi kuonyesha. Kuanza. Kufunga PhoneGap. Kufunga programu ya simu. Kuja juu. Wameweza maadili imara kila kitu. Sawa. Oh, sawa. Naam, hapa sisi kwenda. Hii si wote kwamba mwangaza, lakini hii ni nini nilikuwa aina ya kutafuta. Hivyo PhoneGap ni mfumo kwamba wewe Unaweza kushusha kwa bure kwamba anatoa baadhi ya kanuni starter, kimsingi. Hivyo baadhi ya kanuni kwamba wao wameandika hiyo haina kufanya mengi ya kitu chochote. Lakini nini anatoa wewe kimsingi ni sawa ya maombi ambayo tu unaweka Mstatili kubwa juu ya screen ya mtumiaji. Haina kuweka URL bar, kama browser, haina kuweka mahali. Ni tu unaweka Mstatili kubwa. Na wewe configure hii kubwa mstatili, chini ya Hood, kwa kweli kwenda acme.com, au labda m.acme.com, kwa mobile.acme.com, lakini user hajui wao uko katika anwani hiyo. All wao kuona ni yaliyomo ya ukurasa wa mtandao. Lakini nini ni nzuri kuhusu kiumbe hiki programu ya mseto ni kwamba kile PhoneGap na makampuni mengine ni kutoa ni wao ni kutoa kidogo ya kificho katika Lengo-C au Swift, au kidogo ya kificho katika Java, au kidogo ya kificho katika C #, na kimsingi, wote una kutoa ni ya chini pepe ya mtandao maombi yako msingi. Na kisha kifungu hii wote pamoja na wewe kuwa ni ama kupata yako tovuti kupitia mtandao, au hata cache za mitaa nakala ndani ya maombi, na kisha kuokoa maombi yako katika format iPhone, Android simu format, uso format, au idadi yoyote ya vifaa vingine. You kupakia kila mmoja matoleo wale kwa Hifadhi Play Google, wa Hifadhi App, kwa Windows Hifadhi, na kadhalika. Na sasa, unaweza kuwa na yote ya yako watazamaji kushusha kweli programu ya asili, japo wengi wa kanuni mara imeandikwa na mtu mwingine, lakini yaliyomo ya programu kwamba asili zote kuja kutoka, kwa kawaida, tovuti yako mwenyewe. Hivyo kuendelea kuandika tovuti yako katika HTML, JavaScript, na CSS. Hivyo kwa nini blur mistari haya? Kwa nini kuwa na maombi ya mseto hiyo ni aina ya asili, lakini pia aina ya mtandao msingi? Nini ni hatua nzima ya kuongeza utata huu? I mean, hata bado, tu kutoka glancing kupitia ukurasa huu, Anza mwongozo anahisi kama ni got mengi yote ya hatua kwa ajili yangu kufanya kabla ya mimi can-- Watazamaji: reusability? DAVID J. Malan: reusability? Unamaanisha nini? Watazamaji: Of kanuni chanzo. Hivyo kificho huo bila kukimbia kwenye majukwaa yote tofauti. DAVID J. Malan: Yeah. Watazamaji: [inaudible] DAVID J. Malan: Perfect. Kama muda ni tight na kama wewe hawana kwamba developers-- wengi labda una developer moja na yeye au yeye hakika hajui yote haya environments-- hakika si vizuri, na kwa hakika hawawezi mpango katika zote tatu wakati huo huo na meli bidhaa tatu katika wakati kuruhusiwa kwa moja, unaweza kuwa kwake kujenga kila kitu katika HTML na JavaScript na CSS, na kisha kujifunza kidogo kidogo kidogo kuhusu programu ya asili, kutosha tu kushusha mfumo kama huu, na kisha upload bidhaa yako kwa yote ya maduka mbalimbali programu hivyo kwamba sasa una maombi ya asili. Hivyo kwamba inaonekana kama kushinda na kushinda, lakini tena, kuwa wazi, kile ni uwezo gharama au gotchas? Watazamaji: Utendaji? DAVID J. Malan: Yeah. Utendaji. Ni vigumu kuelezea kwa maneno. Hivyo kama wewe tu kuchukua imani maombi ya simu, maombi ya mtandao mapenzi kawaida kufanya zaidi polepole. Ni wanaweza kuangalia haki kabisa, kwa sababu katika iPhone, na katika simu za Android, na vifaa Windows, kuna daima aina ya chaguo-msingi kuangalia na kujisikia wote wa vifungo na menus. Na makampuni katika mtandao, unaweza kujaribu kwa takriban aesthetics wale na maktaba kama Bootstrap, lakini user-- user-- wajanja ni kwenda kujua kwamba kitu si haki kabisa hapa. Na hiyo ni nzuri, labda si kwamba mpango kubwa. Lakini suala utendaji kabisa ni kubwa mpango huo. maombi ya asili huwa na tu kuwa zaidi msikivu na kwa hiyo bora zaidi. Na hivyo, ni nini basi inaweza kuwa bora wa walimwengu wote? Kama uko hasa ndogo kampuni au kikundi kidogo, huna rasilimali kuendeleza programu katika sambamba kwenye majukwaa zote tatu, na kusema ukweli, anahisi kama hiyo ni wazo mbaya anyway kwa sababu kama wewe roll nje na juu ya zote tatu wakati huo huo kutambua, tunapaswa kuwa aliongeza baadhi ya vipengele au amefanya kitu tofauti, sasa una kurekebisha katika maeneo matatu, hakuna hata mmoja. Nini labda mojawapo mkakati hapa kwa ujumla, kama rasilimali na muda ni tight? Watazamaji: Tu kufanya hivyo juu ya iOS. DAVID J. Malan: Hiyo si maana. iphone, angalau katika Marekani, ni super maarufu. Android bado inaonekana kuwa kubwa soko, kimataifa, kwa ujumla. Hivyo si lazima mwakilishi ya ukamilifu wa duniani wiki hii. Lakini hiyo ni kabisa uamuzi mmoja. I mean, juu ya chuo hapa mimi kufikiri baadhi ya idadi mauaji au asilimia ya wanafunzi wa vyuo vikuu na iphone na simu si Android. Lakini nje ya nchi, ni aina ya kinyume. Hivyo kuamua msingi watazamaji wako. Jinsi gani unaweza kujua nini watazamaji wako ana? Naam, sisi kujifunza hila jana. Ungeweza kuwaambia. Kama una watazamaji mateka unaweza kuwatuma fomu ya utafiti. Au unaweza tu kufanya nini? Watazamaji: Google Analytics? DAVID J. Malan: Nini hiyo? Watazamaji: Google Analytics. DAVID J. Malan: Google Analytics. Yeah. Au hata aina zaidi ya kitaalam, tu kuangalia mtandao wako server magogo mwenyewe. Kwa sababu kile kinachotokea kila wakati browser, iwapo mbali, desktop au simu kutembelea tovuti yako? Wao kutuma kwamba HTTP header kwamba inaonyesha nini browser na OS wao ni kutumia. Hivyo unaweza infer, na uwezekano mkubwa, nini idadi ya watu wako ni kutumia njia hiyo na kisha kurekebisha. Hivyo kudhani kuwa suala lisilokubalika. Hiyo ni aina ya mbaya kwa ajili ya biashara kama watumiaji Android hawezi kununua vilivyoandikwa yetu. Watazamaji: Kama wewe ni gonna malipo au la? DAVID J. Malan: Kama wewe ni kwenda malipo? Hivyo OK, unaweza kupata nini kulipia. Watazamaji: Kama programu yako ni gonna kuwa huru au kama ni gonna-- DAVID J. Malan: Sawa. Hivyo labda unaweza recoup gharama kwa njia hiyo, or--? Watazamaji: Nilisoma somo mara moja kuwa alisema zaidi ya watumiaji Apple kulipa kwa ajili ya programu versus-- DAVID J. Malan: Hiyo ni kweli kwa sababu wao uko tayari kulipa zaidi kwa ajili ya vifaa vyao. Hivyo haina maana dhana. Watazamaji: [inaudible] DAVID J. Malan: Sawa. Hivyo kama wao ni zaidi tayari kulipa, kisha mpaka kuzimu, pamoja watumiaji Android. Wao siyo kwenda kutulipa chochote anyway. Tunaweza pia kuzingatia vipaumbele vyetu, angalau kwa miezi michache ya kwanza au mwaka, juu ya iOS. Kabisa nafuu. Nini umoja zaidi mkakati kuliko hayo? Maybe-- nini hiyo? Watazamaji: [inaudible] DAVID J. Malan: expensive-- zaidi hivyo labda kuwekeza zaidi in-- kwenda mbele. Watazamaji: Yeah. Tu tovuti ya mkononi. DAVID J. Malan: Hivyo kufanya tovuti ya simu na si hata wasiwasi kuhusu utata huu. Au labda mkakati kuridhisha, ambayo hata Facebook alichukua, ni kuanza na mseto maombi kwa sababu si kuwa vigumu sana kufanya hivyo kuliko huu. Wewe tu na kusoma baadhi nyaraka na kufikiri jinsi kupakia mambo ya Hifadhi App. Hivyo labda wewe kuanza na huu, ili siku moja, unaweza kusaidia yote ya watumiaji yako. Na kisha, tu kama Picha na makampuni mengine wamefanya, wakati una rasilimali, una watu, kwa nini sio wewe tena kutekeleza tu iOS maombi. Bado una kitu kwa kila mtu, hata kama ni uzoefu duni pengine, na maombi ya mseto. Lakini unaweza hatua kwa hatua unaendelea nje na badala yako ya muda mfupi hatua ya programu ya mseto na yako maombi zaidi ya asili. Watazamaji: Lakini kwa mseto programu utakuwa na upatikanaji wa makala ya mkononi? DAVID J. Malan: Si lazima. Hivyo labda wewe kufanya fahamu uamuzi mapema, unaweza tu kupakia picha juu ya uliotokea iPhone maombi kwa ajili ya Facebook, lakini si juu ya maombi Android, awali, kwa mfano. Na kwamba ni kidogo ya uongo nyeupe kwa sababu maombi ya mtandao kuwa na vikwazo zaidi kuliko maombi ya mseto ni zamu nje, na kama sisi kusoma nyaraka kwa PhoneGap na mambo kama hayo, watu wamekuja na njia kutoa maombi mtandao msingi kufikia kamera, hivyo muda mrefu kama unatumia maombi ya mseto. Jinsi gani kwamba kazi? Kwa sababu ya mseto maombi, kwa ufafanuzi, ina kidogo ya kificho katika Lengo-C, na Swift, na Java, au katika C #, wanaweza kupata vifaa. Si lazima kila kitu, lakini ili vizuri sana kuwa kesi hiyo una kutosha upatikanaji wa kupata kamera, hata kwa majukwaa Android, kwa mfano, katika mfano kwamba contrived. Maswali yoyote mengine? Sawa. Mbona sisi kuchukua yetu 15 dakika kuvunja hapa. Tutaweza kuanza saa tatu na ya mwisho kuangalia programu ya mtandao, database, na Javascript.