David J. MALAN: Tehát vissza. Így a magas szintű téma a pillanatban a technológia stack, ami nem Különösen szakkifejezés, ez inkább a fogás minden esetleges a kombinációk száma a technológiák hogy lehet használni, hogy megoldja a problémákat. És talán a legfontosabb illeszkedő módon is az lenne, hogy nézd meg nyelven óta Folyton hörgő le egy csomó és a legtöbb mindenki a szobában hallott legalább egy. És miért nem próbáljuk megkülönböztetni what-- megkülönböztetni ezeket a nyelveket és röviden beszélj, ha lenne válasszon egyik vagy a másik, hogyan ők fajta alapvetően különböző, és különösen a amikor beszélgetni mérnökök, vagy megpróbálja eldönteni, hogy kinek bérlet, vagy mi végrehajtás javaslatot Greenlight, hogyan fog valójában, hogy az ilyen jellegű döntéseket. Úgyhogy csak zörög néhány dolgot ki. A nyelv az emberek hallott, mi jut eszembe? C. OK. OK, C ++. Mi az? KÖZÖNSÉG: Python. David J. MALAN: Python. Kiváló. Mi más? Visual Basic. Hallottam Java. Vizuális Basic-- más néven VB. Jáva. .NET, Ami inkább egy fogás minden amit általában a C # a nyelv kérdéses. És szeretném megemlíteni, hogy. Így fogunk térni erre. Sajnálom? Sajnálom? KÖZÖNSÉG: SQL. David J. MALAN: Scratch? KÖZÖNSÉG: SQL. David J. MALAN: Ó, SQL. RENDBEN. SQL. Így fogunk térni bemutatnom ténylegesen, ez good-- a szünet után is. Mi más? KÖZÖNSÉG: Oracle. David J. MALAN: Tehát Oracle, nem egy nyelvet. Tulajdonképpen akkor használja az SQL is. Tehát mondjuk, hogy miután A szünetben is. És bocs, valami itt? KÖZÖNSÉG: Mathematica. David J. MALAN: Mathematica? Oké, rendben. És a MATLAB a fajta ott néha. Közönség: R. David J. MALAN: R. menjünk át ide. Fortran. Biztos. Régebbi iskola. Fortran. COBOL. Majd dobd ki a BASIC. ALAPVETŐ. Bármilyen-- KÖZÖNSÉG: MATLAB? David J. MALAN: MATLAB. Ó, megelőzte. Bármi? Azt hiszem egy pár mások. Azt hiszem néhány másik. És mi volt az utolsó? KÖZÖNSÉG: ASP. David J. MALAN: ASP? Igen. Aktív szerver oldalon. Hogy általában alá tartoznak Más nyelvek, néha C #, így hagyjuk, hogy ki. De mi jön vissza, hogy a A keretek és az ilyen. Akármi más? PHP népszerű. Ruby egy másik. JavaScript, nem tévesztendő Java, egy másik. Ez a fajta nagyon. Így lehet biztosan elsöprő, mintha a lista még nincs, csak kezdeni, hogy hol kezdjem. És így szerencsére, nézzük megközelíteni a néhány szögből. Először próbáljuk kategorizálni legalább néhány ilyen nyelvek két nagy vödör, emlékeztető A beszélgetésünk szünet előtt, ahol beszélgettünk összeállítása, és a forráskód és a gépi kód, mert ez nem így minden nyelven működik. Így fogunk tépni ki néhány példát of-- vagy ellentétes examples-- hogy ezt a modellt. És akkor miért nem tesszük beszélni az alkalmazások hogy ezek a nyelvek általában használt. És őszintén szólva, bár ez egy nagyon hosszú lista, ez csak egy része ennek a listának, hogy akkor általában le ezekből a napokban megoldani a problémákat. Bizonyos nyelvek újabb, mint a többiek. Bizonyos nyelvek népszerűbb, mint mások. Tehát ez nem nagyon van ilyen nyomasztóan nagy feladat előtt amikor döntenek között A különböző nyelvek. Tehát lássuk ezt. Mi volt korábban, forráskód, és aztán gépi kódot. Hoppá. Írásban a megfelelő szó. Gépi kód. És volt néhány folyamatot a középső called-- igen, a fordító. Így a fordító. És mi a gépi kód ténylegesen fut a végén lesz az aktuális CPU-t. Más szóval, a gépi kódot, I jelenti a legalacsonyabb szintű utasítások hogy a CPU valóban megérti. Összeadás, kivonás, mozog, menteni, és a műveleteket, mint ezt. És így ez a modell a mi általánosan ismert összeállított nyelven. Talán nem meglepő. Tehát ez a modell A lefordított nyelven. De kiderül, ott a egy másik osztály nyelvek úgynevezett értelmezni languages-- értelmezni languages-- hogy kissé más. Írsz forráskód, fuss őket tolmács, és hogy a tolmács mi fut a CPU. Más szóval, amit nem bocsátanak ki, ami, úgy tűnik? Gépi kód. A nullák, hogy a CPU Maga végül megérti. Tehát ebben az első változatban és nyelvek, mint a C, mint láttuk, írsz forráskód hogy ez egy kicsit bonyolult, de legalább ez a fajta angol-szerű és ez legalább olvasható ha egyszer szokni. Akkor fuss ez egy fordító és ki kapsz, végül nullák. Ez a leegyszerűsítés. Vannak más lépéseket is. Sőt, ha valaha is hallott A "assembly" ez egy lépéssel megelőzte A nullák. Hogy egy kicsit olvashatóbb, de még mindig elég bonyolult. És így van köztes lépések amelyek valójában folyik itt. De a kimenet, végül, ezek nullák. De az értelmezett világban, ahol van nyelveket értelmezni nyelvek, hogy tényleg hagyja ezt a lépést. Más szóval, ha írsz egy program esetén, csak azonnal futtatni. Nem fordítsd le, és majd futtatni, mint tettem korábban. Te csak írd meg, és futtatni. És ha azt szeretnénk, hogy a gyors változások, csinál egy gyors változás és futtassa azt. Tehát nincs középső lépés itt. Most, hogy a program korábban már írtam, ami volt az a "Hello World" program, lehet, hogy ésszerűen wonder-- vagy ésszerűen state-- hogy nem volt abban az időben időigényes összeállítani a programot. Úgy tűnik, hogy megtettem csak úgy. És ott van a grafikus változatai fordítóprogramok. Én használ egy nagyon misztikus verzió, de lehet ütni egy play gombot és amely ténylegesen Az összeállítás az Ön számára. Már össze a programot, majd ismét futtatni, csak ezt. És kiadja a bal oldalon van, "Hello!" Ez nem tűnik minden terhet. De ha a programok több, mint egy, kettő, három, négy, öt sor hosszú, lehet így is sokkal több másodpercig összeállításához. Néha még percig, vagy egy kicsit az időt fordítani. Miután az összes, néhány világ legnagyobb termékek olyan dolgok, mint az operációs rendszer, Microsoft Word, Microsoft Excel, esetleg több százezer vagy akár több millió sornyi kódot hosszú, és azok ne csak azonnal elindul. Sőt, az interneten, ez divatba használni egyszerűen értelmezett nyelvekhez, részben azért, mert lehet, hogy a változás, mint a fejlesztő majd csak közvetlenül a reload A böngésző oldalt, és azonnal látni az eredményt. És így HTML, miközben nem egy programozási nyelv, egy olyan nyelv, ami értelmezhető. És láttuk, hogy ugyanazt a hatást tegnap. Te csak az oldal újratöltődik, miután változás Cloud9 és-- voila-- megjelenik egy új eredmény. Tehát mi itt a különbség? A HTML-ben, emlékszem, mi volt a nyílt HTML, nyitott fej, nyitott címet, közel cím, szoros fej, nyitott test, és így tovább. Volt mindegyik címkét, hogy mi elég sokkal azt mondta, mondja a böngésző, hogy mit kell tennie. Hey böngésző, itt jön egy HTML oldal. Hey böngésző, itt jön a cím. Hey böngésző, itt jön néhány szöveget kell bátor. És akkor azt mondja az ellenkezőjét. Hey böngésző, ennyi A félkövér szöveg. Hey böngésző, ez a szervezet számára. És így tovább. És akkor mi az a böngésző? A böngésző csak egy tolmács. Ez egy olyan program, hogy valaki, mint a Microsoft vagy a Google írt, amelynek célja az életben, hogy olvasni egy nyelvet, az úgynevezett HTML, és értelmezik. Felülről lefelé, balról jobbra. És minden alkalommal, amikor a böngésző lát nyitott konzol, cím, záró zárójel, Meg kell értelmezni, hogy bekezdését, ó, azt jelenti, hogy meg kell oldania ezeket a szavakat módja itt a tetején a böngésző. Tehát csak azt teszi, amit a HTML kódot mondja. De nincs nullák. Nincs összeállítása. Azt nem tette meg. A böngésző nem tette meg. Ez csak nem vesz részt. Tehát szellemében folyamatban lévő témák, ma és tegnap úgy tűnik, hogy egy csodálatos tulajdonsága. Mentse el a kódot, majd csak futni, vagy értelmezi azt. Nincs köztes lépések. Biztos van egy költség? Nem lehet mindenki upsides. Tehát mi, hogy a költségek is? KÖZÖNSÉG: Space. David J. MALAN: Space. Tehát biztos. Az összeállított világban, akkor nem csak az eredeti forráskódot, Ön is létre és akkor feltehetően megtakarítás A gép code-- a nullák és ones-- és ez Van, hogy vegye fel néhány mennyiségű helyet. Teljesen. Így kerül Önnek több hely. Igen? KÖZÖNSÉG: böngészők értelmezik másként. David J. MALAN: böngészők értelmezik másként. Az igaz. De nem vagyok biztos vagyok kényelmes állítva hogy azért, mert ez értelmezhető. Ez több, csak mert egy megvalósítása egy nyelv hogy maga is kétértelmű. Szóval nem egészen megerősíteni hogy az egyik, de jó megérzés. Mi más lehetne a fizetett ár? András? KÖZÖNSÉG: Te ötvözi két lépést, így tehát egyre nagyobb összetettsége is. David J. MALAN: A complex-- a komplexitás növekedését, ahol? Kinek? KÖZÖNSÉG: Tehát, a tolmács lépésben, akkor kombinálja a tolmács és fordító mindössze vezető alábbiakra: David J. MALAN: Ah, OK. A sors iróniája, hogy ez talán egy kicsit egyszerűbb, a tolmács, annak ellenére, hogy úgy tűnik, hogy hozam upsides ennek kényelmét. Így talán igaz. De ez a fajta függvénye, I mondaná, a nyelv és hogyan mentek körülbelül végrehajtásában. Nem lehet sokkal több bonyolultsága, valóban, a fordító, Csak azért, mert van, hogy megy valami olyan magas szinten, hogy valami így alacsony szintű. De egy jó gondolat. Tehát másképpen fogalmazva, a lefordított programot, amikor kiderült, ezekbe nullák és egyesek, végül a nyelv hogy a CPU beszél, mivel ezen az oldalán a világ, a program, amit írt, A kód, amit írt, soha nem kerül át a tényleges nyelv A számítógép beszél. A nullák. Marad az eredeti, több ember barátságos, olvashatóbb nyelvet. Tehát mi lehet a következménye ott, ha nem a ténylegesen zavar konvertáló programot, hogy az igen nyelv hogy az alapul szolgáló számítógépes beszél? KÖZÖNSÉG: lehet, hogy nem megérteni valamit? David J. MALAN: Might nem ért valamit. És hogy lehet claim-- ha nem érti valamit, ez egy hiba, vagy hiánya A funkció a tolmács. Annak érdekében, hogy lenne a tévedés, mint a költség. Közönség: férnek a forráskód? David J. MALAN: Van egy jó. Tehát egy hátránya az, akkor Úgy tűnik, hogy hozzáférjenek. Te, a végfelhasználó tűnhet férnek hozzá a forráskódot. És ez nem mindig igaz. De az is igaz, a esetében JavaScript, amely akkor nézd meg, miután A szünet, ma egy értelmezett programozási nyelv hogy írsz a forráskódot. De ez forráskód átkerül a szerverről a böngésző és fut az emberi böngészőjében. Tehát itt tudott csak nyissa meg a ablak, mint én csináltam a Chrome, és nézd meg, ahogy mi magunk pillantott tegnap a Google. Úgy tűnhet egy kicsit érthetetlen, de ez van. Tehát ez abszolút egy árat fizetett. KÖZÖNSÉG: Teljesítmény hit? David J. MALAN: Igen. És ez a másik ügy. Van egy előadás találatot. Mert van ez középső ember, ami önmagában egy olyan program, közted és a CPU, ellentétben hogy csak ezeket tápláló nyers nullák a CPU-ba, van egy előadás találatot, amit végy egy értelmezett nyelv. Oly módon, hogy önkényesen, egy program hogy eltarthat egy második fut a számítógépen, vagy egy perc futtatni a számítógépen van, Lehet, hogy 10 másodperc vagy 10 perc alatt fut a számítógépen van. Ez általában nem lesz, hogy sok a difference-- tényező 10-- mert ott van optimalizálás, amit tehetünk. De ez szinte mindig lassabb. Most, a másik oldala, hogy aggodalomra ad okot az, hogy jól számítógépek, minden 12 18 months-- szerint Moore törvénye, így speak-- csak egyre gyorsabban és gyorsabban. Van több és több helyet. Én egyre több RAM. Kit érdekel? És ez egyfajta ésszerű érv. Valóban, az egyik oka Ezért tudunk tolerálni lassabb értelmezett nyelvek miatt mi, emberek nem igazán észre. A számítógépek ütött csak olyan rohadt gyorsan. Míg vissza a nap, különösen amikor hardvert sokkal korlátozott, Ön volt kevesebb mindent, ez sokkal drágább így minden többe, illetve akkor igazán akart présel ki annyi teljesítményt, amit lehetett. De, hogy a szükséges írásban egy alacsonyabb szintű, ha úgy tetszik, egy összeállított nyelvet. Tehát te ezt teljesítményt találatot. De általában a upsides Úgy tűnik, hogy megéri manapság. Nos, kivéve a a szellemi tulajdon kérdését. Ez a fajta olvashatóság A kód, fogunk gyere vissza, ha megnézzük a JavaScript. Így próbáljuk kategorizálni legalább néhány ilyen. Így többek között a lefordított nyelven, mi lenne C, C ++, kicsit, sorta, Java, bár ez egy kicsit kivétel, az okok Megmutatom egy pillanat. C # lenne ezen a listán. Majd nézd meg többet csak A modern nyelvek. Rendben. És úgy tűnik, mint sok van. Mivel ezen az oldalán a kerítés, talán van JavaScript, Python, és a PHP és Ruby. És az, hogy elég az újabbak? Hogy úgy érzi, mint sok most. RENDBEN. És akkor pont, pont, pont, mivel a lista végtelen. És valóban, ha azt akarjuk, hogy csak hogy egyfajta this-- Wikipedia, összeállított nyelven. Gondolom akkor kap egy sokkal részletesebb listát. Tehát itt vagyunk. Tehát itt van egy sokkal részletesebb listát. És reméltem, hogy valaki azt hiszem D a nyelvet, mert ez is létezik, de megálltak D tűnik. Annak ellenére, hogy talán valóban egy E. Ó, valóban, ez a listán ezekben a napokban. Swift valójában egy nyelvet, hogy az Apple találta fel hogy ma már egyre inkább igen, iPhone fejlesztés. De mi jön vissza hogy a vitánk A mobil csak egy kicsit is. Tehát Swift is. És aztán, ha megyünk értelmezni language-- értelmezni language-- akkor itt van még hosszabb listát is. Tehát, ha csak a google és nézd a Wikipedia ezeket, meglátod mindenféle nyelven. De a cél, ma igazán, csak csapódik le, hogy talán ez a kérdés a szellemi tulajdon és az olvashatóság a végfelhasználó és a teljesítmény, a másik nagy ügy is. Tehát ezek között nyelvű hadd lássa, mi adhat Csak néhány példa a nyelv. Nem akarjuk, hogy menjen át az összes nyelv végtelenségig. Gondolkozott már azon, hogy mi a egyes nyelvi néz ki? Láttunk egy perccel ezelőtt. Miért nem fog egy pár A funkció kéréseket. Aki szeretné, hogy mi Más nyelven néz ki? Igen. KÖZÖNSÉG: Java. David J. MALAN: Java. Rendben. Tehát menjünk Java. És csak, hogy kapsz egy sample-- írhatnánk mindezeket ki, de nem lenne gyorsabb, csak hogy nézd meg valaki másnak a minta kódját. Rendben. Tehát ez egy jó példa? Hoppá. RENDBEN. Tehát itt van a Java változata programot írtam korábban, "Hello World". Így a Java, akkor gyakran lásd a kulcsszó "osztály". Majd meglátja, néhány név után. Meglátod kapcsos zárójelek mint láttuk korábban, és néha megy a ugyanazon a vonalon, néha más vonalak, ez a fajta személyes döntés. Meglátod kulcsszavak, mint a "Nyilvános", "statikus", "érvénytelen". De láttunk "fő". "Fő" általában a neve az alapértelmezett funkció vagy az alapértelmezett darab kód fusson a program. "Húr." Mit értünk húr korábban? Régebben ez a fajta véletlenül. A string mi? Egy szó. Ez olyan, mint egy karaktersorozat. Az egyedi és vissza háttal, általában egy tömbben, ahogy már beszéltünk. És valóban, hogy ez a szintaxis Itt, a két szögletes zárójel? Ez azt jelenti, hé számítógép, ide jön egy tömböt. A szögletes zárójel jelöléssel általánosan használt, jelezve, hogy. És akkor valószínűleg hogy egy guess-- mi jelent ez kiemelt kódrészletet talán nem? Közönség: a kimenet? David J. MALAN: Igen. Nyomtat valamit a képernyőn. Tehát "rendszer" egyfajta hivatkozás a számítógéphez. "Ki": a számítógép kimenet vagy a képernyőn. Tehát "system.out.print ln" valószínűleg azt jelenti? "Ln". Nyomtatás vonal, amely a programozók, mint a hogy látszólag pontosan néhány szót ki teljes egészében, és vegye hivatkozások más szavakkal. De a "ln" a vonal, így a nyomtatási sort. Tehát kiírja, hogy "szia Világ! ", Majd egy új sort. Szóval ennyi. De a Java mit fognak hívás objektum-orientált. És valóban, csak, hogy a Pár egyéb meghatározások ott, hogy talán lásd általában, ott Sok különböző típusú nyelvek, de a leggyakoribb olyan eljárási vagy kényszerítő nyelven. Vannak funkcionális nyelvek, amely nem jelenti azt, hogy mások nem funkcionális. És akkor ott van objektum-orientált nyelvek. És talán ez a legjobb kategorizálása a legtöbb nyelv amit valaha is választani sort Egy tipikus kereskedelmi projekt. Ez túl sok lenne a, Azt hiszem, egy patkány lyuk lemenni, hogy megpróbálja elmagyarázni A különféle eltérések. De a nyelv láttunk így far-- C olyan eljárási vagy Rendkívül nyelvet. Újabban feltalált nyelvek általában, bocs, objektum-orientált, ami azt jelenti, vannak más funkciók nekik. Magyarázzam ezt így? Ne is menjen oda. Az objektum-orientált eszközökkel akkor implement-- akkor lehet modellezni a valós világ egy kicsit több hatékonyan. Az emberiség az idő múlásával, rájött, wow, jó lenne, ha a nyelv Volt ez a funkció, vagy ezt a funkciót. És ez miért van így sok nyelv a világon. Ésszerű emberek, okos ember, ért egyet és mindig valami jön össze fejlesztése az új nyelvek együtt. Esete. Apple feltalálta Swift reményében feltehetően csökkenti A bár az iPhone fejlesztés, mert az előző language-- nevezett Objective-C, ami is a listán here-- sokkal misztikus és még sok nehezebb lezárja az elme körül. És a programozás egyre vitathatatlanul elérhetőbbé és nagyjából által elfogadott, akik még kevésbé technikai, a goal-- ez egy nagyon bátor cél, hogy megpróbálja alacsonyabb a belépési korlát azáltal A nyelvek maguk könnyebb elkezdeni a, de nem kevésbé erős feltétlenül. És egy másik nyelvet. Miért nem vesszük górcső valamit, mint a Python, amely nagyon divatos manapság. Piton. Mintaprogram. Lássuk. "Hello World" nyelven. Csináljuk. "Helló Világ." Lássuk, ez adja nekünk egy szép példa. RENDBEN. Tehát ez valójában milyen szórakoztató. Tehát, ha valaha google "Hello World", ami előfordul, hogy az egyik első programok valaha írt egy modern nyelv, mint ahogy egy prototípus, akkor láthatjuk, mindenféle implementáció ezt. Néhány ilyen nyelvek Még csak nem is hallott. De lehet see-- menjünk Basic, Az egyik tanultam évvel ezelőtt részben. Ez egy jó nyelvet, mert azt kellett, mint a programozó, szám az összes sort. Nem ellentétben én csinál, amikor írtam pszeudokód a sárga dokumentum korábbi bináris keresés, keresésére egy telefonkönyvet. És így, ha akarta hogy menjen egy másik vonal, akkor szó szerint írja, megy 10, vagy menjen a 20. És ha írsz vonalak, a egyezmény volt, hogy ez a 10. sort, ez 20 sor, ez összhangban 30, 40, és semmi között, ezáltal magának egy kis szoba ha úgy dönt, várj egy percet, Meg kellett volna hozzá néhány több kódot valahol. Még mindig volt valami kilenc esélye szorítani, hogy a kettő között a programot előtt kézzel kellett átszámoz mindent. Tehát ez a fajta, amit gondolok amikor azt mondom, a világ jön új funkciókat. Valahol útközben valaki rájött, fiú ez hülyeség. Ez csak létre munka a programozó. Így ő csak egyfajta beépített egy új réteget a tetején, hogy így nem kell aggódnia mit sorszámok a kódot valójában a. Tehát, ha esetleg úgy dönt, egy nyelvet vagy más? Nos, ezek közül melyik nyelvek Hajlamos hallani a legtöbbet saját világ ezekben a napokban? Nézzük legördülő Objective-C is. KÖZÖNSÉG: C #. David J. MALAN: C #. Tehát hadd színe. Ne mi van a többi színt valahol? Így a C #. És mit tud a C #? Bármi tavasszal az eszembe? KÖZÖNSÉG: Ez egy programozási nyelv. David J. MALAN: Ez egy programozási nyelv. RENDBEN. Az igaz. Így beszélünk C #. C # hajlamos lehet használni Windows környezetben, így ha írsz Microsoft szoftver Windows, C # nagyon gyakran használják, legyen szó akár az asztali szoftver, vagy még telefon szoftver Windows telefonok, ha már volt azoknak, vagy az interneten, még túl. És valóban, talán Kareem a fent említett ASP korábban? Tehát van még ezen dolgokat az úgynevezett keretek, amely tudjuk be a kiterjesztés. Keretek, mint ASP. Állványok aktív szerver oldalon. És ez kódot, és egy módja a programozás hogy általában megkönnyíti hogy írjon web alapú alkalmazások. Más szavakkal, nem lenne szuper, szuper idegesítő, hogy írjon egy weboldal A nyelv a C, hogy láttunk korábban, mert akkor kell használni a nyomtatási + F, akkor kell használni, hogy a kulcsszó "Fő" és a kapcsos zárójelek. Sok misztikus szintaxis és megközelítés megvalósítása valamit, ami meglehetősen bonyolult. A web oldalon. És így más nyelveken fejlődtek hogy ez a fajta dolog könnyebb. És viszont, az emberek jöttek fel A keretek, egyfajta szerszámok hogy tudod használni, hogy teszik még könnyebb írni weboldalakat. Így például, hogy ez sokkal konkrétabb, hadd nyit csak egy szöveges fájlt egy pillanatra. És lehet felidézni a tegnapi hogy mondott valamit mint ez a weboldal. HTML. Bezár HTML. Hadd hagyja a fejét, és csak ezt a testet itt. Tegyük fel, hogy én akartam levelet nem "Hello World" de "Hello David," ahol Dávid a neve a jelenleg bejelentkezett felhasználó. Mi valami hasonló ASP fog tenni, vagy JSP-- amely a Java szerver pages-- vagy akárhány más keretek is ők nem nyelv, önmagában. Olyanok, mint további szoftver, amit telepíti a felhasználói környezetbe hogy csak könnyebb programozni. Így például, ahelyett, hogy kell csinálni olyasmit, hogy "hello, printf (" Dávid ")" vagy valamit, ami fajta együttműködés mingling-- az a fajta kód láttunk before-- tenne valami sokkal egyszerűbb, mint a "name%." És így ezeket a kereteket, mint ASP-- és én Nem emlékeznek kapok A szintaxis csak jobb ASP. JSP egy little-- ez igaz? Tehát az ASP, ez egyfajta speciális szintaxist hogy egyes fejlesztők úgy döntöttek, ez segíthet az embereket. És tudom fejezni tömörebben Helyőrzők, például. Mint hogy egy értéket itt, ahol ez az érték neve nem N-a-M-E, ez valami tárolt értéket is. Tehát "név", ebben az összefüggésben, azt mondanánk egy változó. Algebra változók mint az X és Y, és Z. A programozók használják a változók, amelyek több leíró, mint az X, Y, és Z, általában. Tehát "name" lenne szó valamiféle memória konténer valami hasonló D-A-V-I-D, a nevem, vagy bárki mást sem jelentkezett be a honlapon. És így ez a fajta kényelem kapsz bizonyos környezetekben. Így a C # és valami hasonlót ASP nagyon általánosan használható egy Windows-világban, legyen az asztali szoftver és web szerver, különösen, ha a szerver viszont Microsoft Windows és a Microsoft IIS-- vagy Internet Information Szerver, ha kapok a rövidítés right-- amely a Microsoft webszerver. Tehát mi más nyelveken olyan emberek ismerik, vagy hallott a gyakrabban, mint nem? KÖZÖNSÉG: Tudom, hogy a Python fajta népszerű [hallható]. David J. MALAN: Nagyon népszerű. Tehát Python itt használt nagyon gyakran a tudományos alkalmazások és adatok tudomány, ahol van egy csomó Az adatok az elemezni kívánt és szeretné használni programozási nyelv érte. R lehet általánosan használható, hogy a is, a statisztikai összefüggésben. De Python annyi funkciókat építettek be. Sok további könyvtárak, mint mondják. A könyvtárak csak gyűjtemények A kód, hogy más emberek azt írta, hogy tudod használni, így Nem kell újra feltalálni ezekhez a kerekekhez. És így Python nagyon gyakran használt adatok Science Applications. De ez is nagyon gyakran használt webes alkalmazásokat. Akkor végre egy dinamikus weboldal segítségével Python. És dinamikus weboldal, I kifejezés nem csak a statikus tartalmat mint hoztuk létre tegnap, a Csak nehéz kódolás a latin szöveg és egyéb ilyen dolgok, hanem inkább a képesség lépnie, a képesség, hogy vásárolni valami, a képesség, hogy nézd meg Ön bevásárlókocsik, vagy hasonlók. Minden, ami megköveteli a dinamizmus és Kell egy kis nyelv, mint ezek közül egy. KÖZÖNSÉG: Tehát ez Python saját kiterjesztés, hasonló szeretem [hallható] David J. MALAN: Tényleg. Így a világ a Python, Django egy nagyon népszerű keret Python. WSGI egy másik mechanizmus, ami fajta ettől eltérő de hasonló szellemben. Ez egy add-on, amely lehetővé teszi, futtatni Python kód a szerveren. Van other-- igen. Tehát ezek hívjuk keretek között. És ez egy kicsit visszaélés. Ez inkább egy web szerver technológia. De majd, hogy ez egyszerű, és tegye ez ebben az oszlopban mégis. RENDBEN. WSGI. WSGI. Egy másik thing-- és valóban, hadd nekem mozogni, hogy a saját oszlop, mert azt kiabálni magam helyezzük el őket ugyanabban a vödör. Tegyük ezt a szerverbe funkciók, mondjuk. Ez nem egy szakkifejezés. Tehát itt lehet WSGI. Van a CGI, ami egy régebbi technika szolgálja ki nyelven mint a Perl vagy PHP vagy mások. Megint említettük ezeket a feltételeket nem annyira a fajta ingrain őket, de úgy, hogy ha látsz nekik, hogy ez valami egyszerűen google tovább. Nincs igazi gyümölcslé hogy ezeket a dolgokat. De térjünk vissza a nyelveket. Beszéltünk a C #, Python. Mi mást lehet használni az web programozás manapság? Nézzük összpontosít, amelyek még mindig. KÖZÖNSÉG: PHP. David J. MALAN: PHP. És térjünk vissza, hogy az egyik. Tehát a PHP nagyon gyakran használják. PHP hajlamos arra, hogy rossz híre van. Úgy indult, mint egy nyelv végrehajtott a hozzátartozók, akik talán nem feltétlenül a legjobb nyelv tervezők. És így el tudja olvasni mindenféle cikkek online arról, milyen rossz a PHP. És sajnos, ez megnyilvánulása, részben csak a vallási viták hogy kitör között programozók. És ez az, amit érdemes szem előtt tartva, üzleti szempontból, hogy ez nagyon egyszerű műszaki emberek hogy dolgoztak ki azok vélemények bizonyos dolgokat. És ez nem feltétlenül jelenti azt, hogy az egyik kiabál a leghangosabban vagy a legerősebb, legdühösebb vélemény igaza van. Sokszor, ez tényleg egyszerűen nem számít. És így az emberek csak arra hivatkozva bármilyen saját torzítások vagy komfort zóna. És így meg kell tartani Ezt szem előtt tartva, ha így döntés, hogy csak mert valaki azt mondja, ez a megfelelő nyelv A feladat, hogy igaz lehet, de ez is csak lehet, ez a megfelelő nyelvet a saját készség beállítása vagy komfort zónában. Ami nem rossz, de meg kell ismernünk, hogy lehet némi összefüggésben van. Vannak olyan objektív rossz nyilatkozatokat, mint a C a rossz nyelv használata Ezekben a napokban végrehajtási honlapok majdnem mindig. De ez nem ésszerűtlen azt mondani, hogy ezek közül bármelyik rossz, hogy már körözött eddig. PHP ment keresztül számos változatban. Tehát nyelvek hajlamosak verzió számok velük kapcsolatban. PHP-ig, azt hiszem, 7-es verzió most, így ez már a jó ideje. És mint a nyelvek kap újabb, gyakran kap új funkciókat. De van, hogy legyen tudatában ennek mert ha a honlapon volt megvalósított változata 7. PHP de próbál futtatni a honlapon, vagy talán már kiszervezett A fejlesztés a kódot másnak, és ők mail neked vagy küldje el neked és azt mondják, itt tedd ez a web szerver, ha a web szerver egy pár év outdated-- legyen az saját szerver, vagy egy internetes host-- lehet, hogy nem a ténylegesen megtett. Tehát ezek a fajta dolog, hogy valaki kell szem előtt tartva a mikor frissíti a site vagy az azt végrehajtó először. Hallottam JavaScript korábban. Tehát a JavaScript egy érdekes egy a, hogy ez általában kliens oldalon, mint látni fogjuk A szünet után, amely azt jelenti, hogy fut a felhasználó böngészőjének. De akkor is fut JavaScript manapság segítségével egy úgynevezett Node.js, ahol node.js egy mechanizmus futó JavaScript kód szerver oldalon, ahelyett, hogy a Python, vagy PHP, vagy más ilyen nyelv. JavaScript különösen alkalmas chat alkalmazásokhoz és valós idejű alkalmazásokat, mivel a PHP nem nagy nyelv végrehajtására valamit mint egy chat szerver, ahol a felhasználók kapcsolatban maradjon meg folyamatosan. PHP inkább egy látogatás nekem egyszer, hogy újra eredményeképpen majd egy másik linkre néhány másodperc vagy perc múlva. Mivel node.js és JavaScript lehet használt többet tartós kapcsolatokat. Más nyelvek, amelyről gyanítható, gyakran használják a web dolgokat? KÖZÖNSÉG: Vajon jQuery egy keret? David J. MALAN: Jó kérdés. Se. Hívnám jQuery könyvtár, ahol megint egy könyvtár csak egy csomó kód hogy valaki másnak írva, hogy általában megoldja a problémákat, amelyek teszi, remélhetőleg könnyebb az, hogy ezt a munkát. És hadd tegye példája ez összefüggésben az interneten. Az összefüggésben az interneten van ezt a nyelvet, JavaScript, hogy később látni fogjuk, amely akkor Lehet mondani valamit Így-- "Document.getElementById." És mit hívják tegnap? Először is, azt hiszem, az volt az egyedi azonosítót adtam hogy egy elem, hogy nézett ki, mint ez. "P id =" első ">" és aztán mint a "lorem ipsum" satöbbi. Tehát, ha én írtak egy programot JavaScript valahogy manipulálni, változtatni a weboldalakat, hogy mi játszottak tegnap, Szeretném használni ezt a kiemelt kódsort hogy az adott HTML kódrészletet Saját oldalon, hogy az adott csomópont, ahogy mi fogjuk hívni. Azonban a jQuery, hanem az írás ez, ami nyers JavaScript code-- csak ki a dobozt, ez hogyan levelet it-- akkor inkább csak azt, "#első." Ez egyenértékű. És így alapja csak a nagyon misztikus Például mi talán az érv a jQuery? Miért akar egy fejlesztő használja a könyvtárat, mint a jQuery alapján ezt az elszigetelt példát, talán? KÖZÖNSÉG: Kevesebb kódot. David J. MALAN: Igen. Ez kevesebb kód. Ez csak gyorsabban gépelni. Az ellenpontozás hogy úgy néz ki, ijesztőbb. Nem igazán lehet olvasni balról jobbra. Sőt, mivel ez többnyire központozás helyett most aktuális szavak, Azt is egyfajta arra következtethetünk, hogy "Document.getElementById" lesz egy elemet a dokumentum annak azonosítója. Igazán nem használunk ilyen memorizálás ebből dolog van. Tehát ez egy kompromisszum. Van egy kifinomult, hogy jön gyakran használó könyvtárak, különösen mint jQuery. De a valóság az, jQuery már egyfajta Az lesz a de facto szabvány, úgy, hogy szinte bárki ezeket napon, aki ír JavaScript kódot használja jQuery vagy valami tetszik, és nem írja ilyen bőbeszédű kifejezéseket ezt, mert ismét az emberiség megtanulta, wow, ez volt egyfajta elszalasztott lehetőség hogy életünket könnyebbé. Tehát az emberek könnyebbé teszik életüket. Jó kérdés. Más nyelvek, hogy fontolja meg. Azt mondanám között ezt lista Ruby nagyon népszerű. És így a világon a Ruby, van egy keret nevű Rails, ami nagyon népszerű. Tehát Ruby on Rails egy általánosan használt kifejezés. Szintén ebben a világban, hadd kör Java webes dolgokat, ahol a világon a Java lehet, hogy JSP, vagy a Java Servletek, amely egy közös technológia. És ez még csak újra felhasználási módját hogy a nyelv a szerver környezetben. Tehát mit jelent ez? Ha megvan a fizikai szerver, akkor szó szerint töltse le a web szerver szoftver és telepítse olyan módon hogy van támogatása az egyik ezek a keretek, mellyel lehetett, viszont az egyiket vagy több ilyen nyelven. És a valóságban, ha regisztrál mint egy internetes fogadó, illetve néhány, a felhő szolgáltatások beszéltünk a tegnapi, gyakran A dolog csak jön a készülék szükséges beállítást. Nem kell ezt beállítani manuálisan. De ha igen, ez az, ahol a szerepe A rendszergazda, hogy úgy mondjam, jön szóba. Ő valójában csinálni ez a fajta dolog az Ön számára, vagy az úgynevezett webmester gyakran ezt az Ön számára. Rendben. Bármilyen kérdése van néhány ilyen van? Vagy bármilyen lehetőségek minden kérdezni nyelven? Keretek? Akkor hadd mutassam be csak egy másik könyvtár ez is nagyon gyakori manapság. Ez megsorolhatnam végtelenül. És ez a könyvtár a fajta kezd kegyvesztett. Ez már kb. Úgy népszerűsítette Twitter egy ideig. És most sok honlapok, Sok fejlesztő használja. De az új dolgok jönnek ki és halad. De hadd adjak egy értelme Az mit jelent, hogy egy könyvtár. Tehát megint JavaScript is egy nagyon népszerű nyelv. CSS, vagy a Cascading Style Sheets, beszéltünk tegnap. Ez is jelen van. Senki sem tesz egy weboldal ma nélkül a HTML és CSS minimálisan. De ez nem mindig könnyű hogy bizonyos dolgokat. És hadd menjen getbootstrap.com. Hoppá. Ez nem így pontosan. Getbootstrap.com, amely fog vezetni engem A nyitóoldal könyvtár. Így nagylelkűen hívja maguknak egy keret, amely egyfajta egyfajta tisztességes, de én akkor is nevezni inkább a könyvtár, mint a keret. De ezek csak vitatható szemantika. Hadd menjen a CSS fülre, hadd menjen valami ilyesmi. Tehát arra, amit mi formák nézett mint tegnap Cloud9? Ez elég csúnya. Régi iskola gombok. Azt hiszem, a gomb szürke volt a alapértelmezett. És minden tényleg formázott elég messily. Tehát, ha azt szeretné, hogy az internetes űrlapok nézni egy kis nicer-- hadd nagyítás itt. És én tényleg csak szebb jelenti, hogy nagyon nitpicky esztétika. Így vegyük észre, hogy az e-mail mezőbe ott van egy lekerekített téglalap sarkai hozzá. Tehát ez egy kicsit tisztább ott. Figyeljük meg, hogy a szó az e-mail van ott, amíg nem indul el gépelni és akkor elmúlik. Tehát ez egy jó kis funkció. Figyeljük meg, hogy a dolog az a fajta izzó szépen, amely néhány ilyen te ingyen kap a böngésző, de néhány ez is a könyvtárak, kódot, hogy más emberek írva, hogy adjon neked. Valami ilyesmi ad nekem a jelszót. Ez a gomb egy kicsit szexisebb, mint a alapértelmezett. Nagyon divatos most. Amióta iOS 7, vagy úgy, a világ ütött nagyon lapos, mivel a világ előtt volt sok árnyékot, sok A gondolatok ikonok. Hasonlóan a ruházati világ, van divatirányzatok jönnek és mennek. Most minden lakás a telefonon. Tény, hogy a gombok a iPhone már csak kék linkeket. Ott nem gyakran még kör alakú gombok. Tehát ezek csak olyan dolgok hogy menjen ki és A divatban, és így ez az, hogyan lehet hogy egy modern megjelenésű webes űrlapot. Gombokat. Tehát Bootstrap rengeteg szép gombokkal. Tehát, ha azt szeretnénk, kék gombok, zöld gomb, kék, narancssárga, piros. Bootstrap megkönnyíti hogy ezeket a dolgokat. Ezek azok a fajta dolgok hogy meg tudná feltétlenül volna tegnap CSS és HTML, de ez csak egy fájdalom a nyak. És így ahelyett, hogy mi Bootstrap lenne van, amit nem is valami hasonlót. Ha szeretne egy button-- kiderül ez egy HTML tag nem használtuk yesterday-- és azt akarja, hogy néz mint ez a zöld gombot, szó szerint csak adja meg a osztály, amit meg is tettünk beszélni tegnap, A "BTN btn-siker." Miért ezek a szavak? Twitter, a szerzők Bootstrap, jött fel ezeket a szavakat. Ők az úgynevezett nekik, amit csak akarnak. De mit kezd most másnak Twitter, ebben az esetben, rájött, hogyan csinál egy gomb néz ki, és a tiszta és zöld. Ők csomagolt fel, hogy a funkcionalitás egy CSS osztály, az úgynevezett "gmb" és "btn-siker", hogy bármelyikünk Most már használhatja is gondolkodás nélkül Informatika. Így az általuk kitermelt el fogalma a zöld gombot így nem kell törődnünk végrehajtási magunk. Mi is valójában végrehajtására összpontosít dolgokat érdekes számunkra. Ha lépjünk le itt. Hibaüzenetek a képernyőn. Néha szeretne egy kis üzenetet megjelenni a tetején a böngésző. Bármelyikünk is ezt néhány erőfeszítés, miután a tegnapi lecke, de miért zavar? Ez egy ilyen érdektelen esztétikai részletesen. Álljunk a vállán Bootstrap és adjanak nekünk ilyeneket, ahol a szó szoros értelmében, hogy kap egy piros doboz, csak meg kell csinálni egy bekezdés tag egy osztály of-- sajnálom. "Bg-veszély" adná ez vöröses doboz helyett. Most menjünk a További érdekes dolgok. Ha visszamegyek a tetejére Ezen az oldalon, és menjen alkatrészek, Most a világ egyre érdekesebb. Például, nagyon gyakori az legördülő menük, mint ez. Ez lenne az abszolút fájdalom végrehajtani. És ez nem volt, hogy a hosszú ezelőtt, hogy a programozók kellene végrehajtani ezeket féle menük semmiből. De ez egy ilyen közös paradigma hogy a könyvtárak, mint a Bootstrap csak megadja a képességet, hogy a legördülő menüben sokkal, de sokkal könnyebben. Nincs senki módon kell csinálni, de ha olvassa el a dokumentációt Szeretném látni, hogy OK, azt kell használni Ezzel a HTML, ha akarok egy legördülő menüt úgy viselkedik, mint ezt. Hasonlóképpen, menjünk gomb legördülő. Tehát ez még cifrább. Ha azt akarom, hogy ez úgy néz ki mint egy gomb de az a kis háromszög azt jelenti, Meg kell kattintson rá és kap ez a menü, ez a van egy nyelv úgynevezett JavaScript. És nem tudtuk minden munkagép Ezt a JavaScript. De ismétlem, ez egy kerék nem akarja, hogy újra feltalálni. Csak azt akarom, hogy azt le A polc könyvtár erre. Menjünk valami mint előrehaladását. Tehát valami, mint ez a fajta jó. Ha valaha is látott haladás bár mozog az egész képernyőt, végrehajtó gyakran csak egy forgó ikont. Sőt, ahogy félre, hadd menjek Ajax-- mi ez? Ajax információra? Hoppá. Ajaxinfo. Hadd emlékszik a címet. Ott vagyunk. Tehát, ha valaha is látott néhány animáció míg az oldal betöltődik, vagy a gondolkodás, vagy megtakarítás, vagy hoz létre valamit, akkor Lehet, hogy ilyen animációk ezeket. Tehát nézzük meg valamit mint ez itt, és nézzük válasszon egy előtérszínének zöld, amely úgy érzi, milyen barátságos. Rákattinthatok ez? Gyere. RENDBEN. Majd csak megy, piros, mert ez az, amit a sorstól. Tehát itt van ez. Tehát, ha már valaha ezt a képernyőn, amellyel hirtelen úgy tűnik, majd hirtelen eltűnik, mi azt, hogy a végrehajtó, hogy? Nos, ez csak egy GIF. G-I-F. És ez egy animált fájl, ami csak annyit jelent, ez olyan, mint egy régi iskola képregény. Már csak egy csomó különböző keretek folynak [dadogva] és csak ismétlődő. És ez megteremti a a mozgás illúzióját. Tehát amint egy oldalt történik betöltése vagy csinál valamit, mit csinál egy programozó csinálni? Nos, ő csak elrejti ezt a képet. Tehát az egész egy állapotjelző van egyfajta Az olyan, mint egy film, amit nézel. Maga a fajta sem törődve a tény hogy ez valójában nem csinál semmit, ez csak mozog. Aztán, ha kész halad, ők csak elrejteni, vagy kapcsolja ki. És ez a varázslat hogy folyik ott. Bootstrap ad valami egy kicsit cifrább, amellyel akkor valójában lásd százalékban, mint megy, de ez is csak egyfajta egy egyszerű animációt. Nézzünk néhány végső bonyolultabb példák itt. Olyasmi, mint egy modális. Tudja valaki, hogy mi az a modális van? A modális ablak általában az egyik, hogy állítólag hogy átvegye az irányítást az előtérben és a megakadályozza, hogy bármi mást. Ez a fajta kényszeríti a felhasználó a figyelmet az a képernyő közepén, zár ki őket, általában, minden mást. Tehát, ha elindítom ezt demo, a képernyő általában lesz szürke. Nos, hogy mi teszi szürke? Nos, talán csak megváltoztatta a háttérszín mint mi tegnap vagy valami ilyesmi. Lehet, hogy egy sablont hogy félig átlátszó. És most észre lehet csinálni extra dolgot, mint ez. Tehát, ha valaha is rákattint egy gombra és szeretne egy kicsit kiugrik jelenik meg, megteheted. És így, aki törődik all-- igen? KÖZÖNSÉG: Tehát Bootstrap, hogy azt beépítették, ez olyan egyszerű, mint, mint tegnap megcsináltuk a CSS stílusokat oldalon? David J. MALAN: Valóban. Nagyon jó kérdés. Hadd menjen a lépések. És igen. Mindössze annyit kell tennie annak érdekében, hogy használat bootstrap lényegében másolni és illessze be a három hosszú sorok kódot a tetején a saját web page-- A feje a page-- és te, és fut. És van más lehetőség kínálkozik , de ez lenne a legegyszerűbb. Tehát mi hasznos az összes e? Nos, ha nem is annyira A kivitelező egy honlap de próbál tervezni azt, vagy szeretné, hogy valaki A drótváz rajzok, hogy úgy mondjam, vagy csak művész kiadatásokra, hogy mi akarsz, azt, hogy ez a nap, akkor gyakran megy a site mint Bootstrap, ahol ha kívánja megvalósítani something-- mint az utóbbi időben az egyetemen szerettünk volna bevezetni egy web alapú eszköz navigálás Harvard természetesen katalógus, megkönnyítve a diákok böngészhet a tanfolyamok és add tanfolyamok bevásárló listát, hogy úgy mondjam, hogy milyen eldönteni, hogy milyen akarták venni. Megpróbáltam elképzelni, magam, milyen összetevők lenne szeretnénk használni építeni ezt? Mi lenne a felhasználói felület, mint a? És csak átnéz egy telek, mint ez vagy más ilyen könyvtár oldalak, nyerhetsz ihlet, mert wow, Tudom használni ezt a kütyüt, és ezt a modult, és ez a widget. És akkor tényleg mi A programozó elindul tenni, különösen ezekben a napokban ebben Több modern világban a webes programozás, a programozás egyre mintegy bekötése dolgokat együtt. Valahogy szedni ezt a polcról, ez a polcról, ez a polcról, és hogy az okos csatlakozni az összes ilyen pont, de végül építeni valamit újra állva a vállán mások, úgy, hogy nem költenek havonta végrehajtási buta legördülő menüből amely valójában nehéz csinálni, ha azt akarja, hogy működik a Chrome, és az IE és a Firefox, és bármilyen Számos más böngészők. Ez miért van ez a gazdag kereskedelmi és nyílt forráskódú szoftverek ipar is. KÖZÖNSÉG: Tehát ez Bootstrap kap frissített és meg kell majd frissíteni a linkeket? David J. MALAN: Tényleg. Nos, igen, igen. Bootstrap, jelenleg a verzió 3.3.6. És általában mit akar do-- ez valójában érdemes megemlíteni. Van mi általában ismert szemantikus verzióképzés rendszer a világon. Nem mindenki teszi ezt. De ha láttad verziószámok amelyek az űrlap x.y.z-- így például az első verzió Egy program lehet 1.0.0. Vagy ha nagyon, nagyon béta, vagy még alfa állapot, ami azt jelenti, használat a saját felelősségére, nem Tényleg kész főműsoridőben, talán még kezdeni 0.0.1 vagy valami hasonló megjelölés. De ha a szoftver indul verzió 1,0 vagy azzal egyenértékű 1.0.0, általában, mi a közös ezekben a days-- bár nem omnipresent-- van ha egy cég vagy egyedi programozó javítások néhány hiba a darab A szoftver, amely valóban Volt egy hiba, amelyek korrekciója nem hatás Önt all-- ez nem változik a program viselkedését, ez csak javít valamit hogy nem működik properly-- tenné jellemzően frissíti a z értéke van. Ami azt jelenti, hogy valaki, mint Kareem egyszerűen bemegy az ő honlapján, vakon változtatni a verziószámot re 1.0.0 a 1.0.1, mentse el, küldje, és elméletileg nem kell attól tartanak, hogy ő csak törve a honlapon, mert a Néhány hiányzó funkciók, mert valami más tört. Közben, ha azt a programozó vagy egy cég volt, hogy néhány jelentős változás, hogy új funkciókat, Talán frissíteni minket 1.1.0 mert én valójában magatartásának megváltozása a könyvtárban. Adok talán több funkció. Végül, ha én valóban alapvetően megváltoztatja a szoftver, így sokat, hogy megtöri sok felhasználók weboldalak vagy alkalmazások, akkor én köteles, ezt a modellt, hogy frissíteni a fő verziószám is, amely a törés változás. Más szavakkal, talán megszűnt támogatást azok csepp legördülő menüben. Tehát, ha frissíteni 2.0, fél a honlapon fog működni. És ez a fajta jel a közösség, hogy mi vesznek részt a frissítést. Egy jó lehetőség, hogy emelni. Más kérdés? Rendben. Nos vessünk egy pillantást egy végső téma ebben a szegmensben a programozás A technológia halom, nevezetesen kapcsolódó mobil. Így a világ a mobiltelefonok ma Ön Rézfúvós lévén és iPad, és a felületek, és az összes ilyen jellegű A devices-- van sok választás, amikor Ami a végrehajtási egy alkalmazás vagy egy honlap az ügyfél a mobil eszközök. Tehát csak azt az Nyilvánvaló, talán ezekben a napokban, mik a platformok fejleszteni a mobil térben? Milyen eszközökkel lehet azt szeretnénk, hogy támogatja az Ön alkalmazás vagy weboldal? KÖZÖNSÉG: Apple. David J. MALAN: OK. Tehát az Apple eszközöket. Tehát ez azt jelenti, iPhone, és hogy azt jelenti, iPad, és talán még az iPod. Mi más? Olivier? KÖZÖNSÉG: Android. David J. MALAN: Android. RENDBEN. Tehát Android telefon, Android tabletta, az Android Market még mocskosabb because-- és még az Apple egyre rendetlen. Mivel egyszer régen Az iPhone egy bizonyos méretet, és iPad volt egy bizonyos méretet, és az iPod volt egy bizonyos méretet, most van iPad Mini, és a vékony is, és az iPhone 6 Plus és 6. Ez egyre káosz. Ez lett a Android világon. És mondom ezt a fajta gördülő a szemem, mert a fejlesztő perspektíva, ez egy fájdalom a nyak, amikor nincs Steve Jobs " elképzelés abszolút kontroll Mindezek közül előírásoknak. Apple még mindig nem, mert ők azok az épület a hardver. De ez egy szép dolog, ha Én egy szoftver fejlesztő, csak tudom, hogy a iPhone mindig megy hogy ez a nagy, mert ez azt jelenti, mindig tudom, mennyit képernyő ingatlan van. Tehát, ha azt szeretnénk, hogy egy ikont a bal felső sarokban, ez lesz az pontosan ugyanolyan elhelyezni minden egyes ügyfél eszközt. De a világ iPhone 6s és iPhone 6 Pluses és a világon a Android telefonok, ez az egész térképet. És ez így nehezebbé teszi, hogy a program dolgokat, különösen a felhasználói felületek, mert most meg kell kezdeni megszervezése A felhasználói felületek viszonylag nem teljesen. És ugyanaz volt igaz böngészők, és asztali számítógépek, laptopok és évek mert, persze, különböző méretben kapható. Mi más? Lehet, felületek, mint a Microsoft. Lehet Rézfúvós lévén KÖZÖNSÉG: Windows telefon. David J. MALAN: Mi ez? KÖZÖNSÉG: Windows telefon. David J. MALAN: Igen. Így a Windows telefonok is megtalálható. Fajta fajta BlackBerrys, de próbálkozom. Aztán fürtök egyéb eszközök. Így a legtöbb esetben, nézzük mondjuk ezek azok, érdekli abban a pillanatban. Természetesen az Apple cucc, bizonnyal az Android cucc, és azok között a Windows, mint a felszíni tabletta Úgy tűnik, hogy híres vagy elég jól. És így többek között azokat az eszközöket, Ha azt szeretnénk, hogy kigurul, mondjuk, egy mobil jelenlét a cég, milyen tervezési döntések Mit kell tenni? Nos, már azt mondta, az Apple a világ, van legalább két nyelv jellemzően használt. Egy hívták, mi? KÖZÖNSÉG: Objective-C. David J. MALAN: Igen. Tehát Objective-C, ami az idősebb. Ez is az a nyelv, sok Mac alkalmazások továbbra is írt. Aztán a másik újabbra volt? KÖZÖNSÉG: Swift. David J. MALAN: Swift. És ezek azok a fajta Két tudni hatni emberek. Ezután az Android világban, milyen nyelven jelent Android kezelhető? KÖZÖNSÉG: C #? KÖZÖNSÉG: Java. David J. MALAN: Java A nyelv a "du jour". A Windows világában, biztos, akkor mondjuk C # ebben az esetben. Így tehát már ez a fajta bosszantó, mert mi elvihető egy üzleti tulajdonos vagy valaki, aki csak azt akarja, hogy kigurul a mobil jelenlétét? Mint, a fenébe is? Mint, ha támogatni szeretnék meglehetősen széles felhasználói bázis, Meg kell írni, úgy tűnik, három különböző alkalmazásokhoz. Egy egy ilyen nyelv, Egy Java, az egyik a C #. És akkor is, ha azt akarjuk, hogy funkcionalitás azonosnak, ez nem számít. Továbbra is szükség van, hogy különböző nyelv, mert az Apple és a Microsoft, és a Google minden támogatást különböző környezetekben. És ez volt a kihívás éve. Vissza a nap, amikor az emberek használják, hogy vásárolni szoftver a számítógép tárolja zsugorfóliázva dobozok, akkor sem kell eléri a Mac polc, vagy for-- talán ez nagyon kicsi Mac shelf-- vagy a nagyobb, a Windows polc és vásároljon néhány szoftver. És nagyon gyakran, nem is volt bármit a Mac polcon. Miért? Nos, a vállalatok úgy döntött, ha a 90% A világ, 95% -át a világ van PC-k, minek még végrehajtási dolgokat Mac OS? Mint aside-- összesen digression-- miért hogy Mac úgy tűnik, hogy nem ereszti át a vírusok, és a férgek, és a biztonsági fenyegetések? Az Apple jobb vagy ebben? Jobb a tartása számítógépek biztonságos? KÖZÖNSÉG: Kisebb közönség? David J. MALAN: Ez Valószínűleg a nagyobb bit hozzá. Tehát a sok felhasználó a Mac van hosszú állította, ó, használjon Mac, leszel immunis a vírusok, és férgek és mindezen dolgok hogy már régóta sújtja PC-k. Lehet, hogy azért, mert az Apple van jobb programozók és írják jobb szoftver, vagy a operációs rendszer jobban megtervezett. Lehet, de nem valószínű. Valószínűleg, hogy amikor 12 éves, vagy 30 valami egyfajta ül otthon írásban rosszindulatú szoftvereket, hogy átvegye A világ, fogsz menni után A jóval nagyobb célközönséget. A 95% -át a világ, akik esetleg lehet Windows vagy valamilyen variánsai. Tehát van egy kicsit mindkét oldalán. De ahhoz, hogy ez a hitel, Apple, a tudásom, nem igazán tartják számon magukat , hogy sokkal biztonságosabb, mivel te csak meghívja dráma, ha Ön hogy ez az állítás, azt hiszem. Rendben. Anélkül, hogy túl messze, hogy hogyan tudjuk megoldani ezt? Van vásárolni, vagy van, hogy fizetni három különböző embereket, hogy dolgozzanak az alkalmazások? Ne vedd az egyik vagy a másik? Mit kell irányítani a gondolok itt mit gondol? Kareem? Dehogy. Valaki más. KÖZÖNSÉG: Csak jön a hardver. David J. MALAN: Gyere a hardver? Hogy érted? KÖZÖNSÉG: A környezet. [NEM HALLHATÓ] David J. MALAN: Látod, ez igaz. De az ügyfelek, Közben talán iPhone lehet, hogy az Android telefonok, ők Lehet, hogy a tabletták által készített Microsoft. Szóval hogyan lehet egy mobil stratégia Mindezen különböző felhasználók? Úgy tűnik, hogy ha a költség, mondjuk 1000 $, hogy egy iPhone alkalmazás, akkor megy költsége is 2000 $, hogy egy iPhone alkalmazás és Android alkalmazás, vagy 3000 $ hogy a Windowsos eszközök is. Ez talán elég enyhe kifejezés, és ez talán nem is egy lineáris összefüggés, mint ezt. KÖZÖNSÉG: Ha azt szeretné, hogy egy alkalmazás vagy Nem, akkor már érzékeny honlapján. David J. MALAN: Jó. KÖZÖNSÉG: Vagy lehet egy natív alkalmazás. David J. MALAN: Igen. Tehát mindez összefüggésben van, Évek óta beszélünk arról, hogy mi ember hívja natív alkalmazások. Ez alkalmazások vannak írva Az anyanyelv hogy a készüléket. Tehát natív Objective-C, vagy Swift kód, vagy a Java, vagy C #. Ami azt jelenti, ha le, nézzük mondjuk Snapchat, egy népszerű alkalmazás, vagy, ha le Facebook egy telefon, letöltésekor vagy a verzió írt az iPhone, vagy írásbeli a Android telefon, vagy írásbeli a felületre. De van egy másik. Ahogy Olivier volt utalva, ténylegesen használni a HTML 5 ehelyett a mi úgynevezett web alkalmazás, amellyel egyszerűen végrehajtja a mobil jelenlétét és minden funkciót. Mit jelent a mobil jelenléte? Mint a honlapon, hogy Ön elérhetőségét, egy lista az összes termékeit, talán van egy bevásárló kosár, talán eladni a dolgokat rajta. Bármi legyen is a kérelem, akkor hajtják végre, nem Objective-C, vagy Swift, vagy a Java, vagy C #, de a HTML-ben 5, amely a nyelv néztünk A tegnapi, a JavaScript és CSS. És mi van azokkal, szép három az, hogy futtatni őket, van szüksége, mit szoftver? KÖZÖNSÉG: A webböngésző. David J. MALAN: A webböngésző. És a legjobb tudom, az összes ilyen -eszközök böngészők, így a felhasználó nem kell telepíteni valami különleges. Így csak szóljon közönség, az ügyfelek, menj acme.com a böngésző és akkor csak a van egy web alapú élmény hogy még mindig kitölti a képernyőt, de nem kell aggódni az összes ezeket a költségeket és az összes ezt a komplexitást. De biztosan ott lesz hogy egy fogás itt, ugye? Különösen, ha rámutatok hogy egy-két évvel ezelőtt, a legelső változata Facebook mobil alkalmazás többnyire egy HTML 5 alkalmazás. És van, több Nemrég, újraírásra meg irányuló egyéb alkalmazásokat. Szóval miért is ne azonnal akarom mondani, Nos, nyilvánvalóan fogunk csinálni? Mi lehet a rejtett költségeket lehet? KÖZÖNSÉG: Teljesítmény. David J. MALAN: Performance? Hogy érted? Közönség: a natív app több teljesítményt. David J. MALAN: Tehát ez Igaz, egy pár oka. Tudjuk leegyszerűsítik a választ. És emlékszem a vita értelmezni versus összeállított nyelven. Ez a HTML 5 és vele együtt, csak hogy világos, JavaScript-- általában írásos JS-- és CSS mind értelmezett nyelvekhez, noha csak JavaScript egy programozási nyelv. És így versus ezeket, amely ezek közül néhány állítják össze, legalábbis ezek a hár Objective-C, Java és C # - ezek, elméletileg kéne gyorsabb. De van egy másik valóság for-- KÖZÖNSÉG: Funkciók? David J. MALAN: Mi ez? KÖZÖNSÉG: Funkcionalitás. David J. MALAN: Funkcionalitás? Hogyhogy? KÖZÖNSÉG: A kamera ki a telefont, vagy valami. Használhatja ezeket a böngésző. David J. MALAN: Pontosan. Ők sec-- KÖZÖNSÉG: [hallható] David J. MALAN: Ez a másik jó. Van jellegét, hogy jön A mobiltelefonok ma , amelyek nem, a tervezés, a biztonsági okokból elérhető böngészők. Mert lenne egyfajta Hátborzongató dolog, ha éppen akkor, amikor meglátogatott google.com, vagy cnn.com vagy bármilyen website.com, hogy ez a honlap a bekapcsolást a kamera, hogy a kép a te, majd használni. De ha nem akar egy véletlen website hogy keresse fel a legelső alkalommal hogy ezt a képességet. És akkor mi van a telefon gyártók általában csinálni ők csak megtagadja a hozzáférést hogy az ilyen jellegű információk hogy egy böngésző, ami azt jelenti, nem tudja végrehajtani a kamerát. Nem lehet végrehajtani push bejelentéseket, A sípolás, hogy kapsz a képernyőn rövid üzeneteket. És valóban, még a GPS csak egyfajta A fajta elérhető böngészők. Ha valaha is, egy laptop vagy a mobil eszközön, felhúzott valami hasonló, talán cnn.com, hanem a helyi híreket állomások hajlamosak erre, akkor a rendszer felajánlja gyakran egy message-- foxnews.com azt akarja, hogy tudja, hol tartózkodik. Jóváhagyja vagy elutasítsa. Nos, a böngésző próbál hozzáférni a GPS adatokat a telefonról. De szerencsére a Microsoft, és az Apple és a Google úgy döntöttek, hogy úgy érzi, mint ez egy hasznos helyzet, akarjuk a Google Maps és a Más eszközök a munka, de nem akarjuk kúszni embereket mindössze lehetővé téve bármely honlapján található. Szóval egyfajta találkozik félúton, és figyelmezteti a felhasználót. De ez nem feltétlenül van így minden hardver, mint a kamera A Push értesítések és hasonlók, így lehet, hogy áldozatot bizonyos funkciók. De a teljesítmény is. Ez egyre kevésbé észrevehető manapság, talán az LTE fogást és gyorsabb internet sebesség a telefon, de akkor milyen érezni a különbséget. Mint egy web alapú alkalmazás csak úgy érzi, lassabb, jellemzően, mint egy natív alkalmazás, részben mert egy web alapú alkalmazás definíció szerint az interneten. Ez beszél a szervereket az interneten. És ha a hálózati kapcsolat Lassú, egyenletes görgetés lassú lehet. De egy natív alkalmazás, akkor Már előre downloaded-- valószínűleg mikor volt otthon az App Store, vagy legalábbis előre letöltött azt teljes egészében korábban, amit a kapcsolat célozza meg és így most már az összes bit, amit általában szükség van. Kivéve talán néhány adat hogy jön a szerveren. Tehát ezek a kompromisszumok itt. Van egyfajta közép kompromisszum, az tény. És azt hiszem, you-- KÖZÖNSÉG: Az adatok használata nem elérhető. A natív alkalmazásokat, akkor [hallható] David J. MALAN: Abszolút. Tehát van az offline kérdés, ami igazán bosszantó ha nem tud játszani néhány játékot, vagy használat Néhány szoftver csak azért, mert te a pincében valahol vagy egy liftben. A natív alkalmazása rugalmas nagyobb valószínűséggel szemben, feltételezve, hogy az összes a szükséges adatokat helyben. Tehát van egy harmadik lehetőség van. És nézzük felhívni a spektrum natív alkalmazást itt és webes alkalmazást itt. És mi van a közepén valami called-- és azt hiszem, lehet, hogy szót használta korábban, talán? Hibrid alkalmazás. És mint a szó azt jelenti, ez valami a közepén. Elég egy webes alkalmazást, ez a fajta egy natív alkalmazás. És mit jelent ez? Kiderült, van frameworks-- hogy egy kifejezést earlier-- szoftver hogy mások írtak Minden ezen platformok egyike. Ezek és még más eszközök. Tény, hogy hadd menjen PhoneGap, ami egy ilyen keret, amit úgy vélik, az Adobe tulajdonosa most. Hadd menjen a lépések. Lássuk. Hátha látok az eszközök listáját. Hardver. Elkezdeni. PhoneGap hardver. Lássuk. PhoneGap hardver hozzáférés. Lássuk, találunk egy kis chart, hogy használt volna. Ez a másik oldalon. Ez hasznos? Nem. Ez lesz vesztegessük az időt. PhoneGap hardver. Eszközöket. Device API. Nem, ők már költözött. PhoneGap. Menjünk még egy utolsó pillantást a és hátha tudok mutatni. Elkezdeni. Telepítse PhoneGap. Telepítse a mobil app. Gyerünk. Ők már átszervezték mindent. Rendben. Oh, minden rendben. Nos, itt vagyunk. Ez egyáltalán nem olyan tanulságos, de ez az, amit én egyfajta keres. Tehát PhoneGap egy keretet, hogy ingyen letölthető, hogy ad Néhány indító kódot, alapvetően. Így néhány kódot, hogy az általuk írt hogy nem csinál sok mindent. De mit ad lényegében egyenértékű Egy alkalmazás, amely csak hozza a nagy téglalap a felhasználó képernyőjén. Ez nem tesz egy URL sáv, mint egy böngésző, nem tesz egy címet. Csak hozza egy nagy téglalap. És úgy konfigurálja a nagy téglalap, a motorháztető alatt, hogy valóban megy acme.com, vagy talán m.acme.com, a mobile.acme.com, de a felhasználó nem tudja, ők arra a címre. Minden amit lát, az tartalmát a weboldal. De mi szép erről lény egy hibrid app, hogy milyen PhoneGap és más cégek így van ők így egy kicsit a kód Objective-C, vagy Swift, vagy egy kis kódot a Java, vagy egy kis kód C #, és lényegében csak annyit, hogy minimálisan a címét web alapú alkalmazás. És akkor ez a csomag minden együtt, és van ez akár elérheti a webhely az interneten keresztül, vagy akkor is cache-egy helyi másolja az alkalmazáson belül, majd mentse el a kérelmet iPhone formátumban Android telefon formátum, felületi formátumban, vagy tetszőleges számú egyéb eszközök. Feltölti e változatok mindegyikét A Google Play Áruház, Az App Store-ban, a Windows Store, és így tovább. És most, akkor már az összes közönség letöltés valóban egy natív alkalmazás, bár a legtöbb kód volt írta valaki, de a tartalmát, hogy a natív alkalmazás minden származnak, általában, a saját honlapján. Szóval írását a honlapon HTML, JavaScript, CSS és. Akkor miért elhomályosítja ezeket a sorokat? Miért van egy hibrid kérelmet ez a fajta őshonos, hanem fajta web alapú? Mi a lényege hozzátéve ezt a komplexitást? Úgy értem, még mindig, csak az nézett le ezen az oldalon, Az első lépések útmutató olyan, mint ez van egy csomó lépést nekem csinálni, mielőtt can-- KÖZÖNSÉG: Újrafelhasználhatóság? David J. MALAN: Újrafelhasználhatóság? Hogy érted? Közönség: a forráskód. Tehát ugyanaz a kód futna a különböző platformokon. David J. MALAN: Igen. KÖZÖNSÉG: [hallható] David J. MALAN: Tökéletes. Ha az idő szalad, és ha Nem kell, hogy sok developers-- talán van egy fejlesztő és ő biztosan nem tudom, az összes ilyen environments-- biztosan nem jó, és biztosan nem a program mindhárom egyszerre és a hajó három termék határidőkben egy, akkor van rá építeni mindent HTML és JavaScript és CSS, majd tanulni egy apró kicsit natív alkalmazásokat, csak annyi, hogy letöltse keretet, mint ez, hogy majd feltölteni a készüléket mind a különböző üzletek app így most már egy natív alkalmazás. Tehát úgy tűnik, mint egy win-win, de a lényeg, hogy világos legyen, mik a lehetséges költségek vagy a csapda? KÖZÖNSÉG: Performance? David J. MALAN: Igen. Teljesítmény. Nehéz leírni szavakkal. Tehát, ha csak vesz hit egy mobil alkalmazás, Egy webes alkalmazás jellemzően végre lassabban. Lehet, hogy nem sikerült, mert iPhone és Android telefonok, és a Windows eszközök, van mindig egyfajta alapértelmezett kinézete és úgy érzi, hogy az összes gombok és menük. És a vállalatok az interneten, lehet próbálni közelíteni ezeket az esztétika könyvtárak, mint a Bootstrap, de a user-- ügyes user-- tudni fogja, hogy valami nem stimmel itt. És ez rendben van, talán ez nem egy nagy ügy. De a teljesítmény kérdése feltétlenül egy nagy dolog. Natív alkalmazások hajlamosak csak sokkal rugalmasabb és ezért jobb. És így, akkor mi lehet a két világ legjobbja? Ha különösen a kis vállalat vagy egy kis csoport, nem rendelkezik azokkal az erőforrásokkal hogy dolgozzon ki egy alkalmazást párhuzamosan mindhárom platformon, és őszintén szólva, Olyan, mintha egy rossz ötlet egyébként mert ha kinyújtjuk és mindhárom egyszerre megvalósítani, mi kell hozzá néhány funkciót vagy csinált valamit másképp, most van, hogy rögzítse három helyen, nem egy. Mi talán az optimális stratégia itt általános, ha az erőforrások és az idő szűk? KÖZÖNSÉG: Csak csináld az iOS. David J. MALAN: Ez nem ésszerűtlen. iPhone, legalábbis a Amerikai, szuper népszerű. Android még mindig úgy tűnik, hogy a domináns a piaci részesedés, globálisan, az általános. Így nem feltétlenül reprezentatív A teljes egészében a világon ezen a héten. De ez teljesen egy döntés. Úgy értem, az egyetemen itt én hiszem, néhány szörnyű száma vagy százalékát egyetemisták Van iPhone és Android telefonok nem. De külföldön, ez a fajta az ellenkezője. Szóval alapján döntenek a közönség. Honnan tudod, hogy mi a közönség? Nos, megtudtuk, egy trükk tegnap. Megkérdezheted őket. Ha van egy fogságban közönség , akkor küldje el a felmérés formájában. Vagy csak csinálni, amit? Közönség: a Google Analytics? David J. MALAN: Mi ez? KÖZÖNSÉG: Google Analytics. David J. MALAN: Google Analytics. Igen. Vagy még több fajta technikailag, csak nézd a saját web szerver naplók. Mert mi történik, minden alkalommal a böngésző, akár laptop, asztali vagy telefon látogasson el a honlapon? Küldenek hogy HTTP fejlécet, amely azt mutatja, Ön milyen böngészőt és operációs ők használ. Szóval lehet következtetni, nagy valószínűséggel, amit a demográfiai használ, hogy így majd állítsa be. Tegyük fel, hogy ez elfogadhatatlan. Ez a fajta rossz üzlet, ha Android felhasználók nem lehet megvenni a kütyü. KÖZÖNSÉG: Akár fog tölteni, vagy nem? David J. MALAN: Akár fogsz tölteni? Így OK, azt kapja, amit fizetni. KÖZÖNSÉG: Akár a app lesz szabad vagy, hogy ez gonna-- David J. MALAN: OK. Így talán tudna megtérüljenek költségek így, or--? KÖZÖNSÉG: Olvastam egy tanulmányt egyszer, hogy az említett több Apple felhasználók fizetnek alkalmazások versus-- David J. MALAN: Ez igaz mert ők már többet fizetnek a készülék. Tehát nem ésszerűtlen feltételezés. KÖZÖNSÉG: [hallható] David J. MALAN: OK. Tehát, ha ők többet hajlandó fizetni, majd a pokolba a Android felhasználók számára. Ők nem fognak fizet nekünk semmit egyébként. Akár azt is összpontosítanunk prioritásokat, legalábbis az első néhány hónapban vagy egy év, az IOS. Teljesen ésszerű. Mi egy befogadóbb stratégia, mint ez? Maybe-- mi az? KÖZÖNSÉG: [hallható] David J. MALAN: Egy expensive-- így talán többet fektessenek in-- megy előre. KÖZÖNSÉG: Igen. Csak egy mobil weboldal. David J. MALAN: Tehát nem a mobil honlapon, és nem is aggódni ezt a komplexitást. Vagy talán ésszerű stratégia, amely még a Facebook volt, van kezdődik a hibrid alkalmazása, mert ez nem hogy sokkal nehezebb ezt, mint ez. Csak ki kell olvasni néhány dokumentációt, és kitalálni, hogyan feltölteni dolgokat az App Store-ban. Így talán elkezd ezt úgy, hogy az első napon, támogatni tudja az összes felhasználó. És akkor, csak, mint a Facebook és más cégek tettek, ha rendelkezik azokkal az erőforrásokkal, van az emberek, miért nem újra végrehajtani csak az iOS alkalmazás. Még mindig van valami mindenki számára, annak ellenére, hogy egy gyengébb élmény talán a hibrid alkalmazás. De akkor fokozatosan vezetik be és cserélje ki a rövid távú intézkedéseket a hibrid apps A több natív alkalmazások. KÖZÖNSÉG: De egy hibrid app férhetnek hozzá a mobil funkciók? David J. MALAN: Nem feltétlenül. Így talán, hogy egy tudatos döntést korán, lehet feltölteni képeket a natív iPhone alkalmazás a Facebook, de nem az Android alkalmazás, kezdetben, például. És ez egy kicsit fehér hazugság, mert webes alkalmazások több korlátozást mint a hibrid alkalmazások kiderül ki, és ha azt olvassuk a dokumentáció A PhoneGap és a dolgok, mint ez, emberek jöttek össze módon hogy webes alkalmazásokat hozzáférés a kamerához, amíg az Ön által használt hibrid kérelmet. Hogyan működik ez? Mivel a hibrid alkalmazás, definíció szerint, van egy kis kódot Objective-C, Swift, és a Java, vagy C #, ez elérheti a hardver. Nem feltétlenül minden, de könnyen lehet, abban az esetben, hogy van elég hozzáférést kap a kamera, még az Android platform, az Például, hogy a kitalált példa. Más kérdés? Rendben. Miért nem vesszük 15 perc szünet van. Majd újra három a végső nézd meg web programozás, adatbázisok, és Javascript.