DAN Armendariz: Hello, és üdvözli a Egy CS50 szeminárium testreszabása Cloud 9, és a CS50 IDE. Tehát ma megyünk Csak beszélni egy kicsit néhány a műszaki információk megy mögött építészet Cloud 9, és hogyan mi végre néhány plug-inek részeként Cloud 9 hogy CS50 IDE. Úgyhogy csak ugrani, és elkezd beszélni plug-inek. Tehát plug-inek valóban a lényege a Cloud 9 élményt. Cloud 9 a mögöttes technológia amely számunkra az IDE, valamint a terminál ablakban a alsó, valamint a workspace-- Az Ubuntu workspace-- hogy Használja összeállításához minden kedves projektek és hajtsa végre a mi problémánk készletek, teljes legyen a probléma készletek. De a szíve minden belőle, az összes technológia tényleg csak egy csomó plug-inek. Minden egy plug-in hogy lehet módosítani, terjeszteni, akkor létre saját plug-inek, akkor távolítsa el a többi plug-inek, hogy valóban megváltoztathatja elég sok a funkcionalitás A meglévő Cloud 9 IDE. Tehát ez egy létező Cloud 9 környezetben. Ez tényleg csak a alapértelmezett Cloud 9 környezetben. És nézd meg, hogyan is eltér a CS50 IDE. Szóval ez a CS50 IDE. Figyeljük meg, hogy van néhány vizuális változások között rendszeres Cloud 9 környezet és a CS50 IDE. Pontosabban, akkor észrevesz egy pár változás. Először is, van kevesebb menüpontok kezdeni. Van egy másik módja, hogy lehet változtatni. Úgy hívják, az Egyszerű mód. Alapértelmezésben Egyszerű mód engedélyezett, és amely leegyszerűsíti a menü bizonyos elemeket. Eltávolítja néhány fejlettebb is, mert őszintén szólva, nagyon sok a tanulóknak, hogy jönnek és nem kell tudni néhány A fejlettebb funkciók nem túlterheltek egy csomó lehetőséget. De mi biztosítja a képességét, hogy le azokat az úgynevezett képzési kerekek és távolítsa el a állványzat, hogy az emberek válhat több szokott A fejlett funkciók a IDE. Közvetlenül a jogát, hogy van továbbá egy hibakereső gombot, amely a szabványban Cloud 9 környezetben egyszerűen hívják távon. De alapból, már konfigurálva a debug gombra a CS50 IDE hogy ki a debugger, automatikusan a forráskódot fordítjuk, csatlakoztassa a debugger a mögöttes GDB-- és mivel ez fut elvégzésére a debugging-- és néhány más lépéseket is. Szintén a terminál ablakban a very-- vagy inkább a terminál lapon a konzolon szakaszban a ablak legalján a képernyő, átnevezték egyszerűen terminál. Míg a standard Cloud 9 környezet, ez tulajdonképpen a futó alkalmazás. Ily módon, ez leegyszerűsíti, ismét, A GUI, csak egy kicsit. Azt is hozzátette, néhány gombok A jobb felső IDE mutatni néhány alapvető információt a mögöttes fokon. És azt is tudjuk, hogy eltávolította az egyik Az opciók a tételek a jobb szélen. Szóval mindez végre nem módosításával feltétlenül a Cloud 9 forráskód, de ehelyett egy pár A plug-inek, hogy mi végre az elmúlt évben, vagy úgy. És Cloud 9 adott otthont, és fut a CS50 munkaterület. Vagy inkább a munkaterületeket jelölik ki az CS50 IDE. Szóval tényleg ez a fő különbség között Cloud 9, és a CS50 munkaterületeket. Van még, az alapul szolgáló Például a legjelentősebb változás az hogy mi is telepített előre konfigurált elemek, mint a GDB, és néhány más alapvető dolgok hoztunk létre, mint a frissítés 50, és egy pár más lépések, amelyek az egész élmény egy kicsit egységes. De összességében ez csak egy módosítása a jelenlegi rendszer hogy Cloud 9 teremtett számunkra. Mit fogunk mutatnak kicsit később az, hogy hogyan valójában létre egy valamelyest alap plug-in, lehetővé teszi, hogy helyezze be valamit a menürendszer, és nyit egy párbeszéd. És ha van elég ideje, akkor tulajdonképpen lássuk, hogyan is elhelyezhet, hogy párbeszéd néhány információ a mögöttes fokon. Annak érdekében, hogy számunkra, hogy erre pont, nézzük először beszélni egy kicsit az építészetről a Cloud 9. Tehát az is, hogy hozzá vagyunk szokva vel való kölcsönhatás Cloud 9 teljesen a kliens. Nyitunk egy böngészőt, beírjuk a CS50.io. Mi végül, hitelesítés után, bemutatják az IDE. De észre, hogy ott van Pár lépésre hogy valóban kap minket, hogy ebben a kérdésben. A legelső dolog az, hogy az ügyfelem, a böngésző, kérésre, és a hitelesítés után, betölti a GUI és a plug-inek néhány CDN, néhány Content Delivery Network. Ez lehet őszintén bárhol. És ez valójában külön a mögöttes fokon. Fontos felismerni, hogy ez valójában csak egy rakás statikus fájlokat. Ez egy csomó JavaScript amely letölthető a CDN A My Web böngésző, és az összes GUI, hogy lásd here-- ez tényleg key-- az összes GUI, hogy itt látsz fut a kliens oldalon. Minden, amit látsz A Cloud 9 munkaterület valójában fut a böngészőben. És bármi, amit küldeni valamint a mögöttes fokon összeköttetésbe kerül a példány együtt ez a második önálló csatornája, és ezután rá van mentve hogy dokkmunkás fokon. Tehát az ok, hogy azt mondom, ez egy dokkmunkás fokon az, hogy a mögöttes technológia nem használ virtuális gépeket, hanem ehelyett egy olyan technológia az úgynevezett dokkoló, amely alapvetően allows-- a legközelebb analógia az a virtuális gép. De ez finoman más az, hogy vannak olyan rengeteg lehetőséget futtatni egy kombináció a különböző dokkmunkás esetekben egy gépen. És lehet pörögtek fel Nagyon gyors egymásutánban. Ez nem elég a több szigorú differenciálás A különböző dokkmunkás példányok vannak olyan virtuális gépeken, de még mindig van egy csomó differenciálódás és szétválasztás ezek között a különböző esetekben. OKÉ. Tehát a két lépést, hogy itt Fontos felismerni, az, hogy amikor megyünk CS50.io vagyunk letölti a GUI és a plug-inek, ami meg van írva a JavaScript, a A böngésző vagy a böngésző. És ez talán pár megabájt értékű információkat. Ezen a ponton, ha a GUI töltve, és a plug-inek kezdtek, akkor kezdődik, hogy kommunikálni A dokkoló például, amely nem feltétlenül kell ugyanazon a szerveren. Most van egy kivétel ez alól. Mi lehet valójában mind a végrehajtási mechanizmusa maga a GUI és a dokkoló például minden ugyanazon a szerveren, ami valójában valamit, amit mi Az offline változata a Cloud 9. Ez nem olyan dolog, hogy már publicitást nagyon ősszel, de mi is van egy offline változata, amely lehetővé teszi, hogy Ön letöltse a csomagolt változata mindezen dolgok és lehetővé teszi, hogy fut Cloud 9 offline környezetben. Mozgó ezt le a felhő, és rá a helyi gépen vannak hatással. Különösen akkor nem hosszabb megvan a képessége, megosztani a munkaterületet másokkal. Többé nem lehet megnyitni Cloud 9-re, és a CS50 IDE, bármely számítógépről és látják ugyanazt a fájlt dolgoztál korábban. De ahelyett, hogy működik teljes egészében a saját gépén anélkül, internet-hozzáféréssel. De még akkor is, abban a modell, még Bár van egy virtuális gép hogy lényegében futó ezeket a dolgokat. Van egy külön szerver, amely nyilvánított lényegében Cloud 9 tartalmat, és akkor Van egy dokkmunkás fokon , amely felelős a kommunikáló azzal IDE háttérben. OKÉ. Tehát a teljes GUI van írva teljesen JavaScript segítségével node.js és a Cloud 9 SDK, amit kapsz, hogy mindössze egy perc alatt. És az összes plug-inek futnak a kliens oldalon. Szóval összpontosítani, majd a kicsit átvállalásával hogy ez az első lépés van valóban sikeresen befejeződött, és itt most csak ez a dokkmunkás fokon. Tehát ebben az esetben, ez a a szokásos módon gondolkodás csinál Cloud 9 plug-in fejlemény, hogy Ön lesz kell kódot írni, hogy lesz lefutni a felhasználó böngészőjének, és akkor lehetősége van a segítségével néhány API kommunikálni A mögöttes dokkoló például fuss néhány kódot ott, és semmit hogy érdemes csinálni. Tehát ez lesz összefüggésben, hogy mi lesz használja a többi ezt a beszédet. És csak ne ez a modell szem előtt. Ez nagyon fontos lesz mindössze néhány perc alatt. Van egy pár linkek akarok mutatni neked. Először is, Cloud 9 nyújtott elég sok dokumentáció Ez elég jó, ami megmutatja, hogy hogy nem az alapvető plug-in fejlesztése. Tehát, ha megy ez az URL, cloud9-sdk.readme.io, látni fogod a dokumentációban van. És egy csomó ezt az információt hogy te arról, hogy is ott található, valamint több. Akkor is megtalálja a nyílt forráskódú változata Cloud 9 ezen az URL, github.com/c9/core, amit használni része az offline változata az IDE, így képes lesz arra, hogy azonos Cloud 9 tapasztalat, de egy offline módon. Minden rendben. Szóval vessünk egy pillantást egy tényleges Cloud 9 munkaterület itt. És ismét, azt akarom, hogy pont ki egy-két dolgot. Ez, itt van, egy normális CS50 IDE. És én letiltotta a kevésbé kényelmes mód a Nézet menü így én is az összes A menüpontok. Mit akarok mutatni neked jobb most egy pár dolgot. Először is, ha bemegy A Beállítások menüt, majd kattintson Plug-in vezetője, és írja be a CS50 itt, azt látjuk, hogy vannak, sőt, Pár CS50 bővítmények telepített és a futás, hogy hogy a változtatás, hogy már láttam a CS50 IDE. Most van lényegében Két plug-inek, hogy fut. Van egy úgynevezett egyszerű, amely az egyszerűsített módot lehetővé teszi, hogy csökkentsék a számát A menüpontok a felső, , és ez az úgynevezett kevésbé kényelmes módot. És akkor ott van még CS50 statisztikák, ami talán csak kissé misnamed. Mert ez az, amit megmutatja az információkat a mögöttes munkaterületet. Fecskendez ezeket a gombokat valamint a jobb felső. Azt is fecskendez egy menüpontot a ablak elem, a Ablak menü Itt, CS50 IDE Info. És ez felelős példányosítanánk E párbeszéd, amit láttam itt, az összes olyan információt, hogy mi vagyunk megszokta, hogy egy CS50 IDE munkaterület. OKÉ. Így van valójában még egy plug-in hogy az általunk kifejlesztett is. És van néhány másik, hogy mi is nem nyilvánosan megjelent. De egyikük az általános plug-in, amely lehetővé teszi GDB működni. Tehát az egyik aspektusa a Cloud 9 az, hogy az általuk nyújtott már ez a GUI, hogy végre egy debugger. És az egyik plug-inek, hogy hoztunk létre alapvetően horgok GDB ezzel a GUI alapú változata a debugger. És felelős a közvetítő minden Az kéri, hogy a felhasználó esetleg van, között átlépve vagy megteremtése töréspontok vagy bármi Ezen a vonalon, a fordítás, hogy a parancsok GDB érthető, kibocsátó ezeket a parancsokat GDB. És amint GDB kiadja a válasz, akkor értelmezzük azt, és frissíteni a GUI szükség. Ez valószínűleg az egyik a bonyolultabb A plug-inek, így ahelyett, hogy mi vagyunk fog összpontosítani ma valójában A statisztika plug-in, és megbeszéljük egy kicsit egyszerű, is. Szóval már említettem, és azt szeretné, hogy nagyon, nagyon világos, hogy újra, mindez, hogy mi vagyunk látva itt lényegében működő kliens oldalon. Látható egy terminál ablakot alább, és hogy, természetesen, Ha beírjuk a parancsokat hogy, hogy lesz majd kiadott a mögöttes például. Hasonlóképpen, ha nyitunk egy új fájlt, és írja néhány dolgot bele, és mentse el, hogy a fájl mentésre kerül A mögöttes fokon. De a szerkesztő, ez a terminál ablakot is, van az összes végrehajtott JavaScript és az összes plug-in hogy kölcsönhatásba léphet, és ezért módosítani. Van egy csomó bővíthetőség itt. Azt javasoljuk, hogy egy pillantást A Cloud 9-es GitHub fiók hogy a hatalmas mennyiségű plug-inek, amelyek rendelkezésre állnak, és hogy mennyire jól megírt sok A kód a bővíthetőség. Szóval van valami hogy szeretném megemlíteni erről is, amely hogy van egy csomó of-- van egy csomó funkcióval, ami amennyiben a preferenciák ablak, amit láttam, ahogyan utalt, hogy csak néhány perccel ezelőtt. Az egyik dolog, amit tehetünk, mint IDE fejlesztők, vagy Cloud 9 fejlesztők, az, hogy ténylegesen beadni néhány preferencia panelek a miénk. Így az egyszerű módban, vagy A kevésbé kényelmes mód, és szintén az IDE információ, vagy a statisztika plug-in, van minden egyes preferencia panelek, amelyek lehetővé teszik számunkra, hogy módosítsa a viselkedése minden egyes ilyen. Észre fogod venni, hogy ha elmegyek a Beállítások és megy a Felhasználói beállítások, van egy CS50 lapon egy hogy azt mondja IDE információkat. És tudom változtatni a információk frissítési frekvenciát. Hatékonyan, mi történik A statisztika plug-in az, hogy minden n-másodperc, ahol N-másodperc határozza meg ezt a preferencia panel, információkat tölti le a mögöttes például küldik vissza a kliens oldalon, A plug-in, akkor értelmezése az információkat a mögöttes fokon és frissíti a GUI szükség. Láthatjuk, hogy most ez van beállítva 30 másodperc, és ez az alapértelmezett. De biztosan tudunk változtatni milyen gyorsan ez történik most módosításával ezt az értéket. Most az egyik legérdekesebb dolog az, hogy ez a preferencia panel, GUI, tényleg csak egy GUI verzió Egy csomó mögöttes beállítások hogy a bemutatott JSON. Tehát, ha megyek, például az CS50 IDE menü vagy a Cloud 9 menüben attól függően, hogy melyik változata nézel, és megy egy ilyen settings-- ebben az esetben, A projekt settings-- a projekt beállítások ebben az esetben vonatkozik az összes beállítást Ennek egyik munkaterületet. Mivel a felhasználói beállításokat alkalmazni hogy minden a munkaterületek hogy lehet, hogy a fiókjában. Ahogyan tehát félre Itt, hogy extra világos, van különítve az Két mert bár Alapesetben Van egy munkaterületet, amely a CS50 IDE, ha voltak, hogy kattintson a kis logója ide, és megy a műszerfalon, rájössz, hogy tudod valójában teremt újabb munkaterületeket is. Itt látható, hogy én nem IDE 50 munkaterület, valamint céljából ezen szeminárium, a munkaterület úgynevezett munkaterület, ami itt van. Mindegy, én különböző kedvezmények. Mindegyik volna külön projekt preferenciák, de a felhasználó preferenciái megosztott között az én munkaterületeket. By the way, ez is nagyon hasznos lehet, ha szeretnénk létrehozni egy munkaterületet különböző testreszabási lehetőségek. És ez nagyon hasznos, Új munkaterület. És válasszon egyet, hogy lehet előre konfigurált valamilyen más módon, talán PHP konkrétan, vagy Django konkrétan. Vagy akár csak egyéni. A CS50 munkaterület sablon az egyik, hogy mi használja, amely automatikusan telepíti Frissítés 50 és az összes beállítást hogy van ott, beleértve az összes plug-inek, hogy van a CS50 IDE. OKÉ. De térjünk vissza erre. Tehát újra, vannak olyan projektek, beállításokat, és ezek azok, hogy keresünk itt. És észreveszed, hogy van egy csomó beállításokat, sokan közülük megfelelnek az elsőbbségi panelek, de nem mindet. De látjuk, hogy itt, this-- ó Nem, nem tettem a felhasználói beállítások? Talán tedd a felhasználói beállításokat. És ez, itt vagyunk. A felhasználói beállítások, tudjuk látni, hogy van egy CS50 részén, és ez folyamatban van írva hogy ezek a Cloud 9 plug-inek hogy már végre. Van az egyszerű egy- felelnek meg, hogy az egyszerű plug-in, és a statisztika, amelyik megfelel annak, hogy a GUI alapú változata a preferencia panel. A frissítési ráta, ebben a esetben van beállítva, hogy 20 másodperc. Ez az egész, remélhetőleg, a kezdetei néhány információ hogy mi lesz valóban látni egy kicsit kicsit részletesebben, egy pillanatra. OKÉ. Tehát mondjuk azt akarjuk, hogy tényleg csak le azt. Megértjük, hogy az összes cuccot ami történik a kliens oldalon történik valójában a böngésző, amely azt jelenti, hogy minden plug-inek, hogy írok fognak írásos A böngésző szem előtt. És ha én tényleg szeretnék csinálni semmit a munkaterületet, Én talán kell kezdeményeznie bizonyos kommunikációs a böngésző és A munkaterület hogy biztos hogy a ténylegesen megvalósult. De tegyük fel, hogy most Azt akarom, hogy le is és valóban létre az első plug-in. Nos, az is, hogy képes lenne tennie, hogy valójában nagyon egyszerű. Ez adott a Cloud 9 SDK. De, hogy a meglévő munkaterület nevét, amely Az az URL, hogy van a tetején A bárban, és adjuk hozzá a következő hozzá. ? SDK = 1 & Debub = 2. Most, hogy ez mit fog ahhoz, hogy a hogy az SDK = 1 ténylegesen meg az SDK mód, hogy igaz, amely lehetővé teszi néhány további dolgot. És debug = 2 lehetővé teszi hibaüzenetek hogy egy kicsit bőbeszédű. És így ha hozza fel a JavaScript konzolt a Chrome fejlesztői lapon akkor ténylegesen képes legyen hogy sokkal több információt mint amennyit egyébként. Szóval ajánlom fordult mindkét a ugyanabban az időben, mert tényleg Hasznos, ha mindez további információ. Fontos megjegyezni azonban, hogy a bekapcsolása hibakeresési az értéke 2 azt jelenti, hogy nagyon bőbeszédű, és ez valóban valamelyest észrevehetően lelassul IDE, különösen, ha loading vagy ha nem csinálsz nagy feladatokat. Szóval, csak tartsa szem előtt. Ez hasznos fejlesztés, de nem szeretné, hogy ez az egész idő alatt. Úgyhogy tényleg csinálni. De ebben az esetben, én valójában már létrehozott egy munkaterület ezzel. Tehát lássuk, SDK = 1 & debug = 2. Egy pár plug-inek remélhetőleg már telepítve van. Minden rendben. Tehát most, hogy már be van kapcsolva az SDK hibakereső módban észre, hogy mi vagyunk a debug módban, így nézd meg a dev eszközöket, hogy az esetleges hibákat, melyeket véghez viszek offscreen. Láthatjuk, hogy van Egy csomó hibát itt. Most már tényleg elég gyakori, Cloud 9, hogy egy-két hibát, és én nem aggódnék róluk, amíg meg nem látni valamit, ami talán kifejezetten a plug-in hogy történetesen létre. Tehát itt, például, megkapjuk Pár 404s-- nem található. Látjuk nem tudjuk betölteni néhány információ ki a mögöttes fokon maga. És van egy csomó kiegészítő információt, de ennek nagy része vagyunk valóban lesz így most nem. Mivel ez elég gyakori a munkaterület hogy csak egy pár hibát. OKÉ. Megyek mozgatni ezt ki az utat, és gyere vissza ide. És most a könnyebbik utat, a szép dolog, amelynek ez a fejlesztő mód engedélyezve van, hogy lehetővé teszi számomra, hogy könnyen teremt egy új plug-in. Tehát míg korábban Igazából nem Van ez az új plug-in opció áll rendelkezésre, amelyből láthatjuk, ha megyek vissza én nem fejlesztői módban ide, nincs új plug-in. Azáltal, hogy az SDK mód, azt Van egy új plug-in elérhető és én is könnyen létrehozhat egyet. Ebben az esetben van egy pár A különböző lehetőségek, egyszerű, egy üres plug-in, a teljes plug-in, telepítő, Cloud 9 köteg. Nézzük csak válasszuk ki a Üres plug-in most hogy mi is egy igen egyszerű változata az egyik. Most észre, hogy végig a bal oldal, ami most van valami mellett Kedvencek, listázó pár plug-inek hogy már elérhető számomra. Ha én bővíteni fogjuk a látni ezeket. Most azt akarom, hogy észre itt valami, ami az, hogy ez ténylegesen nem tartalmazott a munkaterületen könyvtár én alapjául szolgáló Ubuntu fokon, de az benne van a merevlemezen. És ha ezt nem található, mert ez nagyon hasznos, hogy tudja, különösen, ha meg akarsz csinál semmit a Git, ahol ez található a Egy .c9 mappában / plugins. Tehát ha én megyek oda, azt látjuk, hogy most A fenti plug-inek, hogy itt egyezik a lista a plug-inek, hogy én láttam a bal oldalon az én munkaterület. Most alapból, ez furcsa, alapértelmezés szerint készíthetek Új plug-in a munkaterületen, teremt a plug-in, hogy a alapértelmezett neve van aláhúzás. Általában, ami talán okozhat némi problémát. Így a következő lépés nagyon hogy én általában végre csak hogy távolítsa el Különösen plug-in és hagyja csak az egyszerű plug-in, Ott volt eredetileg, plugin.simple. És ez az egyetlen, ami ott van. OKÉ. Mit is jelent ez valójában kinézni? Nos, ez megint JavaScript csomag amely magában foglalja a fájlokat, köztük egy plugin.js fájlt, ahol A fő tartalma én plug-in található, Egy package.json fájlt, ami valójában meghatározza Néhány metaadatokat a plug-in, mint például, aki a szerző, minden további információt róla, a leírása a plug-in, és így tovább. És azt is, alapértelmezés szerint, ez létrehoz egy üres Readme_hu.txt, és egy üres próbaszövegen az Ön számára hozzon létre néhány további dokumentációt, és egy teszt hám, ha szeretnél csinálni. Úgyhogy csak vess egy pillantást először, nagyon gyorsan, a package.json fájlt. Elég könnyű, hogy csak menjen át , és töltse ki a következő területeken: ez a hogy szeretne kitölteni, mint a bocsátania a nevét, hogy a leírás, ismételget a verziószám minden olyan gyakran, biztosítani szerzőként minden személy, amely hozzájárul, add hozzá a közreműködők szakasz, és a többi ezt te viszonylag jól lehet csak hagyja, ahogy van most. Van egy dolog, ami Fontos megjegyezni, hogy az plug-inek részén, van egy kulcs nevű plug-in. És ez illeszkedik a nevét A JavaScript nevű fájlt plugin.js. Szóval így Cloud 9 tudja, mikor olvassa ezt a package.json fájlt, amely A js fájlok ténylegesen betölteni. Ha készítek további js fájlokat vagy akar átnevezni, hogy js fájlt plug-in, Azt is meg kell változtatni A package.json fájlt. Bármilyen a közönség kérdéseire? Nem. Hogy egy személy, aki következő velem együtt eddig. OKÉ. Úgyhogy valóban létrehoztunk egy Pár plug-inek már, Azt hiszem, ebben a munkaterületet. Szóval megszabadulni néhány ilyen, add SDK = 1 & debug = 2, töltse be újra a munkaterület, és lássuk, ha hogy ezeket a plug-inek most. C9 / plugins. Essünk neki. Láthatjuk őt az én C9 / plugins e Egy, már plugin.1 és plugin.2. Szóval megyünk csak fokozza the-- csak megnöveli az nehézség Ezeken a plug-inek. De itt, ha létrehozok egy új plug-in, Azt is hozzá, hogy a kedvenceim. És én csak törölni ezeket re a mögöttes fájlrendszer. Nézzük eltávolítani ezt. Most, ha kinyitom az első plug-in, és nyitott plugin.js, láthatjuk itt a mögöttes egyszerű változata a plug-in. Hadd valóban vissza hogy ez a másik munkaterületre mert akkor legalább itt látni, milyen egy üres plug-in valóban úgy néz ki, mint. Tehát a motorháztető alatt, ez úgy néz ki nagyon hasonlít a technológia az úgynevezett, Azt hiszem, ez RequireJS. Figyeljük meg, hogy ez nem Tényleg nézd, talán, ugyanaz, mint néhány más JavaScript fájlokat, hogy lehet, hogy láttam. De ahelyett, van egy pár csak alapvonal hogy valójában. Mindez cucc első értelmezése szerint az IDE, de ez valójában nem ig tart meg. És megmondom, hogy mikor, hogy valójában azt jelenti, csak egy pillanatra. De észre, hogy itt van egy main.consumes vonal 2-es vonal, és ez felsorolja az összes plug-inek hogy ez a plug-in függ. Tehát alapból, mi talán nem, hogy minden az egyéb plug-inek, de amikor valóban szükség van függ jellemzői mellékelt más plug-inek az IDE, meg kell felsorolni azokat a plug-inek A main.consumes sorban. És akkor meg kell kapcsolni őket a kódot Az alábbi, ahol megmutatom neked csak Egy pillanat, hogyan tudunk csinálni. Main.provides ad nevet a plug-in hogy más plug-inek lehetett használja a saját fogyaszt sorban. Tehát ebben az esetben, az én plug-in csak meg van alapból, és meg kell változtatni, hogy legyen alkalmazandó a saját plug-in, mint látni fogjuk, mindössze pillanatban. Most itt a funkciót fő, ez a funkció fő valójában futni, és értelmezni, hanem ez valójában nem nagyon. Ez csak egyre mindent létre, de valójában nem indul el a plug-in, annak ellenére, hogy mi a neve hangzik. Hogy valójában mi történik keresztül sorozata olyan módszerekkel, amelyek tartalmazza ez alatt a plug-in. Szóval ha lépjünk le, láthatjuk, hogy van egy életciklusa, ahol néhány esetben úgynevezett terhelés, vagy valamilyen esemény az úgynevezett kirak, néhány esemény ténylegesen meg is történik. Ez tényleg itt, ahol a plug-in kezdődik, hogy e módszerek nevezik. Úgyhogy egy kicsit konkrétabb erről, és egy példát. Tehát itt plugin.1, mit mi alapvetően csinálni hogy hozzon létre egy menüpont nevű CS50 Szeminárium Dialog 1-- mert van két them-- és megyünk beadni, hogy a Window menüből. És amikor kattintson rá, mi vagyunk fog nyitni egy párbeszéd, amely megmutatja nekünk néhány alapvető információt. Ebben az esetben csak egy hello world. Tehát ez egy nagyon egyszerű hello world párbeszéd hogy tudjuk végrehajtani mint egy plug-in Cloud 9. Nézzük, hogy ez valóban úgy néz ki. Majd lépni rajta, csak viszonylag gyorsan így nézd meg a következő plug-in is. Figyeljük meg, hogy itt vagyunk fogyaszt különféle plug-inek. Mi fogyaszt párbeszédet plug-in, parancsok, menük és felhasználói felület. Úgy néz ki, valójában vagyok fogyaszt párbeszéd kétszer, így tudok eltávolítani ezt. És észre, hogy az út hogy én vagyok az azokat összekötő, ez a fajta metaadatok mond A plug-in rendszer milyen követelményeknek valóban szükség van- Ennek plug-in betölteni. Az is fontos megjegyezni, hogy a sorrendben, plug-inek töltik nem garantált. De mi garantáltan az, hogy ha én meg bizonyos plug-in, mint követelmény, hogy plug-in fog betöltődni ez előtt van betöltve. Tehát ez azt jelenti, hogy ha a plug-in megköveteli bizonyos funkcióit valami más az IDE, be győződjön meg róla, hogy a plug-in fogyaszt hogy plug-in, hogy a függőségeket bizonyos, hogy hozza létre a plug-in, vagy példányosítani a plug-in, csak azt követően, hogy a meglévő keret létezik. Tehát itt már említettem a metaadatokat a plug-in vezetője, melyek fogok fogyasztani. És a fő funkciója van, Megyek majd csatlakoztassa a programkódot az importált plug-inek. Szóval én csak fog hozzon létre olyan változók, amelyek egyezik a nevét, minden egyes ilyen, így hogy tudok nagyon gyorsan hivatkozni rájuk egész kódomat. Az ok, én importáló párbeszéd azért van, mert szeretném, ha a plug-in fellépni a párbeszéd plug-in. És az is, hogy képes vagyok hogy az, hogy, természetesen, csatlakoztatom a kódot a párbeszédet plug-in importálásával is majd megadásával által létrehozva egy új párbeszéd változó és rajta hogy az importált plug-in. És akkor meghatározásával én plug-in, mint egy új párbeszéd. Tehát az indító, én kívánja meghatározni, én plug-in. És ez a változó nevű plug-in látni fogod csak általánosan használtak egész Cloud 9 plug-inek. Megyek példányosítani egy új párbeszéd néhány attribútum, hogy ez egy egyedi nevet, azt mondják, hogy Lehetséges, hogy a felhasználók a bezáráshoz. Hogy megmutatom egy kicsit x A jobb felső sarokban, vagy egy kicsit gombra a jobb alsó sarokban. Függetlenül attól, hogy tudom választani a szöveget ez, mi a címe annak a párbeszédnek lenne, és így tovább. Most ez csak meghatározza a párbeszédet, de ez még nem mutatta. Igazából meg kell határoznunk egy kereset kell kimutatni. És ismét, azt javasoljuk, hogy vessünk egy pillantást a Cloud 9 SDK, mert vannak különböző párbeszédek és valóban jól dokumentált. Láthatjuk a különböző típusú hogy vannak, és használja őket, bármilyen plug-in van szem előtt. Most lesz egy terhelési szakaszt, és ez a terhelés funkciót, ahogy emlékszem van által használt plug-in életciklus hogy valóban példányosítani mindent és mindent készen. Most, amikor ezt a plug-in terhelést, én nem akarjuk, hogy azonnal mutatnak párbeszédet, mert ez a plug-in fogja betölteni valamint a többi IDE. És amikor betölti azt IDE, nem akarom, A párbeszéd megjelenni automatikusan. Én csak azt akarom, hogy megmutassa, amikor rákattintok A menü használata, az én Window menüpont hogy fogok hozzá, hogy ez egy pillanatra. Szóval van két külön lépésben hogy itt kell történnie. Van, hogy egy parancsot, és a parancs feladata lesz a ténylegesen amely bemutatja a párbeszéd a Cloud 9 IDE. És akkor azt kell csatlakoztatni, én létre kell hozni egy új ablak menüt elem, hogy fut azt a parancsot. Tehát, hogy ha rákattintok, hogy Window menüpontot, hogy a parancs, majd a Futtatás így a saját párbeszédet követően megjelenik. És így ez valójában egy nagyon Jó gondolkodásmód is. Mert először is létrehozhatunk egy parancsot akinek a neve CS50 Szeminárium Dialog 1, hogy ad némi általános összefüggésben azt. És a legfontosabb kicsit itt az, hogy észre a EXEC attribútum, amely felsorolja, hogy a funkció kerül meghívásra az én plug-in, ha ez a parancs fut. Tehát ez a parancs a fajta, mint egy-- ez csak egy tetszőleges Cloud 9 parancsot, hogy ez elérhető bármely Cloud 9 plug-in. De a tényleges funkciója, hogy ez az fog hívni, ha ez a parancs fut ez a show párbeszéd funkció az én plugin.js fájlt. És valóban látni Ezek a bedolgozók és a lista A parancsok állnak rendelkezésre, hogy nekünk Preferenciák, lapozzunk egészen down-- lássuk, valóban nem látjuk ezt most? Plug-in vezetője, Nem, azt hiszem ez én-- Határozottan itt van valahol. Nos, van egy lista a parancsokat valahol, de azt kell, Elfelejtettem, hol van. Szóval OK, akkor lépni. Minden rendben. Tehát van egy lista a parancsokat állnak rendelkezésre, hogy nekünk, és a parancsok Ezek csak önkényes Cloud 9 parancsokat futtatni egyedi kódot. Szóval, csak tartsa szem előtt tartva, hogy a fogunk futni a show ablakban működni pillanatra. Most, amikor valóban szeretné adni egy menü elemet, tudok hozzá adott elem utat, és csak meg, hol akarok hogy legyen, Window / CS50 Szeminárium Dialog 1. És ezen a ponton, azt akarom, hogy hozzon létre egy új elem, hogy fogja futtatni egy parancsot, CS50 Szeminárium Dialog 1. Figyeljük meg, hogy megint ez a Cloud 9 parancsot hoztam létre fölött. Most én is szeretnék hozzon létre egy kis térelválasztó, és így meg tudom csinálni ugyanazt az ezt követő sorban. Most azt veszi észre, hogy a részét meghatározó ebben a menüpontban, van egy szám társított amely tulajdonképpen azt mondja, hogy pontosan hol Azt akarom, hogy a menüpont is található a menük listáját. De talán észre hogy én valójában nem lát számok Ezek a menük, alapértelmezés szerint. Szóval van egy kis rejtett dolog, tehetünk, egy kis változás az URL-t. Tehát mellett SDK = 1 & debug = 2, Majd állítsa a menüben 1-- és remélhetőleg ez menüt, nem menüket. Ó, ez menük = 1. Várj. És mi látni fogjuk fel, hogy újratöltés IDE, hogy én még mindig debug módban, de most van számok kapcsolódó összes menü. És ez azt mutatja, pontosan mi a szám az, amikor akarsz beadni valamit bárhol ezt a menürendszer. Tehát az Ablak menüből, tudok láthatjuk, hogy a tétel 45 működj együtt, és a tétel 38 előtt ez telepítő. Tehát amikor azt akarja beadni, Elem e két, Én csak egy szám kiválasztásához e két tétel. Szóval kiválasztott 41 és beillesztettem a szeminárium Dialog 1 menüpont az adott helyen. És ez az, amiért ez a szám hogy az itt megjelenő van 41. szám. Ez az a hely, hogy menüpont alatt a Cloud 9 menüt. Most hasonlóan, azt akartam, hogy hozzon létre egy osztó és add meg, hogy van egy szép közötti megosztottság minden ilyen menü tételek. Szóval hozzátette, hogy a helyszínen 43. Eddig jó, remélem? Így most nézzük valóban nézd meg az egyedi kódot show ablakban Ez valóban felelős kinyitására Ebben a párbeszédablakban. Gördülnek le, látom, hogy akarok hogy ezt a funkciót mutatják párbeszédablakban és ez rendkívül egyszerű. Megyek futni a show módszer a plug-in változó. És ne feledd, hogy ez a meghatározott plug-in változó fölött, mint egy párbeszédet. Így bár a plug-in, ebben az esetben ez a objektum, amit meghatározott belsőleg. És ez lesz egy új párbeszéd Az e plug-in. És így ténylegesen hivatkozott ezt plug-in változó, sok helyen egy tipikus Cloud 9 fejlesztői környezet. Meglátjuk itt. Figyeljük meg, hogy ahogy lépjünk le, van további életciklusa. Tehát észre, hogy ezek reagálnak eseményekre, amelyek lőttek ez a tárgy, ez a párbeszéd tárgya. Alapértelmezésben van ki- és berakodása, amely állnak valamennyi Cloud 9 plug-inek. De abban az esetben, E párbeszéd van Egy másik esetben, ha tudsz valamint a tűz, az úgynevezett Döntetlen, égetett, amikor a arról szól, hogy kell elkészíteni a képernyőn, első fokon a párbeszéd mutatja. Tehát, ha azt ténylegesen lesz látható, ott fog ad meg nekünk néhány HTML. És használ csak szabványos HTML gyakorlat azt beadni néhány nagyon egyszerű információ, a hello world, abban a párbeszéd. Tehát, ha majd felfelé, tudjuk lásd majd a menetet a dolgokat hogy ez történt. Először létrehoztunk egy Cloud 9 parancs hogy amikor végre a Cloud 9, fog tüzet ezt a funkciót. Meg fog futni ez a funkció nevű mutatják párbeszédet, hogy én már írva kódomat. Készítettem egy menüpontot, és csatlakozik, amely ugyanazt a parancsot hogy ha adott tétel kattant A menüben, azt a parancsot, majd futtatni és ezt a funkciót, majd futtatni. És belül a funkciót vagyok csak fogja hívni the-- vagyok csak fogja végrehajtani a show módszer a plug-in, amely fog első hívás A sorsolás módszer, és megy A tűznek ez a módszer lent, a felhívni eseménykezelő, az életünk során. És akkor lesz valóban mutatják a párbeszéd. Van még egy rejtett módszert, így ha kell a lehetőséget, hogy elrejtse én párbeszéd, én is ugyanezt csinálja. Szóval ez elég sokat hogy mindezt a munkát. Figyeljük meg, hogy az, ha lépjünk le További van fagyasztva nyilvános API-t. Ez alapvetően csak azt mondja, hogy én szeretnénk ezeket a módszereket, hogy hatékonyan nyilvánosak, de nem overwriteable kívül keretében a plug-in. És alább legalján, talán az utolsó dolog, hogy valóban meg kell fizetni sok figyelmet, hogy itt, ami az, hogy mi lesz regisztrálni a plug-in a neve C9 Szeminárium 1, és a tárgy plug-in. Melyik a emlékezzünk csak vissza, az hogy plug-in, plug-in objektumot, amit már meghatározó az egész teljes egészében ezt a forrást kód. És C9 Szeminárium 1 a húr, hogy megígértük hogy a csúcson Ennek a meghatározásnak. OKÉ. Úgyhogy rámpa fel egy kicsit és hátha tudunk tenni valamit egy kicsit érdekes. Most ez csak olyan nagy. Úgy értem, ez az, ez valójában elég hűlni, hogy így néhány sornyi kódot, tudjuk módosítani a meglévő IDE és adjunk hozzá egy meglévő menüpont vagy egy új menüpont, adjunk hozzá egy parancsot, és azt mutatják, a párbeszéd, és csak egy csomó funkciót, ami létezik. Ez tényleg nagyon jó. De ez nem sokat, mert nem tudja kommunikálni az alapul szolgáló Ubuntu Például. Mondjuk, hogy én valóban szeretné megtudni néhány információt a alapjául szolgáló Ubuntu például mint a statisztika plug-in csinál. Szóval vessünk egy pillantást kicsit több információt arról, hogy a statisztika plug-in munkák. És valóban, ez nagyon ehhez hasonló. Lehet, hogy emlékeztetni arra, hogy van egy párbeszéd. Lehet felidézni, hogy van Egyes információk, amelyek Látható csak végig a menüsor mellett tetejére, ami remélhetőleg most kapok egy íz, hogyan mi végre ez, Csak beiktatásával menüpontok specifikus pontok és a példányosítanánk párbeszéd és megjelenítése, hogy a párbeszéd. De még nem mutattam akkor hogyan tudjuk csatlakoztatni egy parancsot a mögöttes Ubuntu fokon. Szóval vessünk egy pillantást majd plugin.2, amely nem pontosan ez a dolog. Megyünk, hogy nyissa plugin.js, amely a kód. De az Ablak menüben ha rákattintok a párbeszéd 2, láthatjuk, hogy azt mondja, ez a ahelyett, helló CS50, amely nem úgy néz ki, hogy csábító, nem igaz? Kivéve, nézze meg ezt. Hadd változtatni valamit ide. Én megyek, hogy én munkaterület és a változás szeminárium mondani valami mást, mint a Hello, Dan. Megyek zárd be és mentsd el. És most fogok újra futni én párbeszéd menüpontot. És észre, hogy van most megváltozott, amit mond. Szia, Dan. Úgy látszik, hogy tettek valamit le Itt az alapul szolgáló Ubuntu fokon anélkül, hogy manipulált semmilyen kód, amely újra fut kizárólag a kliens oldalon. Tehát nyilvánvalóan valamiféle kommunikációs, ami itt történik. Most ez az, ahol sok a hatalom a Cloud 9 SDK érkezik, az, hogy ebben a plugin.2, mi valóban okozhat Hívás történni a mögöttes például és fuss néhány önkényes parancsot. Tehát ebben az esetben, már ténylegesen létrehozott egy nagyon egyszerű bash szkript az én munkaterület nevű szeminárium. Szóval hadd nyissa hogy akár. És azt látjuk, hogy ez így néz ki. Ez csak egy nagyon egyszerű bash script, melynek egyetlen célja az életben lesz, hogy echo ki ez a szöveg, Hello, Dan. Vagy előtte, azt mondta Helló, CS50. És ez minden meg fog tenni. Mert ez most egy parancsot, hogy tudok futni. Én valóban merítse le itt. Láthatjuk, hogy ez valójában csak Parancs, hogy futok természetesen. Tudom kérni a plug-in, hogy végre ez a parancsot a mögöttes munkaterület és elemezze az információkat hogy visszatért belőle, és valamit csinálni, és módosítani én plug-in és a viselkedés, amit Van az én plug-in eredményeként. OKÉ. Nézzük, hogy ez hogyan történik. Láttuk ezt a nagyon egyszerű Szeminárium batch script, hogy én [Hallható], hogy ténylegesen futni. És most lássuk a módosításokat amelyek szükségesek kötni ezt együtt A dialógus ablak, és futtatni. Tehát itt fogunk csinálni, elég majdnem ugyanaz mint előbb láttuk. De észre, hogy a pénzügyminisztérium dolgok, hogy már fogyasztott now-- amellett, hogy a párbeszéd, amely megint én történetesen már kétszer történik, amely nem necessary-- mellett A párbeszéd és a parancsok és a menük plug-inek, amelyek szükséges az első egy nekem meg egy új parancs és beadni egy elemet a menük, Én is ezt proc plug-in. És ez a proc plug-in segítségével minket manipulálni folyamatok az alapul szolgáló például. Már csatlakoztatása után én már azt mondta, hogy én plug-in megkívánja. Már akkor csatlakozik, hogy kódot, mint láttuk, a fő funkciója. Ismét fogok alaphelyzetbe én párbeszéd. És ha lejjebb most, Láthatjuk, hogy ez most más. A terhelést a funkció ugyanaz, így ez csak létre fog hozni egy parancsot és hozzon létre egy menüpontot, és csatlakoztassa hogy a menüpontot, hogy azt a parancsot. De ha most lapozzunk le megjeleníthető párbeszéd, kezdhetjük látni, ahol A különbségek adódnak. Van funkciót mutatják párbeszédet, amely csak fog mutatni a párbeszéd. De amikor megmutatom ezt a párbeszédet, és amikor a show módszer neve, hogy a tüzek a sorsolás funkciót. És fogok majd adja Néhány tartalmat a belsejében, hogy. Szóval én csak fog hozzon létre egy div, adja hozzá néhány alapvető szöveg, Hello, world. De észre, hogy itt vagyok, majd csatolja hozzá egy azonosítót. És már a következő sort fogok meg, hogy ID JavaScript segítségével, és tárolja azt a tárgyat egy másik változót hogy én csak fog hívni tartalmat. Tehát most, amikor van tartalommal, csak annyit kell tennie csak módosítani a tárgy belső HTML. És a párbeszéd HTML fog majd módosíthatók is. Tehát amikor a plug-in is akkor látható, amely megtörténhet és ez egy új esemény ami új, hogy a plug-in, de történik minden plug-in a A párbeszéd, amikor ez már látható, Én fogom hívni a nevezett funkció letölteni info. És ez a funkció A húsa itt. Én fogom használni, hogy proc plug-in, leírtuk előtt, amely az úton, tényleg csak egy node.js könyvtár hogy Cloud 9 használ itt. Így tulajdonképpen felnéz, hogy ez hogyan működik, ha bemegy a Node.js dokumentáció és nézz fel az exec fájl Eljárás folyamatok vannak. Megyek futni a konkrét parancsot, otthoni Ubuntu munkaterületet szeminárium, ami az, hogy ugyanaz, hogy ugyanazt a parancsot, hogy én korábban létrehozott. Adjon hozzá egy aktuális munka könyvtár, csak hogy ultra biztonságos szempontjából a keretében, ahol ez működik. És egyszer, hogy már kitöltött és visszaküldött, Megyek futtatni ezt nevű függvény értelmezési kimenet. OKÉ. Tehát ez akkor fog végrehajtani A parancsot a helyi, vagy inkább A távoli Ubuntu fokon. Ha kapok vissza néhány információ, én vagyok, akkor Felhívom külön funkció nevű parse kimenet, hogy van ez az aláírás van, err, stdout, stderr, és elvégezzen néhány számítást ezen. Tehát, ha hibaüzenetet kaptam valamilyen egyáltalán, Én tényleg nézze meg, ha Hiba valóban van néhány adat. És ha igen, akkor azt módosítani fogja a belső HTML e tartalom objektum, amely a emlékszik, mi csatlakozik a párbeszéd A instantiattion az, hogy párbeszéd, vagy az első rajz a párbeszéd. Megyek csak annyit, hogy Valamilyen hiba történt. Most ez túlságosan leegyszerűsített. A hiba értéke jellemzően tartalmaznak valamit, ami hasznos, Talán hiba számát és Hiba a forgatókönyvet is. Vagy ha a script írta valamit standard hiba, hogy az adatokat lakott az adott paraméterben is. És tudtam, hogy egy kicsit óvatosabban, milyen hibát Én tényleg megmutassa az embereknek. De ez a leegyszerűsített példában elég jó most legalább látom, hogy mindez funkciókat. Egyébként, ha van nincs hiba, akkor én csak megy, hogy a nyers kimenetét, hogy a funkció a belső HTML e-tartalom elemet, majd frissíteni a plug-in és mutasd meg itt. És ez elég sok minden, ami Szükséges, hogy ezt futtatni. És így gondoljuk végig, majd hogyan működik, összességében. Amikor először betölteni a plug-in, csakúgy, mint az első plug-in, Megyek egy parancsot, hogy ez hozzáférhetővé semmit, hogy plug-in A Cloud 9, úgynevezett CS50 Szeminárium Dialog 2, kinek a felelőssége lesz futtatni ezen a kiállításon párbeszéd, amely emlékszik, valóban azt mutatják, a párbeszéd hogy az alább kért. Akkor fogok hozzá, hogy parancsot egy ablak menü így már hozzáférhető. És amikor ez a párbeszéd kérik fel kell tüntetni, Én pedig hozok egy kis info-re Az alapul szolgáló Ubuntu fokon használja a exec file parancs. Elnézést. Miután ez visszatért, és kapok néhány információ, akkor a kliens oldalon megint képes lesz feldolgozni kimenetét, hogy parancs és frissíti a belső HTML elemek hogy mi volt kötve korábban. És, hogy mi majd Ez a teljes körű plug-in amely lehetővé teszi számomra, hogy hozza információk ettől tetszőleges script hogy hoztunk létre a a mögöttes fokon. De ismétlem, ez tényleg fontos és valóban kulcsszerepet kiválni, ahol minden ezeket a dolgokat történik, hogy mi már mindezt kliens oldali kód, amely futtatja a böngészőben, és még nem rendelkezik hozzáféréssel a mögöttes fájlrendszer amíg ténylegesen megtett néhány ilyen parancsokat, amelyek által a Cloud 9 SDK mint proc, és néhány más is amelyek lehetővé teszik számunkra, hogy olvassa el néhány adat, vagy olvassa el néhány fájlt, ha szükségünk van hogy semmit az a fajta. Most ez egy kissé egyszerű példát. Vannak más dolgok, hogy mi talán akar csinálni is. Például, talán valóban akarjuk menteni néhány információ A kedvezmények. Vagy talán azt akarjuk, hogy Új preferencia ablaktábla vagy valami hasonló. Aztán, hogy van valami, amit vessen egy pillantást a Cloud 9 SDK hogy minél több információt. De ez tényleg elég az induláshoz. Szóval, csak hogy egy kicsit konkrétabb az, ahogyan ezeket a dolgokat funkciót, én meg akarom mutatni, csak még egy példa, amely mindössze néhány A kódot a statisztika 50 plug-in. És ezt a kódot alapvetően ezen példákon alapuló hogy már valóban láttam, de van néhány további biztosítékokat és még egy kis komplexitás érdekében eléréséhez néhány további dolog, hogy szeretnénk elérni. Például, ha azt akarjuk, hogy képes megmenteni néhány beállítást, akkor azt hozzá kell férniük A Beállítások plug-in, és minden alkalommal szeretnék olvasni néhány beállítást, Én például csatolja a különböző események a Beállítások plug-in. Tehát minden alkalommal a beállításokat piros, például a saját plug-in, ha fogok olvasni néhány beállításokat az elmentett tároló a felhasználó preferenciáit, akkor én is alapértelmezések egy adott helyen, egyedi preferencia, hogy JSON stílusú opciók fájlt, hogy már korábban mentett, amit láttam korábban. És ha én fogom írni Egyes beállítások rá, aztán can-- vagy amint azt vesszük észre, hogy a beállítások írtak az alábbiakra: mert például azok, beállításokat a felhasználó által módosítható akár közvetlenül a saját beállítások fájlt, vagy a preferencia ablaktábla megváltoztatta a beállításokat fájlt közvetlenül, majd Én valóban frissíteni néhány kód vagy frissítse a viselkedését én plug-in alapján azokat a változásokat, amelyek történt a beállítások fájl is. De tényleg, a többi is elég ez mennyire, hogy már láttad. Adjunk hozzá egy kevés, talán valamit, ami új. Tehát hozzá egy preferencia fájl, vagy inkább előnyben részesítik szélvédő, A beállítások ablakban, ami ismét megtalálja Több információért A Cloud 9 SDK olvasott nekem. De minden más elég sok, elég hasonló ahhoz, amit korábban láttunk, csak néhány további hibajavítás és néhány további védelmi és néhány további funkciók hogy a szolgáltatás az összes különféle dolgokat, amit láttam. Ha ténylegesen nem láttam még, lehet, hogy hogy vajon mi a mögöttes parancs a statisztika 50 ablakot. Ez valójában funkciót. Nos, ez is-- ó, a francba. Egy másodperc. Várj. OKÉ. Hadd mozgatni ezt fel, így mi is valójában meglátjuk, mi történik mikor írja statisztika 50. Figyeljük meg, hogy ebben az esetben, a parancsot, hogy kint vagyok üzembe valóban újra, csak a forgatókönyvet, ami fog kimenet egy csomó információt JSON formátumban. És az oka, hogy csináljuk Ily módon az, hogy azért, mert működnek, mert írtam A kliens oldali kódot JavaScript, akkor nagyon könnyen csak elemezni JavaScript objektumok, és tényleg képes manipulálni azok a tárgyak, mint mi lenne bármely más JavaScript objektum. És így ez egy nagyon kényelmes mód arra, hogy bizonyos információkat az alapul szolgáló Ubuntu például mint például a verziószám, a fogadó Íme, hogy egy szerver figyel, mi a szerver, így tovább és így tovább, és feldolgozni, hogy nagyon könnyen és gyorsan A plug-in, hogy ezután lesz hogy megmutassa az adatokat. Tehát ismét a kulcsfelismerése Itt szem előtt tartani, ez szétválasztását a mögöttes Például, és akkor is, ha a kód töltődik. Hogy amikor van egy ügyfél, ez az első betöltése. Csak ez a statikus JavaScript fájlt Valahol, talán CDN valamilyen. Nem igazán kell törődni túl sokat ezt az első lépést. Mi csak azt tudom, hogy ez az fut a kliens oldalon és akkor megyek kommunikálni ezzel a dokkmunkás fokon. Hogy fogunk erre a Cloud 9 SDK. Valójában nem képesek, JavaScript segítségével vagy node.js, hogy írjon közvetlenül hozzá. Mi csak használja ezeket a meglévő SDK API tenni, hogy lépéseket számunkra. És ismét, az egyik a igazán fontos dolgokat az, hogy mikor hozták létre ezt, amikor létrehoztuk ezt a plug-in, és ahogy dolgozom rajta, az egyik A legfontosabb dolog, hogy van, hogy ki a JavaScript konzol. Mivel mivel ez az egész működik a JavaScript, a kliens oldalon, ha használom Egy console.log method-- így csak példát mutatva itt. Próbáljuk módosításával ezt az egyszerű plug-in is jelentkezzen néhány adatot. És felteszünk szabványos ki. Szóval változtatni, hogy igaza van. Most, amikor végre console.log, ne feledje, hogy mivel ez a futtató a kliens oldalon, Látni fogom ezt a saját JavaScript konzol, amely Én így képes lesz majd a elhárításakor és hibakeresés néhány problémát, hogy van. Figyeljük meg, hogy azért, mert Én SDK állapotban vagyok akkor képes manipulálni plug-inek ebben az esetben. Tehát annak ellenére, hogy mentett az esetben, ez az egyik példa az, hogy a korábbi szabályt megsértik, ahol a Cloud 9 SDK valóban húzza plug-inek a mögöttes például majd futtatni őket. Annak érdekében, hogy ezen a módon, én vagyok, akkor képes manipulálni és a kivitelezést Néhány plugin itt. De ahhoz, hogy lássam frissül a plug-in, mert a kliens oldalon, Meg kell menteni, hogy plug-in majd újra az egész munkaterület, úgy, hogy az új plug-in, majd letölthetők az ügyfelem, rá a webböngésző, majd használják. Tehát most, amikor rákattintok ezt Szeminárium Dialog 2, még mindig látni ezt. De most remélhetőleg az én JavaScript párbeszédet, inkább tekintsük my-- várni, várj. Én lehet, hogy nyissa meg a párbeszédet állapotú. Meg kell látni a kapott adatok itt. Kapott adatok, Hello, Dan, amely emlékszik, volt console.log művelet kértük a plug-in. Szóval ez a leírás, akkor hogy már korábban említettem, E párbeszéd vagy ezt rajz inkább, hogy én említettük, hogy mi történik. De van egy fontos kivételt csak a fejlesztési, ami az, hogy a plug-in Maga talán valóban tárolható a dokkmunkás fokon átmenetileg, hiszen feltehetően Cloud 9 nem akarja, hogy képes legyen manipulálni tárgyakat a CDN. És a Cloud 9 ügyfelek, a feltöltés, megtalálja azokat a plug-inek, hogy. C9 plug-in mappát, és betölti azokat. De ezek még mindig történnek csak a kliens oldalon. Tehát akkor ez csak a egy kivétellel, hogy csak akkor következik be kidolgozásával Cloud 9 plug-inek. De a többi a time-- és az ok hogy szeretnénk igazán kalapács ezt home-- azért van, mert a legtöbb időt ez fog futni a CDN, és csak fog futni pusztán a kliens oldalon. Normális esetben nem lesz semmi interakció a plug-in, vagy ott nem is kell, hogy legyen bármilyen oka, hogy a plug-ins magukat ténylegesen tárolt a mögöttes dokkmunkás például kivéve abban az esetben, az SDK fejlődését. Szóval megint, ez nem változik meg, csak kissé mert az a tény hogy mi fut SDK módban. Ez lesz majd töltse be azokat plug-inek mind a fejlesztés, és az egyetlen cél itt az, hogy Tudom használni Cloud 9 csinálni fejlesztési A Cloud 9 plugin. De még így is, ez nem változtat újra, hogy bármelyik is működik ez. Még mindig űzik teljes mértékben a kliens oldalon. Ez csak azt jelenti, hogy amikor én akarom hozzon létre Cloud 9 beépülő Cloud 9, Én megteremtse azokat a plug-inek, tedd az én. C9 / plugins mappába az otthonomban könyvtár, győződjön meg róla, én vagyok a SDK módban, oldal újratöltődik minden alkalommal, amikor ténylegesen módosíthatja, hogy a plug-in, és meglátjuk, mi történik én JavaScript konzol. Csak kezelni a JavaScript vigasztalni, hogy győződjön meg arról, hogy minden hibaelhárítás információt, hogy helyezzen vigasztalni, vagy bármi más, ami történik hibák miatt, hogy én írtam a kódomat, vagy hasonlók, ott jelenik meg. És, hogy ez tényleg elég az induláshoz, azt hiszem, A Cloud 9 plug-inek. Különösen, hogy egy pillantást az SDK dokumentációt Cloud 9 biztosítja. Ez egy nagyszerű módja annak, hogy kezdődött, és nagyon könnyen létre néhány plug-inek Cloud 9. És ezzel meg szeretném köszönni Mindenkinek nagyon szépen csatlakoztak hozzám. Remélem, lesz móka írásban plug-inek Cloud 9. Talán javítása plug-inek hogy mi most, vagy talán még hozzátéve, néhány funkciót a saját. Bízunk benne, hogy látni hogy mit hozzon létre. Addig, viszlát.