David J. MALAN: Kaya kami ay bumalik. Kaya ang mataas na antas topic sa sandaling ito ngayon ay teknolohiya stack, kung saan ay hindi isang partikular na teknikal na termino, ito ay higit pa sa isang catch ang lahat ng para sa anumang bilang ng mga kumbinasyon ng mga teknolohiya na maaari mong gamitin upang malutas ang problema. At marahil ang pinaka angkop na paraan upang simulan ang ay upang tumingin sa mga wika mula noong Panatilihin ko ang dumadagundong off ang maramihang at pinaka-lahat ng tao sa kuwarto ay marahil narinig ng hindi bababa sa isa. At kaya bakit hindi subukan namin upang makilala what-- makilala ang mga wikang ito at makipag-usap sa madaling sabi tungkol sa kung kailan gagawin mo pumili ng isa sa ibabaw ng isa, kung paano ang mga ito ay uri ng panimula naiiba, at lalo na kapag ikaw ay nakikipag-chat sa mga inhinyero, o sinusubukan upang magpasya kung kanino sa upa, o kung ano ang pagpapatupad proposal sa greenlight, kung paano mo talagang gumawa ng mga uri ng mga desisyon. Kaya sabihin lamang mabilis magsalita ang ilang mga bagay-off. Sa mga wikang mga tao ay may naririnig ang tungkol sa, kung ano ang dumating sa isip? C. OK. OK, C ++. Ano yan? Madla: sawa. David J. MALAN: sawa. Magaling. Ano pa? Visual Basic. Narinig ko Java. Visual Basic-- a.k.a. VB. Java. NET, na kung saan ay higit pa sa isang catch ang lahat ng para sa kung ano ay karaniwang C # bilang ang wika sa tanong. At hayaan mo akong banggitin na. Kaya kami ay bumalik sa na. Patawad? Paumanhin? Madla: SQL. David J. MALAN: Scratch? Madla: SQL. David J. MALAN: Oh, SQL. OK. SQL. Kaya makikita namin bumalik sa na- talaga, ito ay good-- pagkatapos ng break pati na rin. Ano pa? Madla: Oracle. David J. MALAN: Kaya Oracle, hindi isang wika. Actually sila ay gumamit ng SQL pati na rin. Kaya sabihin ilagay na matapos ang break pati na rin. At paumanhin, isang bagay sa paglipas dito? Madla: Mathematica. David J. MALAN: Mathematica? OK, sigurado. At MATLAB ay uri ng sa doon minsan. Madla: R. David J. MALAN: R. Sabihin pumunta sa paglipas dito. Fortran. Oo naman. Mas lumang paaralan. Fortran. COBOL. Kukunin ko siklutin out BATAYANG. BATAYANG. Any-- Madla: MATLAB? David J. MALAN: MATLAB. Oh, matalo ka sa ito. Anumang bagay? maaari kong isipin ng ilang mga iba. maaari kong isipin ng ilang mga iba. At kung ano ay ang huling? Madla: ASP. David J. MALAN: ASP? Yeah. Active server pahina. Na sa pangkalahatan ay mahulog sa ilalim ng iba pang mga wika, minsan C #, kaya sabihin umalis na off. Ngunit kami ay bumalik sa na para frameworks at tulad. Ano pa? PHP ay popular. Ruby ay isa pa. JavaScript, huwag malito sa Java, ay isa pa. Iyon uri ng isang pulutong. Kaya maaari itong maging tiyak napakalaki, bilang kung ang listahan ay pa nagagawa, lamang upang simulan upang malaman kung saan ka magsimula. At kaya sa kabutihang-palad, sabihin diskarte na ito mula sa ilang mga anggulo. Una, sabihin subukan upang bigyan ng pamantayan hindi bababa sa ilan sa mga wikang ito sa dalawang malawak na mga bucket, nakapagpapaalaala ng ang pag-uusap namin ay may bago break, kung saan usapan natin ang tungkol ipon, at source code, at machine code, dahil na ay hindi kung paano lahat ng mga wika gumana. Kaya makikita namin kumalbit out ng ilang mga halimbawa of-- o counter-examples-- sa modelo. At pagkatapos ay, bakit hindi namin makipag-usap tungkol sa mga aplikasyon na mga wikang ito ay karaniwang ginagamit para sa. At lantaran, kahit na ito ay isang medyo mahabang listahan, ito ay lamang ng isang subset ng listahan na ito na nais mong karaniwang gumuhit mula sa mga araw upang malutas ang problema. Ang ilang mga wika ay mas bago kaysa sa iba. Ang ilang mga wika ay mas popular kaysa sa iba. Kaya ito ay hindi tulad ng ikaw ay may tulad isang napakalaki gawain bago ka kapag nagpapasya sa gitna mga iba't-ibang mga wika. Kaya sabihin gawin ito. Nagkaroon kami ng mas maaga, source code, at pagkatapos ay nagkaroon kami machine code. Whoops. Pagsulat ng maling salita. Machine code. At kami ay may ilang mga proseso sa middle called-- yeah, ang tagatala. Kaya ang compiler. At kung ano ang machine code aktwal na tumatakbo sa sa katapusan ay pagpunta sa maging ang iyong aktwal na CPU. Sa ibang salita, sa pamamagitan ng machine code, ako ibig sabihin ang pinakamababang tagubilin antas na ang isang CPU talagang nauunawaan. Addition, pagbabawas, ilipat, i-save, at mga operasyon tulad na. At kaya ito ay ang modelo para sa kung ano ang karaniwang kilala bilang naipon wika. Marahil hindi nakakagulat. Kaya ito ay ang modelo para naipon wika. Ngunit ito ay lumiliko out doon ni isa pang klase ng mga wika tinatawag interpreted languages-- interpreted languages-- na ay bahagyang naiiba. Isulat mo sa source code, patakbuhin ang mga ito sa pamamagitan ng isang interpreter, at na interpreter ay ano tumatakbo sa CPU. Sa ibang salita, kung ano ang hindi mo gusto humalimuyak ay kung ano, tila? Machine code. Ang mga zero at mga na ang CPU mismo sa huli nauunawaan. Kaya sa unang bersyon at wika tulad ng C, tulad ng nakita natin, mong isulat sa source code na ang isang ilan arcane, ngunit hindi bababa sa ito ay uri ng Ingles-tulad ng at ito ay hindi bababa nababasa sa sandaling masanay dito. patakbuhin mo ito sa pamamagitan ng isang tagatala at out makakakuha ka ng, sa huli, zero at mga. Na ang isang oversimplification. Mayroong ilang mga iba pang mga hakbang sa doon. Sa katunayan, kung ikaw ay kailanman narinig ang salitang "pagpupulong na wika," iyon ang isa hakbang bago ang zero at mga. Na ang isang kaunti pa nababasa, ngunit pa rin medyo arcane. At kaya may intermediate hakbang na, sa katunayan, pagpunta sa dito. Ngunit ang output, sa huli, ay ang mga zero at mga. Ngunit sa interpreted mundo, kung saan mayroon kang wika na naisalin wika, ang tunay na laktawan na hakbang. Sa ibang salita, kapag sumulat ka ng isang program, ikaw lamang ang agad na tumakbo ito. Hindi mo na itala ito at pagkatapos ay tumakbo ito, tulad ng ginawa ko dati. Ikaw lamang ang isulat ito at patakbuhin ito. At kung gusto mong gumawa ng isang mabilis na pagbabago, kang gumawa ng isang mabilis na pagbabago at muling patakbuhin ito. Kaya walang middle hakbang dito. Ngayon, para sa programa sinulat ko mas maaga, na kung saan ay ito "Hello World" na programa, maaari mong makatwirang wonder-- o maaaring makatwirang state-- na ay hindi oras na iyon ubos na sumulat ng libro ang aking programa. Mukhang sa nagawa na ito katulad nito. At mayroong graphical bersyon ng compiler. Gumagamit ako ng isang napaka arcane bersiyon, ngunit maaari mong pindutin ang isang pindutan ng play at na aktwal na gawin ang compilation para sa iyo. na pinagsama-sama ko ang mga programa at pagkatapos ay muli, upang patakbuhin ito, ko lang gawin ito. At ito outputs sa kaliwa doon, "Hello!" Iyan ay hindi tila ang lahat na mabigat. Ngunit kapag ang iyong programa ay higit sa isang makatarungan, dalawa, tatlo, apat, limang linya mahaba, kaya nito kumuha segundo malayo higit pa sa sumulat ng libro. Minsan kahit minuto o lubos ng kaunti ng oras upang sumulat ng libro. Matapos ang lahat, ang ilan sa mga pinakamalaking produkto ng mundo mga bagay tulad ng mga operating system, Microsoft Word, Microsoft Excel, na kung saan ay maaaring maging daan-daang libo o kahit na milyon-milyong mga linya ng code ang haba, at sa mga hindi lamang kaagad execute. Dagdag pa rito, sa web, ito ay naging fashionable upang gamitin lamang interpreted wika, sa bahagi dahil sa iyo ay maaaring gumawa ng isang pagbabago bilang developer at pagkatapos lamang i-reload agad ang pahina ng browser at agad na makita ang resulta. At kaya HTML, habang hindi isang programming language, ay isang wika na interpreted. At nakita namin na parehong epekto kahapon. Ikaw lamang i-reload ang pahina pagkatapos ng paggawa isang pagbabago sa Cloud9 at- voila-- makikita mo ang isang bagong resulta. Kaya kung ano ang pagkakaiba dito? Sa HTML, pagpapabalik, kami ay nagkaroon ng open HTML, open ulo, open title, malapit pamagat, malapit ulo, open katawan, at iba pa. Nagkaroon kami ng lahat ng mga tag na kami ay medyo magkano sinabi, sabihin ang browser kung ano ang gagawin. Hey browser, dito pagdating ng isang HTML na pahina. Hey browser, dito ay ang pamagat. Hey browser, dito ay ilang text na dapat ay naka-bold. At pagkatapos mong sabihin ang kabaligtaran. Hey browser, na ito para sa mga naka-bold face text. Hey browser, na ito para sa katawan. At iba pa. At kaya kung ano ang isang browser? A browser ay lamang ng isang interpreter. Ito ay isang programa na ang isang tao tulad ng Microsoft o Google ay may nakasulat na, na ang layunin sa buhay ay upang basahin ang isang wika, na kilala bilang HTML, at bigyang-kahulugan ito. Itaas hanggang sa ibaba, kaliwa papuntang kanan. At anumang oras ang browser nakikita open bracket, pamagat, malapit bracket, dapat itong bigyang-kahulugan na bilang kahulugan, oh, na nangangahulugan ang dapat kong ilagay ang mga salitang ito na paraan up dito sa tuktok ng browser. Kaya ito lamang ay kung ano ang HTML code says. Ngunit walang zero at mga. Walang compilation. Hindi mo gawin ito. browser ay hindi gawin ito. Lamang Ito ay hindi kasangkot. Kaya sa espiritu ng mga patuloy na mga paksa, ngayon at kahapon, na tila na maging isang kahanga-hangang katangian. Mong i-save ang iyong code at pagkatapos ay makatarungan tumakbo ka man o naipaliwanag mo. Walang intermediate hakbang. Tiyak na mayroong isang gastos? Hindi lahat ay upsides. Kaya kung ano ang maaaring maging na gastos? Madla: Space. David J. MALAN: Space. Kaya, sigurado. Sa pinagsama-sama mundo, mayroon kang hindi lamang ang orihinal na source code, din ikaw ay paggawa at pagkatapos siguro pag-save ang makina code-- ang zero at ones-- at iyon ang nakuha na kumuha ng up ng ilang mga halaga ng puwang. Oo naman. Kaya ito ay nagkakahalaga ng sa iyo ng mas maraming espasyo. Yeah? Madla: Browser maaaring bigyang-kahulugan sa ibang paraan. David J. MALAN: Browser maaaring bigyang-kahulugan ito sa ibang paraan. Tama iyan. Ngunit hindi ako sigurado kung ako kumportable na nagke-claim iyan ay dahil ito ay interpreted. Iyan ay higit pa lamang dahil ito ay isang pagpapatupad ng isang wika na mismo ay may ambiguities. Kaya sabihin hindi masyadong magkaibigan na ang isa, ngunit magandang kutob ng loob. Ano pa ang maaaring ang presyo na binayaran? Andrew? Madla: Ikaw Kombinasyon dalawang hakbang, kaya mo samakatuwid may pagtaas ng pagiging kumplikado pati na rin. David J. MALAN: Ang complex-- ang pagtaas sa pagiging kumplikado kung saan? Para kanino? Madla: Kaya, sa interpreter hakbang, ikaw ay pinagsasama ang interpreter at compiler para sa mga lamang na humahantong hanggang to-- David J. MALAN: Ah, OK. Ironically, ito ay maaring isang maliit na mas simple na ipatupad ang interpreter, kahit na ito ay tila upang ani upsides ng kaginhawaan ito. Kaya marahil totoo. Ngunit ito uri ng ay depende, ako nais sabihin, sa wikang at sa kung paano sila nagpunta tungkol sa pagpapatupad ng mga ito. Maaaring magkaroon ng maraming higit pang kumplikado, actually, sa compiler, lamang dahil ikaw ay may upang pumunta mula sa bagay kaya mataas na antas sa isang bagay kaya mababa-level. Ngunit isang mahusay na pag-iisip. Kaya maglagay ng isa pang paraan, ang isang naipon na programa, kapag nakabukas sa mga zero at mga, nagtatapos up sa wikang na ang CPU ay nagsasalita, samantalang sa panig na ito ng mundo, ang programa na iyong isinulat, ang code na iyong isinulat, hindi talaga ay makakakuha ng convert sa aktwal na wika ang computer nagsasalita. Ang zero at mga. Ito ay mananatiling sa orihinal, mas tao friendly, mas nababasa wika. Kaya kung ano ang maaaring maging ang mga implikasyon doon, kung hindi mo talaga abala convert ng iyong program sa pinakadulo wika na ang kalakip na computer na nagsasalita? Madla: Might hindi maunawaan ang isang bagay? David J. MALAN: Might hindi maunawaan ang isang bagay. At upang claim-- kung hindi ito naintindihan isang bagay, na ang isang bug o kakulangan ng tampok sa interpreter. Sa gayon ay magiging higit pa sa isang pagkakamali sa isang gastos. Madla: Mayroon kang access sa source code? David J. MALAN: May isang magandang isa. Kaya ang isang downside dito ay sa iyo ay tila na magkaroon ng access. Kayo, ang end user, maaaring mukhang magkaroon ng access sa source code. At iyan ay hindi palaging totoo. Ngunit ito ay totoo sa kaso ng JavaScript, na kung saan kami ay tumingin sa matapos ang break ngayon, na ay isang interpreted programming language na sinulat mo sa source code. Ngunit na source code ay makakakuha ng mailipat mula sa iyong server sa browser at tumatakbo sa browser ng tao ni. Kaya dito siya ay maaaring lamang buksan ang window, tulad ng ako ng paggawa sa Chrome, at tumingin sa ito, bilang namin ang ating mga sarili glanced sa kahapon sa Google. Maaaring tumingin ng kaunti hindi kayang unawain ngunit ito ay doon. Kaya na walang pasubali isang presyo na babayaran. Madla: Performance hit? David J. MALAN: Oo. At iyon ang iba pang biggie. May isang pagganap hit. Dahil ikaw ay may ito gitna ng tao, na kung saan mismo ay isang programa, sa pagitan mo at ang CPU, na taliwas sa makatarungan feeding ang mga raw zero at mga sa CPU, mayroong isang pagganap hit na kayo magsama isang interpreted wika. Tulad na, nagkataon, isang programa na maaaring tumagal ng isang segundo upang tumakbo sa isang computer o isang minuto upang tumakbo sa isang computer dito, Maaaring tumagal ng 10 segundo o 10 minuto upang tumakbo sa isang computer dito. Ito ay karaniwang hindi pagpunta sa maging na marami ng isang difference-- kadahilanan ng 10-- dahil mayroong optimizations maaari mong gawin. Ngunit ito ay halos palaging mas mabagal. Ngayon, tingnan ang bahagi sa pag-aalala na ay na, well computer, bawat 12 hanggang 18 months-- ayon sa batas Moore, kaya upang speak-- ay lamang sa pagkuha ng mas mabilis at mas mabilis. Mayroon akong higit pa at mas puwang sa disk. Mayroon akong higit pa at higit pang mga RAM. Sino ba talaga ang nagmamalasakit? At iyon ang uri ng isang makatwirang argumento. Sa katunayan, isa sa mga dahilan kung bakit maaari naming tiisin slower interpreted wika ay dahil namin ang mga tao ay hindi tunay na mapansin. Ang mga computer ay may nakuha lang kaya darn mabilis. Sapagkat pabalik sa araw, lalo na kapag hardware ay mas napilitan, kayo ay nagkaroon ng mas mababa ng lahat ng bagay, ito ay mas mahal kaya lahat ng bagay nagkakahalaga ng higit pa, kung sa gayon ikaw ay talagang nais na pisilin ng mas maraming pagganap bilang maaari mong. Ngunit na kinakailangan sa pagsulat isang mas mababang-level, kung ikaw ay, na may isang pinagsama-sama wika. Kaya gawin mong gawin ito pagganap hit. Ngunit sa pangkalahatan, ang upsides mukhang nagkakahalaga ito mga araw na ito. Well, maliban para sa mga intellectual property isyu. Na uri ng pagiging madaling mabasa ng code, kami ay bumalik sa kapag tinitingnan namin ang JavaScript. Kaya sabihin subukan upang maikategorya hindi bababa sa isang ilang sa mga ito. Kaya kabilang sa mga naipon wika, kami ay magkakaroon C, C ++, kinda, sorta, Java, kahit na ito ay isang bit ng isang exception, para dahilan kukunin ko na ipakita sa iyo sa loob lamang ng ilang sandali. C # ay magiging sa listahang ito. Susubukan naming tumingin sa higit pa sa lamang ang mas modernong mga wika. Lahat tama. At na tila tulad ng maraming doon. Sapagkat sa dakong ito ng bakod, magkaroon tayo ng JavaScript, at Python, at PHP, at Ruby. At na sapat para sa ang mga mas bagong mga bago? Na nararamdaman tulad ng maraming para sa ngayon. OK. At pagkatapos ay tuldok tuldok tuldok, dahil ang listahan ay walang hanggan. At sa katunayan, kung gusto naming lamang makakuha ng ideya ng this-- Wikipedia, naipon wika. Ako sa paghula na maaari naming makakuha ng isang malayo mas malawakan listahan. Kaya dito kami pumunta. Kaya dito ay isang mas malawakan listahan. At ako ay umaasa na isang tao ay hulaan D bilang isang wika dahil na rin umiiral, ngunit sila tumigil sa D ito ay tila. Kahit na may ay maaaring aktwal na maging isang E. Oh, talaga, ito ay dapat maging sa listahan ang mga araw. Swift ay talagang isang wika na Apple imbento na ginagamit ngayon, increasingly kaya, sa iPhone pag-unlad. Ngunit kami ay bumalik sa na sa aming discussion ng mga mobile na sa loob lamang ng isang maliit na bit pati na rin. Kaya Swift pati na rin. At pagkatapos ay kung pumunta kami sa interpreted language-- interpreted language-- pagkatapos ay narito isang kahit mas mahabang listahan pati na rin. Kaya kung ikaw lang ang google at tumingin sa Wikipedia para sa mga ito, makikita mo ang lahat ng masama ng mga wika. Ngunit ang layunin ay, para sa araw na tunay, lamang kahulihan babagsak ito sa marahil ito isyu ng ari-ariang intelektwal at pagiging madaling mabasa sa pamamagitan ng dulo ng user at upang pagganap, ay isa pang biggie pati na rin. Kaya bukod sa mga wikang ito, hayaan mo akong makita kung ang maaari naming ibigay sa iyo lamang ang ilan sample ng mga wika. Hindi namin nais upang pumunta sa pamamagitan lahat ng mga wika endlessly. Naisip mo ba kung ano ang isang tiyak na wika ay ganito ang hitsura? Ginawa namin ang isang sandali ang nakalipas. Bakit hindi namin tumagal ng ilang ng mga hiling sa tampok. Sino ang gusto nais na makita kung ano ang iba pang mga wika ay ganito ang hitsura? Yeah. Madla: Java. David J. MALAN: Java. Lahat tama. Kaya sabihin pumunta sa Java. At lamang upang bigyan ka ng isang sample-- maaari naming isulat ang lahat ng mga ito sa labas, ngunit magiging mas mabilis lang tumingin sa sample code ibang tao. Lahat tama. Kaya ito ay isang magandang halimbawa? Whoops. OK. Kaya dito ay ang Java bersyon ng program na sinulat ko kanina, "Hello World." Kaya Java, makikita mo madalas makita ang mga keyword na "class." Pagkatapos ay makikita mo ang ilang mga pangalan matapos na. Makikita mo ang kulot tirante tulad ng nakita natin dati, at kung minsan pumunta sila sa parehong linya, kung minsan iba pang mga linya, ito ay uri ng isang personal na desisyon. Makakakita ka ng mga keyword tulad ng "Pampubliko," "static," "walang bisa." Nakita natin ang "main." "Main" ay karaniwang ang pangalan ng default na function o ang default na tipak ng code na makakakuha tumakbo sa isang programa. "Tali." Ano ang ibig sabihin namin sa pamamagitan ng string ng mas maaga? Ginamit ko ito uri ng casually. Ang isang string ay kung ano? Isang salita. Ito ay tulad ng isang pagkakasunod-sunod ng mga character. Indibidwal na mga character, bumalik sa pabalik sa likod, karaniwan ay sa isang array, bilang ko na napag-usapan namin. At sa katunayan, tingnan ang syntax dito, ang dalawang mga square bracket? Ang ibig sabihin nito, hey computer, dito pagdating ng isang array ng mga string. Ang mga parisukat na bracket notasyon ay karaniwang ginagamit upang mangahulugan iyon. At pagkatapos ay maaari mong marahil kumuha ng isang guess-- ano ay naka-highlight na ito tipak ng code marahil gawin? Madla: Ang output? David J. MALAN: Oo. Ito prints ng isang bagay sa screen. Kaya "system" ay isang uri ng isang reference sa iyong computer. "Out" ay nangangahulugan ng iyong computer output o ang screen. Kaya "system.out.print ln" marahil ay nangangahulugan? "Ln." Print linya na programmers tulad sa tila spell ilang mga salita out sa kanyang kabuuan at kumuha shortcut sa iba pang mga salita. Ngunit "ln" ay linya, kaya print linya. Kaya ito mga print out "Hello World! "Na sinusundan ng isang bagong linya. Kaya na ito. Ngunit Java ay kung ano ang makikita nila call object-oriented. At sa katunayan, lamang na magbigay ng isang pares ng mga iba pang mga kahulugan doon na maaari ka makita, sa pangkalahatan, mayroong Maraming mga iba't ibang uri ng wika, ngunit ang pinaka-karaniwang Isasama pamamaraan o pautos na wika. May mga functional wika, na hindi ibig sabihin na ang iba ay nonfunctional. At pagkatapos ay mayroong object-oriented wika. At ito ay marahil ang pinakamahusay na Categorization ng karamihan ng mga wika na nais mong kailanman pumili para sa uri ng isang tipikal na komersyal na proyekto. Ito ay magiging masyadong maraming ng, Sa tingin ko, ng hole isang daga ni na lumusong, ay upang subukan upang ipaliwanag ang iba't-ibang mga pagkakaiba. Ngunit ang mga wika nasaksihan namin sa gayon far-- C ay isang pamamaraan o isang pautos na wika. Higit pang mga kamakailan imbento wika ay madalas na maging, sorry, object-oriented, na nangangahulugan mayroon silang iba pang mga tampok sa mga ito. Maaari ko bang ipaliwanag ito sa ganitong paraan? Tayo'y hindi kahit na pumunta down doon. Object-oriented na paraan maaari mong implement-- maaari kang modelo sa tunay na mundo isang maliit na mas epektibo. Sangkatauhan, sa paglipas ng panahon, ay may korte out, wow, ito ay magiging nice kung ang aking wika ay nagkaroon na ito sa tampok o ang tampok na iyon. At iyon ang dahilan kung bakit kami ay may kaya maraming wika sa mundo. Makatwirang mga tao, smart tao, sumang-ayon o hindi sumasang-ayon at walang paltos uri ng dumating nang magkasama sa pagbuo ng mga bagong wika ang lahat ng sama-sama. Kaso sa point. Apple imbento Swift sa pag-asa ng siguro pagbaba ang bar upang iPhone pag-unlad, dahil sa nakaraang language-- tinatawag Layunin-C, na maaaring ding maging sa aming listahan here-- ay mas arcane at marami pang mas mahirap na balutin ng isip sa paligid. At bilang programming ay nagiging arguably mas naa-access at mas malawak pinagtibay ng mga tao kahit na mas teknikal, ang goal-- ito ay isang napaka magiting layunin upang subukan upang mas mababa ang hadlang sa entry sa pamamagitan ng paggawa mga wikang kanilang sarili mas madali upang makapagsimula sa, ngunit walang mga mas malakas na kinakailangan. At ng isa pang wika. Bakit hindi namin kumuha ng isang pagtingin sa isang bagay tulad ng sawa, na kung saan ay very much sa popularidad mga araw na ito. Sawa. Sample program. Tingnan natin. "Hello World" wika. Gawin natin ito. "Hello World." Sabihin makita kung ito ay nagbibigay sa kami ng magandang halimbawa. OK. Kaya ito ay talagang uri ng masaya. Kaya kung sakaling google "Hello World," na ang mangyayari sa maging isa sa mga unang mga programa kailanman nakasulat sa isang modernong wika, lamang bilang isang patunay ng konsepto, maaari mong makita lahat ng uri ng pagpapatupad ng mga ito. Ang ilan sa mga wikang ito Ko na hindi kahit na narinig ng. Ngunit maaari mong see-- sabihin pumunta sa Basic, ang isa natutunan ko taon na ang nakakaraan, sa bahagi. Ito ay isang masaya na wika dahil ikaw nagkaroon na, pati na ang programmer, numero ang lahat ng iyong mga linya. Hindi iba kung ano ako ay ginagawa kapag ako ay sumusulat pseudocode sa dilaw dokumento mas maaga para sa binary paghahanap, para sa paghahanap ng isang phone book. At kaya, kung ikaw ay wanted upang pumunta sa isa pang linya, Gusto mong literal i-type, pumunta sa 10, o pumunta sa 20. At kung ikaw ay sumusulat ng mga linya, ang convention ay upang gawin, ito ay line 10, ito ay line 20, ito ay line 30, 40, na may walang sa pagitan, sa gayon ay nagbibigay sa iyong sarili ng ilang mga kuwarto kung magpasya ka, maghintay ng isang minuto, dapat ako ay nagdagdag ng ilang mga karagdagang code sa isang lugar. Ikaw pa rin ay uri ng siyam pagkakataon upang pisilin na sa pagitan ng iyong programa bago ka had sa manwal magnumerong muli ang lahat. Kaya ito ay uri ng kung ano ang ibig sabihin ko kapag sinabi ko ang mundo ay magkaroon ng na may isang bagong tampok. Sa isang lugar sa kahabaan ng paraan ng isang tao natanto, boy na ito ay bobo. Ito ay lamang ng paglikha trabaho para sa mga programmer. Kaya siya lamang ang uri ng mga built ng isang bagong layer sa itaas ng na upang hindi mo kailangang mag-alala tungkol sa kung ano line numero ng iyong code ay talagang sa. Kaya kapag maaari mong piliin isang wika o sa iba pang? Well, kung alin sa mga wika gagawin mo ay may posibilidad makarinig ng tungkol sa mga pinaka-in ng iyong sariling mundo mga araw na ito? ni drop down Layunin-C masyadong Hayaan. Madla: C #. David J. MALAN: C #. Kaya hayaan mo akong kulay. Huwag mayroon kaming ang aming iba pang mga kulay sa isang lugar? Kaya C #. At kung ano ang alam mo tungkol sa C #? Anything spring sa isip? Madla: Ito ay isang programming language. David J. MALAN: Ito ay isang programming language. OK. Tama iyan. Kaya kami ay pakikipag-usap tungkol sa C #. C # ay may gawi na gamitin sa kapaligiran Windows, kaya kung ikaw ay sumusulat Microsoft software para sa Windows, C # ay napaka-karaniwang ginagamit, maging ito man ay para sa mga desktop software, o kahit phone software sa Windows phone, kung nagkaroon ka ng mga, o sa web kahit na masyadong. At sa katunayan, marahil Kareem nabanggit ASP mas maaga? Kaya mayroon ding mga bagay na tinatawag na frameworks, kung saan maaari naming ipakilala sa pamamagitan ng extension. Frameworks, tulad ASP. Nakatayo para sa mga aktibong mga pahina server. At ito ay code at isang paraan ng programming na sa pangkalahatan ay ginagawang mas madali na magsulat web based na mga aplikasyon. Sa ibang salita, magiging super, sobrang nakakainis na magsulat ng isang website sa wikang C na nasaksihan namin bago, dahil gusto mo na kailangang gumamit ng print + F, Gusto mo bang gamitin ang keyword na "Main" at ang kulot tirante. Ang isang pulutong ng arcane syntax at diskarte upang ipatupad isang bagay na ay medyo mahirap unawain. Ang isang web page. At kaya iba pang mga wika ay may nagbago upang gumawa ng na uri ng bagay mas madali. At siya namang, ang mga tao ay may dumating up may frameworks, pag-uuri ng mga kasangkapan na maaari mong gamitin na gawin itong mas madali upang isulat ang mga pahina ng web. Kaya halimbawa, upang gumawa ng ito mas kongkreto, hayaan mo akong buksan up lamang ng isang text file para sa isang sandali. At maaari mong isipin ang kahapon na namin sinabi ng isang bagay tulad ng, ito ay isang web page. HTML. Isara HTML. Hayaan akong laktawan ang ulo at lamang gawin ang mga katawan dito. Ipagpalagay na nais kong isulat hindi "Hello World," ngunit "Hello David," kung saan David ay ang pangalan ng kasalukuyang naka-log in user. Ano ang isang bagay tulad ASP ay gawin, o JSP-- na kung saan ay Java server pages-- o anumang bilang ng mga iba pang mga frameworks ay ang mga ito ay hindi mga wika, per se. Ang mga ito ay tulad ng karagdagang software na kayo Gusto i-install sa iyong kapaligiran na lamang gawing mas madali sa programa. Kaya halimbawa, sa halip na may sa gawin bagay tulad ng "hello, printf (" David ")" o isang bagay na uri ng co-mingling-- ang uri ng code nasaksihan namin before-- ang gusto mong gawin ng isang bagay magkano ang mas simple, tulad ng "name%." At kaya ang mga frameworks, tulad ASP-- at ako hindi matandaan kung ko natatanggap ang syntax lamang karapatan para sa ASP. JSP ay isang little-- ay ito right? Kaya sa ASP, ito ay uri ng isang espesyal na syntax na ang ilang mga developer nagpasya ito ay maaaring makatulong sa mga tao out. At maaari kong ipahayag ang mas succinctly placeholder, halimbawa. Like maglagay ng isang halaga dito, kung saan ang halaga na ito pangalan ay hindi N-A-M-E, ito ay ang ilang mga halaga na naka-imbak sa doon. Kaya "pangalan," sa ganitong konteksto, gusto naming tumawag sa isang variable. Algebra ay variable tulad ng x, at y, at z. Programmers gamitin ang mga variable na mas naglalarawang kaysa sa x, y, at z, karaniwang. Kaya "pangalan" ay literal na ang ilang mga uri ng memorya container para sa isang bagay tulad ng D-A-V-I-D, para sa aking pangalan, o kung sinuman ang sino pa ang paririto ay naka-log sa website. At kaya ito ay ang uri ng kaginhawaan kumuha ka ng may mga tiyak na kapaligiran. Kaya C # at isang bagay tulad ASP gagawin very karaniwang gamitin sa isang Windows mundo, kung para sa kanyang desktop software o web server, lalo na kung ang iyong server ay siya namang tumatakbo Microsoft Windows at Microsoft IIS-- o Internet Information Server, kung nakukuha ko ang acronym right-- na kung saan ay web server ng Microsoft. Kaya kung ano ang iba pang mga wika Isasama folks pamilyar sa, o mayroon kang narinig ng mas madalas kaysa sa hindi? Madla: Alam ko na sawa ni uri ng isang popular [hindi marinig]. David J. MALAN: Very popular. Kaya sawa dito ay ginagamit napakadalas sa mga kaunlaran sa mga application o data science, kung saan mayroon kang isang pulutong ng data na gusto mong pag-aralan at nais mong gumamit ng isang programming language para dito. R ay maaaring karaniwang gamitin para sa na pati na rin, sa isang statistical konteksto. Ngunit sawa ay may napakaraming mga mga tampok na binuo in. Kaya maraming mga karagdagang aklatan, bilang mga tao sabihin. Mga Aklatan ay lamang mga koleksyon ng code na ang ibang tao wrote na maaari mong gamitin upang ikaw Hindi mo na kailangang muling baguhin ang mga gulong. At kaya sawa ay napaka-karaniwang ginagamit sa mga aplikasyon ng data science. Ngunit ito ay din napaka-karaniwang ginagamit sa mga aplikasyon ng web. Maaari mong ipatupad ang isang dynamic website gamit sawa. At sa pamamagitan ng dynamic na website, ako nangangahulugan na hindi lamang static na nilalaman tulad nilikha namin kahapon, sa pamamagitan ng lamang mahirap coding sa teksto Latin at iba pang mga bagay, ngunit sa halip ng kakayahan mag-log in, ang kakayahan upang bumili ng isang bagay, ang kakayahan upang tingnan ang sa iyong shopping cart, o mga katulad. Ang lahat ng iyon ay nangangailangan ng dynamism at ikaw kailangan ang ilang mga wika tulad ng isa sa mga. Madla: Kaya ang Python magkaroon ng sarili nitong extension, katulad ng gusto [hindi marinig] David J. MALAN: Ito ay. Kaya sa mundo ng Python, Django ay isang napaka-tanyag framework para sa mga sawa. WSGI ay isa pang mekanismo na uri ng naiiba mula sa ito ngunit katulad sa espiritu. Ito ay isang add-on na nagpapahintulot sa iyo na tumakbo sawa code sa isang server. Mayroong other-- yeah. Kaya makikita ang mga naming tumawag frameworks. At ito ay isang maliit na bit ng isang pang-aabuso. Ito ay higit pa sa isang web server teknolohiya. Ngunit kami ay panatilihin ito simple at ilagay ito sa ang haligi na ito gayunman. OK. WSGI. WSGI. Ang isa pang thing-- at talagang, sabihin sa akin ilipat na sa sarili nitong hanay, dahil Gusto ko sumigaw sa aking sarili para sa paglalagay ng mga ito sa parehong bucket. ni ilagay ito sa server Hayaan tampok, sabihin natin. Iyan ay hindi isang teknikal na termino. Kaya dito maaari naming WSGI. Mayroong CGI, na kung saan ay isang mas lumang pamamaraan para sa paghahatid up wika tulad ng Perl o PHP, o ilang iba. Muli, nabanggit ko na ang mga katagang ito hindi kaya magkano upang ayusin ng itanim ang mga ito, ngunit sa gayon ay kung nakita mo ang mga ito ito ay isang bagay mo lamang google sa read more. Walang tunay na juice sa ilan sa mga bagay na ito. Ngunit sabihin bumalik sa mga wika. Usapan natin ang tungkol sa C #, sawa. Ano pa ang maaaring ginagamit mo para sa web programming mga araw na ito? ni-focus sa na pa rin Hayaan. Madla: PHP. David J. MALAN: PHP. At ni bumalik sa isa na nagbibigay-daan. Kaya PHP ay napaka-karaniwang ginagamit. PHP ay may kaugaliang upang makakuha ng isang masamang rap. Ito na nagsimula off bilang isang wika ipinatupad sa pamamagitan ng mga tao na marahil ay hindi kinakailangan ang pinakamahusay na designer wika. At kaya maaari mong basahin ang lahat ng uri ng mga artikulo sa online tungkol sa kung paano masamang PHP ay. At sa kasamaang-palad, ito ay isang paghahayag, sa bahagi, na lamang ang relihiyon debates na sumabog sa mga programmer. At ito ay isang bagay arimuhanan sa isip, mula sa isang perspektibo ng negosyo, na ito ay tunay madali para sa teknikal na mga tao upang makakuha ng lahat ng nagtrabaho up sa kanilang mga opinyon sa ilang mga bagay. At ito ay hindi palaging nangangahulugan na ang isa yelling ang loudest o sa mga strongest, angriest opinyon ay tama. Isang maraming beses, ito tunay lamang ay hindi mahalaga. At kaya ang mga tao ay lamang arguing kahit anong kanilang sariling biases o ginhawa zone ay. At kaya dapat mong panatilihin na sa isip kapag gumagawa ng isang desisyon, na lamang dahil may isang taong nagsasabing ito ang tamang wika para sa ang trabaho, upang maging totoo, ngunit ito rin ay lamang ay maaaring maging ito ay ang tamang wika sa loob ng kanilang sariling kakayahan itakda o comfort zone. Na kung saan ay hindi masama, ngunit dapat mong mapagtanto na maaaring may ilang mga konteksto doon. May ilang objectively maling pahayag, tulad ng C ay ang maling wika upang magamit mga araw na ito para sa pagpapatupad ng mga website halos palaging. Ngunit ito ay hindi walang katwiran upang sabihin na ang alinman sa mga ay mali na ko circled namin sila hanggang dito. PHP ay wala na sa pamamagitan ng maraming mga bersyon. Kaya mga wika ay madalas na may bersyon numero na nauugnay sa mga ito. PHP ay hanggang sa, tingin ko, bersyon 7 ngayon, kaya ito ay naging sa paligid para sa ganap ng ilang oras. At bilang mga wika makakuha mas bago, sila ay madalas na makakuha ng mga bagong tampok. Ngunit mayroon kang upang maging mapag-intindi ng mga ito dahil kung ang iyong website ay naging ipinatupad sa bersyon 7 ng PHP ngunit sinusubukan mong patakbuhin ang iyong website, o marahil na iyong outsourced ang pag-unlad ng iyong code sa ibang tao at sila mail ito sa iyo o ipadala ito sa iyo at sinasabi nila, dito, ilagay na ito sa iyong web server, kung ang iyong web server ay isang ilang taon outdated-- maging ito man ay iyong sariling server o ng isang web host-- hindi talaga ito maaaring tumakbo. Kaya ang mga ito ay ang mga uri ng mga bagay na ang isang tao mga pangangailangan upang maging maingat sa kapag-upgrade ang isang site o pagpapatupad ng mga ito sa unang pagkakataon. Narinig ko JavaScript nang mas maaga. Kaya JavaScript ay isang nakawiwiling isa sa na ito ay sa pangkalahatan ay client side, dahil kakailanganin namin makita pagkatapos ng break, na kung saan ang ibig sabihin nito ay tumatakbo sa browser ng gumagamit. Ngunit maaari mo ring patakbuhin JavaScript mga araw na ito paggamit ng isang bagay na tinatawag na Node.js, kung saan Node.js ay isang mekanismo para sa pagpapatakbo JavaScript code server side, sa halip ng paggamit sawa, o PHP, o iba pang tulad ng mga wika. JavaScript ay partikular na mahusay na angkop para sa chat application at real time aplikasyon, samantalang PHP ay hindi isang mahusay wika para sa pagpapatupad ng isang bagay tulad ng isang chat server, kung saan mga gumagamit manatili konektado sa mga ito patuloy. PHP ay higit pa sa isang pagbisita sa akin isang beses, makabalik isang resulta, at pagkatapos ay i-click ang isa pang link ng ilang mga segundo o minuto mula ngayon. Sapagkat Node.js at JavaScript ay maaaring maging ginagamit higit pa para patuloy na koneksyon. Mga ibang wika na pinaghihinalaan mo ay karaniwang ginagamit para sa mga web bagay-bagay? Madla: Gusto jQuery maging isang balangkas? David J. MALAN: Magandang katanungan. Wala alinman sa. Gusto kong tumawag sa jQuery library, kung saan muli ng isang library ay lamang ng grupo ng code na ang isang tao sino pa ang paririto ay may nakasulat na sa pangkalahatan solves ilang mga problema na ginagawang, sana, mas madali para sa iyo na gawin ang iyong trabaho. At hayaan mo akong gawin ang isa halimbawa ng ito sa konteksto ng web. Sa konteksto ng web mayroong wikang ito, JavaScript, na namin makita sa ibang pagkakataon, kung saan mo Maaaring sabihin ng isang bagay tulad this-- "Document.getElementById." At ano ang ginawa kong tumawag ito kahapon? Una, sa tingin ko, ay ang mga natatanging ID ibinigay ko sa isang elemento na na mukhang ito. "P id =" first ">" at pagkatapos ay nagkaroon kami tulad ng "lorem ipsum," at iba pa. Kaya kung ako ay pagsulat ng isang programa sa JavaScript upang kahit papaano ay manipulahin, baguhin ang mga pahina ng web na kami ay naglalaro sa kahapon, Gusto ko bang gamitin ito naka-highlight na linya ng code upang makakuha ng na partikular na snippet ng HTML mula sa aking pahina, sa partikular na node, dahil kakailanganin namin tumawag ito. Gayunpaman, sa jQuery, sa halip ng pagsulat ito, na kung saan ay raw JavaScript code-- lamang sa labas ng kahon, na kung paano mo isulat it-- nais mong sa halip lamang sabihin, "#first." Iyan ay katumbas. At kaya batay lamang sa ito napaka arcane Halimbawa, kung ano marahil ay ang argument para sa paggamit ng jQuery? Bakit ang isang developer gumamit ng isang library tulad ng jQuery, batay sa mga ito ilang halimbawa, marahil? Madla: Less code. David J. MALAN: Oo. Ito ay mas mababa code. Ito ay lamang ng mas mabilis mag-type. kontrapunkta ay na ang hitsura nito scarier. Talagang hindi mo maaaring basahin ito kaliwa papuntang kanan. Sa katunayan, dahil sa ito ay halos bantas ngayon sa halip ng mga aktwal na mga salita, Maaari ko bang uri ng magpakilala na "Document.getElementById" ay makakakuha ng isang elemento mula sa dokumento sa pamamagitan ng kanyang ID. Ko talagang ay maaaring gumamit ng walang ganoong nimonika mula ang bagay na ito dito. Kaya ito ay isang kalakalan off. May isang kabutihang-asal na nanggagaling madalas na may gamit aklatan, lalo na tulad ng jQuery. Subalit ang katotohanan ay jQuery ay may uri ng maging isang de facto na pamantayan, kaya na halos kahit sino ay ang mga araw na writes JavaScript code ay gumagamit ng jQuery o ng isang bagay tulad nito, at hindi na magsusulat tulad ng isang maligoy expression bilang ito, dahil muli, ang sangkatauhan ay natutunan, wow, na noon ay uri ng isang hindi nakuha ng pagkakataon upang gumawa ng aming mga buhay mas madali. Kaya tao gumawa ng kanilang buhay mas madali. Magandang tanong. Mga ibang wika upang isaalang-alang. Gusto ko sasabihin sa gitna ito listahan Ruby ay lubos na popular. At kaya sa mundo ng Ruby, may isang framework tinatawag daang-bakal, na kung saan ay napaka-tanyag. Kaya Ruby sa daang-bakal ay isang karaniwang ginagamit expression. Gayundin sa mundong ito, hayaan mo akong bilog Java para sa mga web bagay-bagay, kung saan sa mundo ng Java maaari kang magkaroon ng JSP, o Java Servlets, na kung saan ay isang pangkaraniwang teknolohiya. At ito ay lamang muli mga paraan ng paggamit na wika sa isang kapaligiran sa server. Kaya kung ano ang ibig sabihin nito? Kung mayroon ka ng isang pisikal na server, gusto mo literal i-download ang web server software at i-install ito sa paraan na ikaw ay may suporta para sa isa sa mga frameworks, kung saan ka maaaring, sa turn, gamitin ang isa o higit pa sa mga wikang ito. At sa katotohanan, kung nag-sign up para sa tulad ng isang web host o ilan sa mga ulap serbisyo usapan natin tungkol sa kahapon, madalas mga bagay-bagay lang ay may mga configuration ni machine para sa iyo. Hindi mo na kailangan upang i-set up na ito nang manu-mano. Ngunit kung ikaw ay, ito ay kung saan ang papel na ginagampanan ng system administrator, kaya na magsalita, lumapit sa maglaro. Siya o siya ay talagang gawin ito uri ng mga bagay-bagay para sa iyo, o ang tinatawag na webmaster ay madalas gawin ito para sa iyo. Lahat tama. Ang anumang mga katanungan sa ilan sa mga dito? O anumang mga pagkakataon sa lahat na magtanong tungkol sa wika? Frameworks? Pagkatapos hayaan mo akong ipakilala lamang ng isa pang library na din napaka-pangkaraniwan mga araw na ito. Ang listahang ito ay maaaring pumunta sa walang hanggan. At ito library ay uri ng simula upang malagas ng pabor. Naging paligid. Ito ay popularized sa pamamagitan Twitter para sa ilang oras. At ngayon ng maraming ng mga website, lots ng mga developer gamitin ito. Ngunit ang mga bagong bagay ay darating out at darating kasama. Ngunit ipaalam sa akin lamang mabigyan ka ng ideya ng kung ano ang ibig sabihin nito upang gamitin ang isang library. Kaya muli, JavaScript ay isang napaka-tanyag wika. CSS, o Cascading Style Sheets, usapan natin ang tungkol kahapon. Iyon, masyadong, ay nasa lahat ng dako. Walang sinuman ang gumagawa ng isang web page ngayon nang hindi gumagamit ng HTML at CSS minimally. Ngunit ito ay hindi laging madali na gawin ang ilang mga bagay. At kaya hayaan mo akong pumunta sa getbootstrap.com. Whoops. Iyan ay hindi kung paano namin spell. Getbootstrap.com, na kung saan ay pagpunta sa humantong sa akin sa landing page para sa library na ito. Kaya sila generously tumawag kanilang sarili ng isang framework, na kung saan ay uri ng uri ng patas, ngunit Gusto ko pa rin tumawag ito higit pa sa isang library sa isang framework. Ngunit ito ay lamang hindi tiyak semantika. Hayaan akong pumunta sa kanilang tab CSS at hayaan mo akong pumunta sa isang bagay tulad nito. Kaya isipin ang kung ano ang aming mga form ay tumingin tulad kahapon sa Cloud9? Ito ay medyo pangit. Old buttons paaralan. Sa tingin ko ang button ay kulay-abo sa pamamagitan ng default. At lahat ng bagay ay talagang format lubos messily. Kaya kung nais mo ang iyong web form upang tumingin isang maliit na nicer-- hayaan mo akong mag-zoom in dito. At sa pamamagitan ng nicer ko talagang lamang ibig sabihin very nitpicky aesthetics. Kaya pansinin kung paano ang email box doon ay isang bilugan hugis-parihaba sulok dito. Kaya ito ay isang maliit na mas malinis doon. Pansinin na ang salitang email ay doon hanggang sisimulan ko ang pag-type at pagkatapos ito napupunta ang layo. Kaya na ang isang magandang maliit na tampok na ito. Pansinin kung paano ang mga bagay ay uri ng kumikinang mabuti, na ang ilan sa inyo na ito makakuha ng libre mula sa iyong browser, ngunit ang ilan sa ito ay din aklatan, code na ang ibang mga tao ay may nakasulat na magbibigay sa iyo na ito. Isang bagay na tulad nito ay nagbibigay sa akin ang aking password. Ang pindutan na ito ay isang maliit na sexier kaysa sa default. Very much sa popularidad ngayon. Ever since iOS 7 o kaya, ang mundo ay may gotten very flat, samantalang ang mundo bago nagkaroon lots ng drop anino, lots ng reflections sa mga icon. Karamihan tulad ng sa mundo damit, mayroong fashion trend na darating at pumunta. Ngayon lahat ng bagay ay flat sa iyong telepono. Sa katunayan, mga pindutan sa iyong iPhone ay ngayon lamang asul na mga link. Mayroong hindi madalas kahit circular buttons. Kaya ito ay lamang ang mga bagay na papasok at lalabas, ng popularidad, at sa gayon ito ay kung paano maaari mong gumawa ng isang mas modernong naghahanap web form. Pindutan. Kaya Bootstrap ay maraming mga pretty buttons. Kaya kung nais mong asul na mga pindutan, berdeng pindutan, asul, orange, pula. Bootstrap ginagawang mas madali na gawin ang mga bagay na ito. Ito ang mga uri ng mga bagay na maaari mong ganap na nagawa kahapon sa CSS at may HTML, ngunit ito lamang ay isang sakit sa ulo. At kaya sa halip, kung ano ang Bootstrap gagawin kung gagawin mo ay isang bagay na tulad nito. Kung gusto mo ng button-- lumiliko out na ito ay isang HTML tag hindi namin ginamit yesterday-- at gusto mo ito sa hitsura tulad nito green button, mong literal lang bigyan ito ng isang klase, na kung saan ginawa namin makipag-usap tungkol sa kahapon, ng "btn btn-tagumpay." Bakit ang mga salitang iyon? Twitter, may-akda ng Bootstrap, ay dumating up sa mga salitang iyon. maaaring sila ay tinatawag na sa kanila kahit ano ang gusto nila. Ngunit kung ano ang nakakakuha ngayong ibang tao sa Twitter, sa kasong ito, ay may korte out kung paano mo gumawa ng isang button tumingin maganda at malinis at berde. Sila ay naka-package up na pag-andar sa isang CSS klase, na tinatawag na "btn" at "btn-tagumpay," upang ang anumang sa atin ay maaaring ngayon gamitin ito nang walang kahit na-iisip tungkol sa ito. Kaya sila ay lumilipad ang isip ang layo ang pagkaunawa ng isang green button kaya hindi namin kailangang mag-aalaga ang tungkol sa pagpapatupad ng mga ito sa ating sarili. maaaring aktwal na kami ay tumutok sa pagpapatupad bagay ng interes sa amin. Kung mag-scroll namin pababa dito. mga mensahe ng error sa screen. Minsan gusto mo ng kaunti mensahe upang lumitaw sa itaas ng browser. Sinuman sa atin ay maaaring gawin ito na may ilang mga pagsisikap, pagkatapos aralin kahapon, ngunit kung bakit nais mong mag-abala? Iyan ay tulad ng isang hindi kawili-wili aesthetic detalye. ni tumayo sa Hayaan balikat ng Bootstrap at bigyan kami ng mga bagay na tulad nito, kung saan kami literal, upang makakuha ng isang pulang kahon, na lang ay upang gawin ang isang talata tag sa isang klase of-- sorry. "Bg-panganib" ay magbibigay sa amin ito mamula-mula kahon sa halip. Ngayon sabihin pumunta sa mas kawili-wiling mga bagay. Kung pumunta ako pabalik sa tuktok ng ang pahinang ito at pumunta sa Components, ngayon ang mundo ay makakakuha ng mas kawili-wiling. Halimbawa, napaka-pangkaraniwan ay drop down na menu na katulad nito. Ito ay magiging isang ganap na sakit na ipapatupad. At ito ay hindi na matagal ang nakalipas na kami programmer ay magkakaroon upang ipatupad ang mga uri ng mga menu mula sa simula. Ngunit ito ay tulad ng isang pangkaraniwang paradaym na mga aklatan tulad ng Bootstrap lamang magbibigay sa iyo ng kakayahan upang gumawa ng isang drop down na menu malayo, malayo mas madali. Walang isang paraan upang gawin ito, ngunit kung basahin ko ang mga babasahin Gusto ko makita na, OK, dapat kong gamitin ito HTML kung gusto ko ng drop down menu na behaves tulad na. Katulad nito, sabihin pumunta sa button drop down. Kaya ito ay kahit na may interes. Kung nais ko ito upang magmukhang isang pindutan ngunit na maliit na tatsulok ay nangangahulugan ang dapat kong i-click ito at makakuha ng menu na ito, ito ay ang paggamit ng isang wika na tinatawag na JavaScript. At maaari namin ang lahat ng ipatupad na ito sa JavaScript. Ngunit muli, ito ay isang wheel hindi mo nais upang muling baguhin. Gusto mo lamang upang dalhin ito off shelf library para sa. Tayo'y pumunta sa isang bagay tulad progreso bar. Kaya ang isang bagay tulad ng ito ay uri ng cool. Kung kailanman na iyong nakita ang isang progress bar gumagalaw sa buong screen, pagpapatupad na madalas ay lamang ng isang icon spinning. Sa katunayan, lamang bilang isang bukod, sabihin akong pumunta sa Ajax-- ano ito? Ajax impormasyon? Whoops. Ajaxinfo. Hayaan akong tandaan ang address. Mayroon kaming pumunta. Kaya kung sakaling mo na nakita ang ilang mga animation habang ang pahina ay naglo-load, o pag-iisip, o pag-save, o paglikha ng isang bagay, ikaw maaaring makita tulad ng mga animation ng mga ito. Kaya sabihin tumingin sa isang bagay tulad ng isang ito dito, at sabihin pumili ng isang foreground kulay ng green, na nararamdaman uri ng friendly. Maaari ko bang i-click ito? Halika isa. OK. Susubukan naming pumunta lamang sa pula dahil na kung ano ang kami ay nakakakuha. Kaya dito kami ay may ito. Kaya kung kailanman na iyong nakita ito sa isang screen, kung saan biglang paglitaw nito at pagkatapos ay biglang mawala, kung ano ang ito na pagpapatupad nito? Well, ito ay lamang ng isang GIF. G-I-F. At ito ay isang animated file, na kung saan ay nangangahulugan lamang ito ay tulad ng isang lumang paaralan comic book. Mayroon lamang ng grupo ng mga iba't ibang frame na pagpunta [Stuttering] at lamang paulit-ulit. At ito ay paglikha ng ilusyon ng paggalaw. Ito sa lalong madaling isang pahina ay tapos na naglo-load o paggawa ng isang bagay, ano ang ginagawa ng isang programmer gawin? Well, siya ay lamang hides ang larawang ito. Kaya ang lahat ng progress bar ay ay uri ng gusto ng isang pelikula na iyong pinapanood. Ikaw uri ng malilimutin sa ang katunayan na ito ay hindi tunay na paggawa ng anumang bagay, lamang ito ay gumagalaw. At pagkatapos, kapag ito ay tapos progressing, sila lang itago ito o i-off ito. At iyon ang lahat ng mga magic na nangyayari sa doon. Bootstrap ay nagbibigay sa iyo isang bagay ng isang maliit na may interes, kung saan maaari mong aktwal na makita ang isang porsyento bilang ito napupunta, ngunit ito rin ay lamang ang uri ng isang simpleng animation. Tingnan natin ang ilang final Hayaan mas kumplikadong mga halimbawa dito. Isang bagay na tulad ng isang modal. Ba kahit sino malaman kung ano ang isang modal ay? A modal window ay karaniwang isa na ay dapat upang tanggapin ang kontrol ng foreground at pigilan ka mula sa paggawa ng anumang bagay sino pa ang paririto. Ito uri ng mga pwersang ng gumagamit pansin sa gitna ng screen, pagla-lock ang mga ito out, kadalasan, ng lahat ng bagay sino pa ang paririto. Kaya kung ako ilunsad ito demo, ang screen ay karaniwang maging kulay-abo. Well, paano namin mapapakinabangan ito grey? Well, kami ay marahil lamang nagbago ang kulay ng background tulad ng ginawa namin kahapon o isang bagay tulad na. Siguro ito ay isang overlay na semi-transparent. At ngayon mapansin na maaari mong gawin magarbong bagay tulad nito. Kaya kung sakaling mag-click sa isang pindutan at nais ng isang maliit na pop out upang lumitaw, maaari mong gawin na. At kaya na nagmamalasakit tungkol all-- yeah? Madla: Kaya sa Bootstrap, makihalubilo inkorporada, ay itong simple hangga't tulad ng kahapon ginawa namin ang page CSS estilo? David J. MALAN: Sa katunayan. Talagang mahusay na tanong. Hayaan akong pumunta sa Pagsisimula. At oo. Ang kailangan mo lang gawin upang paggamit Bootstrap ay mahalagang kopyahin at i-paste ang tatlong mahaba ang linya ng code sa itaas ng iyong sariling web page-- sa head ng iyong page-- at ikaw ay up at tumatakbo. At mayroong iba't ibang mga paraan ng paggawa ng ito, ngunit ito ay ang pinakasimpleng. Kaya kung ano ang kapaki-pakinabang tungkol sa lahat ng ito? Well, kung ikaw ay hindi kaya magkano ang implementer ng isang website ngunit ikaw ay trying sa disenyo nito, o gusto mong magbigay ng isang tao may wire frame diagram, kaya na magsalita, o renditions lamang artist ng kung ano ang gusto mong gawin, I, sa ito araw, ay madalas pumunta sa isang site tulad Bootstrap, kung saan kung ako nais na ipatupad something-- tulad kamakailan sa campus gusto naming ipatupad isang web based tool para sa pag-navigate kurso catalog ni Harvard, paggawa ng mas madali para sa mga estudyante mag-browse sa mga kurso at magdagdag ng mga kurso sa shopping listahan, kaya na magsalita, sa uri ng magpasya kung ano ang kanilang nais na kumuha. Ako ay sinusubukan upang isipin para aking sarili, kung ano ang sangkap ng gagawin gusto naming gamitin upang bumuo ng ito? Ano ang gusto ang user interface ay magkagaya? At lamang ng pagtingin sa pamamagitan ng isang site tulad ng ito o iba pang mga naturang mga site library, maaari kang makakuha ng inspirasyon, dahil wow, Maaari ko bang gamitin ang widget na ito, at ito widget, at ito widget. At pagkatapos ay talagang kung ano ang ang programmer ay nagsisimula na gawin, lalo na sa mga araw na ito sa ganitong mas modernong mundo ng web programming, ay programming ay increasingly tungkol kable bagay nang magkakasama. Pagsunud-sunurin ng pagkuha ito off ang shelf, ito off ang shelf, ito off ang shelf, at ikaw na ang matalino isa upang ikonekta ang lahat ng mga tuldok, ngunit sa huli bumuo ng isang bagay sa pamamagitan ng muli nakatayo sa mga balikat ng iba, nang sa gayon ay hindi mo gastusin sa isang buwan pagpapatupad ng isang bobo drop down menu, kung saan ay talagang mahirap na gawin kung gusto mo ito upang gumana sa Chrome, at IE, at Firefox, at anumang bilang ng iba pang mga browser. Ito ay kung bakit doon ay ito upang maging mayayaman komersyal at open source software industriya pati na rin. Madla: Kaya ang Bootstrap makakuha ng update at mayroon kang upang pagkatapos ay i-update ang iyong mga link? David J. MALAN: Ito ay. Well, yes, ito ay hindi. Bootstrap ay kasalukuyang sa bersyon 3.3.6. At sa pangkalahatan kung ano ang iyong do-- ito ay talagang nagkakahalaga ng pagbanggit. May kung ano ang pangkalahatan ay kilala bilang isang semantiko versioning sistema sa mundo. Hindi lahat ng tao ay ito. Ngunit kung nakita mo mga numero ng bersyon na ng form x.y.z-- kaya halimbawa, ang unang bersyon ng isang programa ay maaaring maging 1.0.0. O kung ito ay napaka, napaka-beta, o kahit alpha status, na nangangahulugan na paggamit sa iyong sariling peligro, ito ay hindi talagang handa na para sa prime time, maaari mong kahit simulan 0.0.1 o ilang tulad pagtatalaga. Ngunit kung software ay nagsisimula sa bersiyon 1.0, o equivalently 1.0.0, kadalasan, kung ano ang karaniwang mga days-- bagaman hindi omnipresent-- ay kung ang isang kumpanya o ng isang indibidwal na mga pag-aayos programmer ilang mga bug sa ilang mga piraso ng software na talagang ay isang bug, na ang pagwawasto ay hindi dapat epekto sa iyo sa all-- ito ay hindi nagbabago pag-uugali ng program, ito lamang Inaayos ng isang bagay na ay hindi gumagana properly-- gagawin mo ay karaniwang i-update ang z halaga doon. Na nangangahulugan ng isang tao tulad Kareem maaaring lamang pumunta sa kanyang website, walang taros baguhin ang numero ng bersyon mula 1.0.0 sa 1.0.1, i-save ito, ipadala ito, at sa teorya, hindi kailangang alala na siya ay lamang nasira kanyang website dahil sa ilang mga kakulangan ng pag-andar, dahil ang isang bagay sino pa ang paririto sinira. Samantala, kung ako ang programmer o ilang kumpanya ay upang gumawa ng ilang mga makabuluhang pagbabago na nagdadagdag functionality, maaaring i-update ko sa amin upang 1.1.0 dahil ako talaga pagbabago ng pag-uugali ng library. Ako nagbibigay sa iyo maybe more functionality. Sa wakas, kung ako ay upang aktwal na panimula baguhin ang software upang magkano na ito ay break maraming gumagamit ng mga website o application, pagkatapos ay ako nagpapasalamat, sa modelong ito, upang i-upgrade ang mga pangunahing numero ng bersyon masyadong, na kung saan ay isang paglabag sa pagbabago. Sa ibang salita, maaari ba akong magkaroon ipinagpatuloy suporta para sa mga drop down menu. Kaya kung mag-upgrade sa 2.0, half iyong website ay maaaring huminto sa paggana. At ito ay uri ng isang signal sa komunidad bilang sa kung ano ang kasangkot sa paggawa ng isang pag-upgrade. Ang isang mahusay na pagkakataon upang taasan. Iba pang mga tanong? Lahat tama. Well ipaalam sa tumagal ng isang pagtingin sa isang huling topic sa segment na ito ng programming ng teknolohiya stack, namely na may kaugnayan sa mobile. Kaya sa mundo ng mga cell phone ngayon mo have-- at iPad, at ibabaw, at lahat ng mga uri ng devices-- mayroon kang isang pulutong ng mga pagpipilian kapag ito ay dumating sa pagpapatupad ang isang application o isang website para sa mobile device ng iyong customer. Kaya lang sa estado ang mga halata, marahil mga araw na ito, ano ang mga platform upang bumuo ng para sa mga mobile na space? Ano aparato ay maaaring gusto mong suportahan sa iyong app o website? Madla: Apple. David J. MALAN: OK. Kaya mga aparatong Apple. Kaya na nangangahulugan iPhone, at na nangangahulugan iPad, at marahil kahit na iPod. Ano pa? Olivier? Madla: Android. David J. MALAN: Android. OK. Kaya Android phone, Android tablets, Android market ay kahit messier because-- at kahit Apple ay nagiging makalat. Sapagkat nang matagal nang panahon iPhone ay isang tiyak na laki, at iPad ay isang tiyak na laki, at iPod ay isang tiyak na laki, ngayon kami ay may iPad Minis, at ang manipis na Oo, ang iPhone 6 Plus at 6. Ito ay nagiging isang gulo. Ito ay nagiging ang Android mundo. At sinasabi ko sa uri ng rolling ang aking mga mata dahil mula sa isang nag-develop pananaw, ito ay isang sakit sa ulo kapag hindi mo na kailangang Steve Trabaho ' pangitain ng absolute control sa ibabaw ng lahat ng mga detalye. Apple ay pa rin dahil ang mga ito ang mga gusali ng hardware. Ngunit ito ay isang magandang bagay, kung Ako ay isang software developer, malaman lamang na ang aking iPhone ay palaging pagpunta upang maging ito malaki dahil ay nangangahulugan na ako ay laging alam kung magkano ang screen real estate ng aking tinatangkilik. Kaya kung nais ko upang ilagay ang isang icon sa tuktok na kaliwang sulok, ito ay pagpunta sa maging sa ang eksaktong parehong ilagay sa device bawat solong customer. Ngunit sa mundo ng iPhone 6s at iPhone 6 Pluses at sa mundo ng Android phone, ito ay ang lahat sa ibabaw ng mapa. At kaya ito ay ginagawang mas mahirap na programa bagay, lalo na user interface, dahil ngayon ikaw ay may upang simulan ang pag-aayos ng ang iyong user interface relatibong, hindi walang pasubali. At sa parehong ay totoo sa mga browser, at desktop, at laptops para sa taon dahil ikaw, siyempre, ay may iba't ibang laki ng screen. Ano pa? Maaari mong magkaroon ng ibabaw, tulad ng mula sa Microsoft. Maaari mong have-- Madla: Windows phone. David J. MALAN: Ano iyon? Madla: Windows phone. David J. MALAN: Oo. So windows phone ay maaari pa ring matagpuan. Uri ng uri ng BlackBerrys, ngunit panatilihin ang mga ito sinusubukan. At pagkatapos ay bunches ng iba pang mga device. Kaya para sa pinaka-bahagi, sabihin sabihin ito ay ang mga sa pag-aalaga tungkol sa sandaling ito. Totoong ang Apple bagay-bagay, tiyak na ang Android bagay-bagay, at sa gitna ng Windows, tulad ibabaw tablets mukhang kaakit-akit sa pretty mabuti. At kaya kabilang sa mga aparato, kung nais mong i-roll out, sabihin nating, isang mobile presence para sa iyong kumpanya, ano ang mga uri ng mga desisyon na disenyo ang mayroon kayo upang gawin? Well, kami ay sinabi sa mundo Apple, diyan ay hindi bababa sa dalawang mga wika na karaniwang ginagamit. Ang isa ay tinatawag na kung ano? Madla: Layunin-C. David J. MALAN: Oo. Kaya Layunin-C, na kung saan ay ang mga mas lumang isa. Ito ay din ang wika na ang maraming mga Mac aplikasyon ay nakasulat pa rin sa. Pagkatapos ay ang iba pang mga mas bagong isa ay? Madla: Swift. David J. MALAN: Swift. At ang mga ito ay ang uri ng dalawang malaman upang mapabilib folks. Pagkatapos sa Android mundo, kung ano ang wika ay Android gamitin? Madla: C #? Madla: Java. David J. MALAN: Java ay ang wika ng "du jour." Sa mundo Windows, sigurado, kami sabihin C # sa kasong iyon. Kaya na ito ay uri ng nakakainis, dahil kung ano ang ang takeaway para sa isang negosyo may-ari o isang tao na lamang nagnanais na igulong ang isang mobile harapan? Like, mapapahamak ang mga ito? Like, kung gusto kong suportahan isang medyo malawak na user base, Kailangan ko bang magsulat, ito ay tila, tatlong mga hiwalay na mga application. One sa isa sa mga wikang ito, isa sa Java, isa sa C #. At kahit na gusto ko ang mga pag-andar upang maging magkapareho, ito ay hindi mahalaga. Ko pa rin na kailangan upang gamitin ang iba't ibang wika dahil Apple, at Microsoft, at Google ang lahat ng suporta iba't ibang mga kapaligiran. At ito ay isang hamon para sa taon. Bumalik sa araw, kapag mga tao na ginamit upang bumili ng software sa isang tindahan ng computer sa pag-urong kahon balot, nais mong alinman sa may sa maabot para sa Mac shelf, o for-- marahil ito napakaliit na Mac shelf-- o sa mas malawak Windows shelf at bumili ng ilang software. At napakadalas, nagkaroon hindi kahit anumang bagay para sa iyo sa Mac shelf. Bakit? Well, ang mga kompanya ay nagpasya kung 90% ng mundo, 95% ng mundo ay may PCs, kung bakit abala kahit pagpapatupad ng mga bagay sa Mac OS? Bilang isang aside-- isang kabuuang digression-- bakit ito na Mac tila kaya tinatablan sa mga virus, at bulate, at mga banta sa seguridad? Ay Apple mas mahusay sa taong ito? Pagbubutihin ang Pag-iingat computer secure? Madla: Mas maliit madla? David J. MALAN: Iyan ay marahil ang mas malaking bit dito. Kaya ang maraming mga gumagamit ng Mac ay may long inaangkin, oh, gumamit ng isang Mac, mapapasok mo na immune sa mga virus, at worm, at ang lahat ng mga bagay na ito na matagal plagued PCs. Iyon ay maaaring maging dahil Apple ay may mas mahusay na programmer at sila sumulat ng mas mahusay na software, o ang operating system ay mas mahusay na dinisenyo. Siguro, ngunit malamang na hindi. Ito ay malamang na kapag ikaw ay isang 12-taon gulang na, o isang 30 bagay uri ng pag-upo sa bahay pagsulat malisyosong software upang sakupin mundo, ikaw ay pagpunta upang pumunta pagkatapos mas malaking target na madla. Ang 95% ng mundo na maaaring na nagpapatakbo ng Windows o ilang variants niyaon. Kaya doon ay isang maliit na bit sa magkabilang panig. Ngunit sa kanilang mga credit, Apple, sa aking kaalaman, Matagal nang hindi na talagang touted kanilang sarili bilang mas ligtas, dahil lamang ka na nag-aanyaya sa drama kung gumawa ka na claim, Gusto ko sa tingin. Lahat tama. Nang walang pagkuha ng masyadong malayo down na, paano namin malutas ito? Mayroon ba kayong upang bumili o ang mayroon kayo upang magbayad ng tatlong iba't ibang mga tao na bumuo ng iyong apps? Huwag kang pumili ng isa sa isa? Ano ang dapat gabayan ang iyong iisip dito sa tingin ninyo? Kareem? Nope. Ibang tao. Madla: Just nanggaling sa mga hardware. David J. MALAN: Sumama ka sa mga hardware? Anong ibig mong sabihin? Madla: Para sa kapaligiran. [Hindi marinig] David J. MALAN: Kaya na ay totoo. Ngunit ang iyong mga customer, samantala, ay maaaring magkaroon ng mga iPhone, sila rin ay magkaroon sa mga teleponong Android, ang mga ito ay maaaring magkaroon ng mga tablet na ginawa ng Microsoft. Kaya paano mo magkaroon ng isang mobile na diskarte para sa lahat ng mga iba't ibang mga user? Gusto Ito tila na kung ito ay nagkakahalaga, sabihin nating $ 1,000 sa gumawa na ng iPhone application, ito ay pagpunta sa gastos sa iyo $ 2,000 sa gumawa isang iPhone application at isang Android application, o $ 3,000 din sumusuporta sa Windows device pati na rin. Iyon ay marahil lubos na isang paghalaga nang maliit, at ito ay hindi maaaring kahit na maging isang linear relasyon tulad na. Madla: Kung gusto mong magkaroon ng isang app o hindi, maaari kang magkaroon ng madaling tablan website. David J. MALAN: Good. Madla: O maaari kang magkaroon ng isang native na app. David J. MALAN: Oo. Kaya sa lahat ng konteksto ito dito, kami ay pakikipag-usap tungkol sa kung ano tao ay tumawag native application. Iyon ay mga aplikasyon na nakasulat sa katutubong wika ng device na iyon. Kaya katutubong Layunin-C o Swift code, o sa Java, o sa C #. Aling ay nangangahulugan na kapag nag-download ka, sabihin sabihin Snapchat, isang popular na application, o kapag nag-download ka Facebook para sa isang telepono, ikaw ay pag-download ng alinman sa bersyon na nakasulat para sa iyong iPhone, o nakasulat para sa iyong Android phone, o nakasulat para sa iyong ibabaw. Ngunit may ay isang alternatibo. Bilang Olivier ay alluding sa, maaari mong aktwal na gamitin ang mga HTML 5 sa halip, gamit ang kung ano ang tinatawag na isang web application, kung saan mo lamang ipatupad ang iyong mobile presence at anumang pag-andar. Ano ang ibig sabihin ko sa pamamagitan ng mobile presence? Tulad ng iyong website na may ang iyong impormasyon ng contact, isang listahan ng lahat iyong mga produkto, marahil ito ay may isang shopping cart, marahil nagbebenta ka ng mga bagay-bagay sa pamamagitan nito. Anuman ang iyong mga application ay, ikaw ipatupad ito, hindi sa Layunin-C, o Swift, o Java, o C #, ngunit sa HTML 5, na kung saan ay ang wika namin hinihintay sa kahapon, sa JavaScript at CSS. At kung ano ang magaling tungkol sa mga tatlong ay na upang patakbuhin ang mga ito, kailangan mo lamang kung ano ang piraso ng software? Madla: Ang isang web browser. David J. MALAN: Ang isang web browser. At ang pinakamahusay na alam ko, ang lahat ng mga aparato ay may mga web browser, kaya ang gumagamit ay hindi kailangang install ng isang bagay na espesyal. Kaya maaari mo lamang sabihin sa iyong madla, ang iyong mga customer, pumunta sa acme.com sa iyong browser at makikita mo lamang magkaroon ng isang web based na karanasan na pa rin pumupuno sa screen, ngunit hindi mo na kailangang mag-alala tungkol sa lahat ng mga gastos na ito at ang lahat ng ito kumplikado. Ngunit tiyak na doon ay pagpunta na maging isang catch dito, right? Lalo na kung ituro ko out na ang isang pares taon na nakalipas, ang pinakaunang bersyon ng mobile application Facebook ni ay halos isang HTML 5 application. At mayroon silang, mas kamakailan lamang, reimplemented ito sa kanilang mga iba pang mga application. Kaya bakit hindi mo gagawin agad nais na sabihin, well, malinaw naman kami ay pagpunta sa gawin ito? Ano ang maaaring maging ang mga nakatagong mga gastos? Madla: Pagganap. David J. MALAN: Performance? Paano ang iyong ibig sabihin? Madla: Ang katutubong app ay may higit sa pagganap. David J. MALAN: Kaya na ay totoo, para sa isang pares ng mga dahilan. Maaari naming oversimplify ang sagot. At isipin ang aming talakayan ng interpreted versus naipon wika. Ito ang HTML 5 at sa mga ito, lamang na maging malinaw, JavaScript-- karaniwang nakasulat JS-- at CSS ay ang lahat ng interpreted wika, kahit na lamang ng JavaScript ay isang programming language. At kaya versus mga ito, na ang ilan sa mga ay pinagsama-sama, hindi bababa sa mga three-- Layunin-C, Java at C # - ang mga ito, sa teorya, ay dapat lamang maging mas mabilis. Subalit may isa pang katotohanan for-- Madla: Andar? David J. MALAN: Ano iyon? Madla: Andar. David J. MALAN: Pag-andar? Paano kaya? Madla: Gamitin ang camera off ang iyong telepono o isang bagay. Maaari mong gamitin ang mga may browser. David J. MALAN: Mismong. Sila ay sec-- Madla: [hindi marinig] David J. MALAN: Iyan ay isa pang mahusay na isa. May mga tampok na nanggaling sa mga mobile phone ngayon na hindi, sa pamamagitan ng disenyo, para sa seguridad dahilan, naa-access sa mga web browser. Dahil magiging uri ng isang katakut-takot bagay kung lamang kapag bumisita ka google.com, o cnn.com, o anumang website.com, na website na may kapangyarihan upang i-on sa iyong camera, kumuha ng isang larawan ng sa iyo, at pagkatapos ay gamitin ito. Ngunit hindi mo nais ang isang random na website na iyong binibisita para sa pinakadulo unang pagkakataon na magkaroon na kakayahan. At kaya kung ano phone tagagawa ay karaniwang gawin ay sila lamang tanggihan ang access sa na uri ng impormasyon sa isang browser, na nangangahulugan na ikaw ay hindi maaaring ipatupad ang camera. Hindi mo maaaring ipatupad push notification, ang beeps na makakakuha ka sa iyong screen may maikling mensahe. At sa katunayan, kahit na GPS ay lamang uri ng pag-uuri ng mga magagamit na sa mga web browser. Kung na sa iyo kailanman, sa isang laptop o sa isang mobile device, pulled up ng isang bagay tulad marahil cnn.com, ngunit din mga lokal na istasyon ng balita ay may posibilidad na gawin ito, ipo-prompt madalas na may isang message-- foxnews.com gustong malaman ang iyong lokasyon. Aprubahan o tanggihan. Well, ang browser ay sinusubukang i-access iyong GPS na impormasyon mula sa iyong telepono. Pero thankfully Microsoft, at Apple, at Google nagpasya na pakiramdam ng tulad ito ay isang kapaki-pakinabang na sitwasyon, gusto naming Google Maps at iba pang mga tool upang gumana, ngunit hindi namin nais na gapangin mga tao out sa pamamagitan lamang pinapagana ang anumang mga website upang gawin ito. Kaya sabihin uri ng meet Halfway at prompt ng gumagamit. Ngunit iyan ay hindi kinakailangan ang kaso sa lahat ng hardware, tulad ng mga camera at sa push abiso at ang gusto, kaya maaaring kailanganin mong isakripisyo ang ilang mga tampok. Ngunit ang pagganap ng masyadong. Ito ay magiging mas mababa kapansin-pansin sa panahong ito, marahil bilang LTE catches sa at mas mabilis bilis ng internet sa mga telepono, ngunit maaari mong uri ng pakiramdam ang pagkakaiba. Tulad ng isang web based na application lamang ang nararamdaman mas mabagal, kadalasan, kaysa sa isang native na application, bahagyang dahil ang isang web based na application sa pamamagitan ng kahulugan ay sa internet. Ito ay pakikipag-usap sa mga server sa web. At kung ang iyong koneksyon sa network ay mabagal, kahit na pag-scroll ay maaaring maging mabagal. Ngunit isang native na application, mayroon kang naka-pre-downloaded-- marahil kapag ikaw ay sa bahay mula sa tindahan app, o ikaw ay hindi bababa pre-nai-download ito sa kabuuan nito mas maaga, ano man ang iyong koneksyon speed-- at kaya ngayon mayroon ka ng lahat ng bits na ikaw ay karaniwang kailangan. Maliban marahil ilang data na nanggagaling mula sa isang server. Kaya ito ay trade-offs dito. May ay uri ng isang middle kompromiso, sa katunayan. At sa tingin ako sa iyo Madla: Gamitin ang data offline. Sa katutubong apps, maaari mong [hindi marinig] David J. MALAN: Oo naman. Kaya mayroong mga offline isyu, na kung saan ay talagang nakakainis kung hindi mo maaaring i-play ang ilang mga laro o paggamit ang ilang mga software dahil lang sa ikaw sa isang basement sa tabi-tabi o sa isang elevator. Ang isang katutubong application ay resilient na may mas mataas na posibilidad laban na, ipagpalagay na mayroon kang lahat ng mga data na kailangan mo sa isang lugar lamang. Kaya doon ay isang pangatlong pagpipilian dito. At ipaalam sa gumuhit ng spectrum bilang native na app dito at web app dito. At kung ano ang nasa gitna ay isang bagay called-- at sa tingin ko na maaaring mayroon ka ginamit ang salitang dati, siguro? Hybrid application. At kung paanong ang salitang nagpapahiwatig, ito ay isang bagay sa gitna. Ito ay uri ng isang web application at ito ay uri ng isang katutubong application. At kung ano ang ibig sabihin nito? Ito ay lumiliko out may mga frameworks-- na gumamit ng isang kataga mula earlier-- software na ang ibang tao ay may nakasulat na para sa bawat isa sa mga ito platform. Ang mga ito at pa iba pang mga aparato. Sa katunayan, hayaan mo akong pumunta sa PhoneGap, na kung saan ay isa tulad ng framework na ako Naniniwala Adobe nagmamay-ari na ngayon. Hayaan akong pumunta sa Pagsisimula. Tingnan natin. Tingnan kung maaari ko bang makita ang isang listahan ng mga tool. Hardware. Nagsisimula. PhoneGap hardware. Tingnan natin. PhoneGap hardware access. Hayaan akong makita kung ang maaari naming mahanap ang isang maliit na tsart na ginamit nila na magkaroon. Ito ay sa isa pang site. Ito ba ay kapaki-pakinabang? Hindi. Iyan ay gonna basura ang aming oras doon. PhoneGap hardware. Devices. Aparato API. Nope, sila na inilipat ito. PhoneGap. Sabihin pumunta ng isang huling tumingin sa ito at makita kung ang maaari kong ipakita sa iyo. Nagsisimula. I-install PhoneGap. I-install mobile app. Pumasok dito. Sila na reorganized ang lahat. Lahat tama. Oh, lahat ng karapatan. Well, dito namin pumunta. Ito ay hindi lahat na nakapapaliwanag, ngunit ito ay kung ano ako ay uri ng hinahanap. Kaya PhoneGap ay isang framework na kayo maaaring i-download para sa libre na nagbibigay sa iyo ilang starter code, mahalagang. Kaya ang ilang mga code na sila ay may nakasulat na na hindi gawin magkano ng anumang bagay. Ngunit kung ano ang nagbibigay sa iyo ng mahalagang ay ang katumbas ng isang application na lamang naglalagay ng isang malaking parihaba sa screen ng gumagamit. Hindi ito ilagay ang isang URL bar, tulad ng isang browser, ay hindi maglagay ng isang address. Ito lamang ay naglalagay ng isang malaking parihaba. At i-configure mo ito malaki parihaba, sa ilalim ng hood, upang aktwal na pumunta sa acme.com, o marahil m.acme.com, para mobile.acme.com, ngunit ang gumagamit ay hindi alam ang mga ito ay sa address na iyon. Lahat ng nakikita nila ay ang mga nilalaman ng web page. Ngunit kung ano ang nice tungkol pagkatao ito isang hybrid app ay na kung ano PhoneGap at iba pang mga kumpanya ay nagbibigay sa iyo ay sila ay nagbibigay sa iyo ng isang maliit na piraso ng code sa Layunin-C o Swift, o isang maliit na piraso ng code sa Java, o isang maliit na piraso ng code sa C #, at mahalagang, ang kailangan mo lang magbigay ay minimally ang address ng iyong web based application. At pagkatapos mong bundle na ito ang lahat ng magkasama at ikaw ito mag-access sa iyong site sa pamamagitan ng internet, o ikaw kahit cache ng isang lokal na kopyahin sa loob ng application, at pagkatapos ay i-save mo ang iyong aplikasyon sa iPhone format, Android phone format, ibabaw format, o anumang bilang ng mga iba pang mga aparato. upload mo bawat isa sa mga bersyon sa Play Store Google, sa App Store, sa Store ng Windows, at iba pa. At ngayon, maaari kang magkaroon ng lahat ng iyong mga madla download tunay na isang native na app, albeit karamihan ng code ay nakasulat sa pamamagitan ng ibang tao, ngunit ang mga nilalaman ng na native na app ang lahat dumating mula sa, kadalasan, ang iyong sariling website. Kaya patuloy kang sumusulat ng iyong website sa HTML, JavaScript, at CSS. Kaya bakit lumabo ang mga linyang ito? Bakit magkaroon ng isang hybrid application iyon ang uri ng katutubong, kundi pati na rin uri ng mga web based na? Ano ang buong punto ng pagdaragdag na ito kumplikado? Ibig kong sabihin, kahit pa rin, lamang mula glancing sa pamamagitan ng pahina na ito, ang Pagsisimula gabay nararamdaman tulad ito ay nakuha ng isang buong pulutong ng mga hakbang para sa akin na gawin bago ako can-- Madla: Reusability? David J. MALAN: Reusability? Anong ibig mong sabihin? Madla: Sa mga source code. Kaya ang parehong code ay tumakbo sa lahat ng iba't ibang mga platform. David J. MALAN: Oo. Madla: [hindi marinig] David J. MALAN: Perfect. Kung ang oras ay masikip at kung ikaw ay walang ganoong karaming developers-- marahil ikaw ay may isang developer at siya ay tiyak na ay hindi alam ang lahat ng mga environments-- tiyak na hindi na rin, at tiyak ay hindi maaaring program sa lahat ng tatlong nang sabay-sabay at ipapadala ang tatlong mga produkto sa ang oras na pinahihintulutan para sa isa, maaari kang magkaroon ng kanya bumuo ng lahat sa HTML at JavaScript at CSS, at pagkatapos malaman ng isang maliit na maliit maliit kaunti tungkol native na apps, sapat lamang upang i-download isang framework na tulad nito, upang pagkatapos ay i-upload ang iyong produkto sa ang lahat ng mga iba't-ibang mga tindahan ng app kaya na ikaw ay may ngayon isang katutubong application. Kaya na tila tulad ng isang manalo-manalo, ngunit muli, upang maging malinaw, ano ang mga potensyal na gastos o ang gotchas? Madla: Performance? David J. MALAN: Oo. Pagganap. Ito ay mahirap upang ilarawan sa salita. Kaya't kung ikaw lang ang dadalhin sa pananampalataya ng isang mobile application, isang web application ay karaniwang gumanap ng mas mabagal. Maaaring hindi ito tumingin masyadong tama, dahil sa iPhone, at sa mga teleponong Android, at Windows device, mayroong palaging isang uri ng default na hitsura at pakiramdam sa lahat ng mga mga pindutan at mga menu. At mga kumpanya sa web, maaaring subukan sa humigit-kumulang mga aesthetics sa mga aklatan tulad ng Bootstrap, ngunit ang user-- isang astute user-- ay pagpunta upang malaman na isang bagay ay hindi masyadong tama dito. At iyan ay pagmultahin, marahil iyan ay hindi isang malaking pakikitungo. Ngunit ang isyu pagganap absolutely ay isang malaking pakikitungo. Native aplikasyon ay madalas na lamang maging mas tumutugon at samakatuwid mas mabuti. At kaya, kung ano ang pagkatapos ay maaaring maging ang pinakamahusay na ng parehong mundo? Kung ikaw ay lalo na ng isang maliit na kumpanya o ng isang maliit na grupo, hindi mo na kailangang ang mga mapagkukunan upang bumuo ng isang app sa parallel sa lahat ng tatlong mga platform, at lantaran, nararamdaman tulad na ang isang masamang ideya anyway dahil kung roll mo ito at sa lahat ng tatlong sabay-sabay na mapagtanto, namin dapat ay nagdagdag ng ilang mga tampok o ginawa ng isang bagay na naiiba, ngayon ikaw ay may upang ayusin ito sa tatlong mga lugar, wala kahit isa. Ano ang marahil ang pinakamainam na diskarte dito sa pangkalahatan, kung resources at oras ay masikip? Madla: Just gawin ito sa iOS. David J. MALAN: Iyan ay hindi makatwiran. iPhone, doon man lamang sa US, ito ay sukdulang popular. Android pa rin tila sa may nangingibabaw market share, globally, sa pangkalahatan. Kaya ikaw ay hindi kinakailangang kinatawan ng kabuuan ng mundo sa linggong ito. Ngunit iyon lamang ang ganap na isa desisyon. Ibig kong sabihin, sa campus dito ako tingin ng ilang atrocious number o porsyento ng mga undergraduates may mga iPhone at hindi Android phone. Ngunit sa ibang bansa, ito ay uri ng ang kabaligtaran. Kaya mo magpasya batay sa iyong madla. Paano ko malalaman mo kung ano ang iyong madla ay may? Well, natutunan namin ang isang kahanga-hangang gawa kahapon. Maaari mong hilingin sa kanila. Kung mayroon kang isang bilanggo madla maaari mong ipadala ang mga ito ng isang survey form. O maaari mo lamang gawin kung ano? Madla: Google Analytics? David J. MALAN: Ano iyon? Madla: Google Analytics. David J. MALAN: Google Analytics. Yeah. O kahit na mas uri ng technically, lamang tumingin sa iyong sariling server logs web. Dahil kung ano ang mangyayari sa tuwing may browser, kung laptop, desktop o phone bisitahin ang iyong website? Sila ay magpadala na HTTP header na palabas iyo kung ano ang browser at OS ang ginagamit nila. Kaya maaari mong magpakilala, na may mataas na posibilidad, kung ano ang iyong demographic ay gumagamit na paraan at pagkatapos ay ayusin. Kaya ipagpalagay na hindi katanggap-tanggap. Iyon ay uri ng masamang para sa negosyo kung Android mga gumagamit ay hindi maaaring bumili ng aming mga widgets. Madla: Kung ikaw man ay gonna singilin o hindi? David J. MALAN: Kung ikaw ay pagpunta upang singilin? Kaya OK, makakakuha ka ng kung ano ang babayaran mo para sa. Madla: Kung ang iyong app ay gonna maging malaya o kung ito ay gonna-- David J. MALAN: OK. Kaya marahil maaari mong mabawi gastos na paraan, or--? Madla: Nabasa ko ang isang pag-aaral-sabay na sinabi mas maraming mga user Apple magbayad para sa apps versus-- David J. MALAN: Iyan ay totoo dahil ang mga ito na pagbabayad ng higit pa para sa kanilang mga aparato. Kaya hindi wala sa katwiran ng isang palagay. Madla: [hindi marinig] David J. MALAN: OK. Kaya kung ang mga ito ay mas gustong bayaran, pagkatapos ay sa impiyerno na may gumagamit ng Android. Hindi sila ay pagpunta sa magbayad sa amin ng anumang bagay pa rin. Maaari naming pati na ituon ang aming mga prayoridad, hindi bababa sa para sa unang ilang buwan o isang taon, sa iOS. Totally makatwirang. Ano ang isang mas napapabilang diskarte kaysa sa na? Maybe-- kung ano ang na? Madla: [hindi marinig] David J. MALAN: Ang isang mas expensive-- kaya siguro mamuhunan nang higit pa in-- sige. Madla: Oo. Lamang ng isang mobile website. David J. MALAN: Kaya gawin ang isang mobile website at hindi kahit mag-alala tungkol sa mga ito kumplikado. O siguro isang makatwirang diskarte, kung saan kinuha kahit Facebook, ay magsimula sa isang hybrid application dahil ito ay hindi na mas mahirap upang gawin ito kaysa sa ito. Ikaw na lang ay basahin ang ilang mga dokumentasyon at malaman kung paano upang mag-upload ng mga bagay sa App Store. Kaya siguro kang magsimula sa ito, sa gayon ay sa araw ng isa, maaari mong suportahan ang lahat ng iyong mga gumagamit. At pagkatapos, tulad lamang Facebook at iba pang mga kumpanya ay may tapos na, kapag ikaw ay may mga mapagkukunan, ikaw ay may mga tao, bakit hindi mo muling ipatupad lamang ang iOS application. Mayroon ka pa ring isang bagay para sa lahat, kahit na ito ay isang bulok na karanasan marahil, sa mga hybrid application. Ngunit maaari mong dahan-dahan igulong at palitan ang iyong short term panukala ng hybrid apps na may iyong mas native application. Madla: Ngunit sa isang hybrid app mo magkakaroon ng access sa mobile na mga tampok? David J. MALAN: Hindi kinakailangan. Kaya siguro kang gumawa ng isang nakakamalay desisyon maaga, maaari ka lamang mag-upload ng mga larawan sa native na application iPhone para sa Facebook, ngunit hindi sa Android application, una, halimbawa. At iyan ay isang bit ng isang maliit na kasinungalingan dahil web mga aplikasyon ay may higit pang mga paghihigpit kaysa hybrid aplikasyon ito ay lumiliko out, at kung mababasa natin ang mga babasahin para PhoneGap at mga bagay na tulad nito, mga tao ay may magkaroon ng mga paraan upang magbigay ng web based na mga aplikasyon access sa camera, kaya hangga't ikaw ay gumagamit ng isang hybrid application. Paano gumagana ang na gumagana? Dahil ang hybrid application, sa pamamagitan ng kahulugan, ay may isang piraso ng code sa Layunin-C, at Swift, at Java, o sa C #, maaari itong ma-access ang hardware. Hindi kinakailangan ang lahat, ngunit ito maaaring tunay mabuti ay ang kaso na mayroon kang sapat access upang makuha ang camera, kahit na para sa Android platform, para sa Halimbawa, sa na contrived halimbawa. Anumang iba pang mga katanungan? Lahat tama. Bakit hindi namin kunin ang aming 15 minutong break na dito. Susubukan naming ipagpatuloy sa tatlong may isang pangwakas na tumingin sa web programming, database, at Javascript.