>> 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.