>> DAN Armendariz: Pozdravljeni, in dobrodošli CS50 seminar o Prilagajanje Cloud 9,
in CS50 IDE.
Torej, danes bomo samo govoriti malo
o nekaterih tehnične informacije, ki
gre v ozadju za arhitekturo od Cloud 9, in kako
smo izvajali nekateri vtičniki kot del Cloud 9 zagotoviti CS50 IDE.
Torej, kaj je samo skok pravico v in začeli govoriti o vtičnikov.
>> Torej, plug-ins so res Na Jedro Oblak 9 izkušenj.
Cloud 9 je osnovna tehnologija ki zagotavlja, da nas IDE,
in tudi okno terminala na dno, skupaj z workspace--
Ubuntu workspace-- da smo uporabite za pripravo vseh naših projektov
in opravlja naš problem sklopov, izpolnite naš problem sklopov.
Ampak v srcu vse nje, vse tehnologije
je res samo kup vtičnikov.
Vse, kar je plug-in ki jih je mogoče spreminjati,
razširjena, lahko ustvarite lastne vtičnike,
lahko odstranite drugo plug-ins, da bo res spremenila
precej funkcionalnosti obstoječega Cloud 9 IDE.
>> Torej to je obstoječa Oblak 9 okolje.
To je res samo privzeto Cloud 9 okolje.
In si oglejte, kako je v resnici se razlikuje od CS50 IDE.
Torej je to CS50 IDE.
Opazili, da so nekateri vidni Spremembe med rednim Cloud 9
okolje in CS50 IDE.
Natančneje, boste opazili nekaj sprememb.
First of all, tam je manj Elementi menija za začetek.
Tam je pravzaprav način da lahko to spremenite.
Imenuje Simple način.
>> Privzeto je preprost način omogočen, in ki poenostavlja nekatere elemente menija.
To odpravlja nekatere od razvitejše,
ker odkrito povedano, veliko študenti, ki prihajajo v
in ne potrebujejo vedeti o nekaterih bolj napredne funkcije
niso preobremenjeni s kopico možnosti.
Ampak mi ne zagotavljajo možnost, da sprejmejo off teh tako imenovanih kolesi usposabljanja
in odstraniti, da odra, tako da ljudje
lahko postane bolj navajeni napredne funkcije IDE.
Takoj na pravica, da obstaja
tudi gumb za razhroščevanje, ki v standardni Cloud
9 okolje se preprosto imenuje tek.
Vendar privzeto, smo nastavljen gumb debug v CS50 IDE
bruhati razhroščevalnik, Samodejno prevede izvorno kodo,
priključite razhroščevalnik z osnovno GDB--
in ker, da teče za opravljanje debugging-- in nekatere druge ukrepe
kot dobro.
Tudi okno terminala na very-- oziroma terminal
Jeziček na odseku konzola za upravljanje na Okno na samem dnu zaslona,
se je preimenovala v preprosto terminal.
Ker je v standardu Cloud 9 okolje,
dejansko prikazuje teče aplikacijo.
Na ta način se poenostavi, spet GUI, samo malo.
>> Dodali smo tudi nekaj gumbov na zgornji desni strani IDE
pokazati nekaj osnovnih informacij o osnovni stopnji.
In tako smo odstranili eno možnosti na artikle
od skrajne desnice.
Torej je vse to izvaja ne s spreminjanjem nujno Cloud 9
izvorna koda, vendar namesto skozi par
vtičnikov, ki smo jih izvajali v preteklem letu ali tako.
In je Cloud 9 gosti in ima teče v delovnem prostoru CS50.
Oziroma v delovnih prostorih, ki so označeni kot CS50 IDES.
>> Torej res, da je glavna razlika med Cloud 9 in CS50
delovne prostore.
Tam je tudi v osnovni primer, primarni sprememba
da smo namestili nekaj prednastavljenimi postavke, kot GDB,
in nekatere druge osnovne stvari, ki jih smo ustvarili, kot Update 50,
in nekaj drugih korakov, ki omogočajo celotna izkušnja malo bolj
enotna.
Ampak na splošno, to je le sprememba obstoječega sistema
da je Cloud 9 ustvarjen za nas.
Kaj bomo pokazati malce kasneje
je, kako dejansko ustvariti nekoliko osnovno-vtič, da
nam omogoča, da vstavite nekaj tudi v novo Meni sistema, in odprla dialog.
In če imamo dovolj Tokrat bomo dejansko
videli, kako smo lahko zapolnijo, da dialog z nekaterimi informacijami
od osnovne stopnje.
Da bi za nas, da se tisti, ki točka, kaj je najprej govoril malo
o arhitekturi Cloud 9.
>> Torej tako, da smo uporabili za interakcijo z Cloud 9
je v celoti skozi stranko.
Smo odprli spletni brskalnik, vpišemo v CS50.io.
Bomo na koncu, po preverjanju pristnosti, so predstavljene z IDE.
Ampak zavedati, da obstaja nekaj korakov
ki nas dejansko prišli do te točke.
Prva stvar je, da moja stranka, spletni brskalnik,
na zahtevo in po preverjanju pristnosti, naloži GUI in vtičnike
iz neke CDN, od nekaterih Content Delivery omrežje.
To je lahko odkrito kjerkoli.
>> In to je dejansko ločena od osnovne stopnje.
Pomembno je, da se zavedaš, da je to v resnici le kup statičnih datotek.
To je kup JavaScript da se prenese iz CDN
na moji spletni brskalnik, in vse GUI, ki vas
glej here-- to je res key-- vse GUI, ki jih vidite tukaj
se izvaja na strani odjemalca.
Vse, kar vidite V delovnem prostoru Cloud 9
je dejansko teče v brskalniku.
In vse, kar ste poslali skupaj z osnovno primer
se sporoči s primer vzdolž tega drugega ločena kanala,
in se nato shranijo na da DOCKER primerka.
>> Torej razlog, da sem rekel, to je DOCKER instance
je, da je osnovni tehnologija se ne uporabljajo virtualne stroje,
ampak se z uporabo tehnologija, imenovana Lučki delavec,
ki v bistvu allows-- najbližje Analogija je virtualni stroj.
Vendar pa je nekoliko drugačna s tem, da obstajajo
veliko možnosti za zagon Kombinacija različnih DOCKER
primeri na enem samem stroju.
In se jih lahko zavrtel navzgor v zelo hitrem zaporedju.
Ni namreč bolj strogo razlikovanje
med različnimi DOCKER primerih saj so v virtualnih strojev,
vendar še vedno obstaja veliko diferenciacija in ločitev
med temi različnimi primeri.
V REDU.
Tako da je dva koraka tukaj, da je pomembno, da se zavedaš,
je, da ko gremo na CS50.io smo nalaganje GUI in vtičnike,
ki so napisana v JavaScript, o brskalnik ali brskalnik.
In to je morda nekaj megabajtov vredno informacij.
Na tej točki, ko GUI ima naložen in vtičniki so se začele,
Nato se začne komunikacijo s primerek Lučki delavec, ki ne
nujno morali biti isti strežnik.
>> Zdaj obstaja ena izjema.
Mi lahko dejansko imajo tako mehanizem za zagotavljanje GUI same
in primerek Lučki delavec v vsi isti strežnik, ki je
je pravzaprav nekaj, kar počnemo za offline različico Cloud 9.
To ni nekaj, kar smo jih oglaševana zelo to Fall,
vendar moramo poskrbeti tudi offline različica, ki
vam omogoča, da prenesete pakiran različica vse te stvari
in vam omogočajo, da delujejo Cloud 9 v offline okolju.
>> Moving to off oblak in na vaš lokalni stroj ima nekaj vpliva.
Še posebej, jih ne imajo več sposobnost
deliti svoj delovni prostor z drugimi.
Si ne more več odpreti Cloud 9 iz in CS50 IDE, iz katerega koli računalnika
in glej iste datoteke, ki ste delali s prej.
Toda namesto da deluje v celoti na svojem lokalnem stroju
ne da bi potrebovali dostop do interneta.
Vendar še vedno tudi v tem modelu, celo čeprav imamo eno stvaren stroj
da je v bistvu teče te stvari.
>> Imamo ločen strežnik, ki je dali v bistvu Cloud 9
vsebino, nato pa smo imajo DOCKER primerek
ki je odgovoren za sporočanje s tem IDE za zadnji konec.
V REDU.
Torej je celoten GUI pisno v celoti v JavaScript
uporabo Node.js in Cloud 9 SDK, ki jih bomo dobili v samo minuto.
In vsi vtičniki se izvajajo na strani odjemalca.
Torej, kaj je osredotočil nato malo, ob predpostavki,
da ima ta prvi korak dejansko uspešno zaključena,
in samo poglej te DOCKER stopnji.
>> Torej v tem primeru pa je to je standardni način
razmišljanja o tem Cloud 9 plug-in razvoj je, da boste
za pisanje kodo, ki bo se vodijo v uporabnikovem brskalniku,
in imate priložnost uporabo nekaterih API za komunikacijo
z osnovnega DOCKER primer, teči nekaj kode tam, in storiti ničesar
da boste morda želeli storiti.
Torej, to se bo kontekst, da bomo
uporabljali za preostanek tega pogovora.
In samo ne ta model v mislih.
To bo zelo pomembno v samo nekaj minutah.
Obstaja nekaj povezave Rad bi vam pokazal.
Najprej je Cloud 9, če precej dokumentacije
da je zelo dobro, da pokaže, kako narediti osnovno plug-in v razvoj.
Torej, če greš na ta URL, cloud9-sdk.readme.io,
boste videli dokumentacijo tam.
In veliko teh informacij da ste nadeja
je mogoče najti tudi tam, plus več.
Najdete lahko tudi open source različica Cloud 9 na tem URL,
github.com/c9/core, ki jih uporabljamo kot del različice offline na IDE,
tako da boste morali imeti enako Cloud 9 izkušnja,
vendar v offline način.
V redu.
Torej, kaj si oglejte na Dejanska Cloud 9 workspace tukaj.
In še enkrat, želim poudariti ven nekaj stvari.
To je tukaj, normalna CS50 IDE.
In sem onemogočil manj udoben način v meniju View
tako da lahko vidim vse možnosti menija.
Kaj hočem, da ti pokažem desno Zdaj je nekaj stvari.
Najprej, če grem v na Nastavitve in nato
kliknite na Plug-in manager, in tip v CS50 tukaj,
vidimo, da je v resnici Nekaj ​​CS50 vtičnikov, ki
so bili nameščeni in naš tek na omogočajo spremembe, ki smo jih
videl za CS50 IDE.
>> Zdaj pa je v bistvu dve vtičniki, ki se izvajajo.
Tam je ena imenovana navadna, ki je poenostavljen način, da
kar omogoča zmanjšanje števila možnosti menija ob vrhu,
in so tako imenovani manj udoben način.
In potem je tu še tudi CS50 statistika, ki je morda le nekoliko misnamed.
Ker to je tisto, kar prikazuje informacije
o delovnem prostoru osnovne.
To prilije te gumbe skupaj v zgornjem desnem kotu.
Prav tako prilije element menija Into The postavka okno, v meniju Window
tukaj, CS50 IDE Info.
In je odgovoren za instantiating ta dialog, ki smo jih tukaj videli,
z vsemi informacijami, ki sva vajen videti v CS50 IDE
delovni prostor.
V REDU.
Torej je dejansko eden bolj plug-in da smo razvili tudi.
In tam je nekaj drugih, ki smo prav tako ni javno objavilo.
Eden od njih pa je skupna plug-, ki omogoča GDB delovati.
Tako je eden od vidikov Cloud 9 je, da so že pod
to GUI za izvajanje razhroščevalnik.
In eno od vtičnikov, ki smo ustvarili v bistvu
kljuke GDB s tem GUI temelji različica razhroščevalnik.
In je odgovoren za posredovanje vseh o zahtevah, ki jih utegne imeti uporabnik,
med prestopanja ali ustvarjanje prelomnih točk ali karkoli
po teh progah, za prevajanje, ki ukazov, ki lahko GDB razumejo,
izdajo te ukaze GDB.
In kakor hitro GDB izda odziv, potem
razumemo, da je in posodobiti GUI, kot je potrebno.
>> To je verjetno ena izmed bolj zapletena
od vtičnikov, zato namesto tega kaj smo dogaja, da se osredotoči na danes, je v resnici
statistika plug-in se bomo pogovorili malo okoli Enostavno, kot dobro.
Zato sem omenil prej, in res želim da bo zelo, zelo jasno, da še enkrat,
vse to, da smo vidim tukaj je v bistvu
deluje na strani odjemalca.
Mi videli terminalsko okno spodaj, in da seveda
če vpišemo ukaze v da, ki bo nato izda
na osnovni stopnji.
Podobno je, če bomo odprli novo datoteko in tip nekaj stvari vanjo in jo shranite,
da datoteka bo shranjena na je osnovni primer.
>> Toda urednik sam, je to terminal okno sama
se vse izvaja v JavaScript in je vse plug-in
da lahko vplivajo, in zato spremeni.
Tam je veliko razširljivost tukaj.
Priporočam ob poglej na Cloud 9 je GitHub račun
videti veliko količino vtičniki, ki so na voljo,
in kako dobro napisana veliko kode je za raztezanja.
Torej je nekaj da bi rad omenil
O tem kot tudi, kar je da obstaja veliko of-- obstaja
veliko funkcionalnosti, ki je če v nastavitvah
okno, ki smo ga videli samo namiguje, da je le nekaj minut nazaj.
>> Ena od stvari, ki jih lahko storite, kot IDE razvijalci, ali kot Cloud 9 razvijalci,
je dejansko vnesti nekaj prednostne plošče iz naše lastne.
Torej preprost način, ali manj udoben način,
in tudi informacije IDE, ali statistika plug-in,
ima vsak neko prednost plošče, ki nam omogočajo, da spremenite
vedenje vsakega od teh.
Opazili boste, da če grem na Preference in pojdite na nastavitve uporabnika,
tam je zavihek CS50, ena ki pravi IDE podatke.
In ne morem spremeniti Podatki osveževanja stopnja.
>> Učinkovito, kaj se dogaja V statistiki plug-in
je, da vsakih n-sekund, kadar n-sekund je opredeljen s tem prednost
panel, se informacije pridobivate od osnovne stopnje, ki se pošiljajo
nazaj na strani odjemalca plug-in se nato
tolmačenje informacij od osnovne stopnje
in posodabljanje GUI, kot je potrebno.
Vidimo lahko, da je zdaj ta nastavljena 30 sekund, in to je privzeta nastavitev.
Ampak ne morem zagotovo spremenila kako hitro se to zgodi samo
s spremembo te vrednosti.
>> Zdaj pa ena od zanimivih stvari je, da je to prednost panel, GUI,
je res samo različica GUI lota osnovnih nastavitvah
ki so predstavljeni v JSON.
Torej, če grem na primer v okviru Meni CS50 IDE, ali meni Cloud 9,
odvisno od tega, različica, ki jo gledaš,
in pojdite na eno od teh settings-- v tem primeru,
Projekt settings-- nastavitve projekta, v tem primeru
velja za vse nastavitve za to en delovni prostor.
Ker velja uporabniške nastavitve na vseh delovnih prostorih
da ste morda v vašem računu.
>> Torej, tako kot prahi tod, da je tretja jasno,
obstaja ločitev med dva, ker čeprav privzeto mi
ima en delovni prostor, ki je je CS50 IDE, če vas
je bilo, da kliknete na tvoj mali avatar tukaj in pojdite na armaturni plošči,
boste ugotovili, da lahko dejansko ustvariti dodatne delovne prostore, kot tudi.
Tukaj lahko vidite, da sem se imela IDE 50 delovni prostor, in tudi
Za namene tega seminar, delovni prostor
imenovani delovni prostor, ki je tukaj.
Tako nekako, imam različne preference.
Vsak od njih ima lahko ločene projektne preference,
vendar so preference uporabnikov so razdeli med vse moje delovne prostore.
Mimogrede, to je Prav tako je zelo priročno, če vas
želite ustvariti delovni prostor z Različne možnosti prilagoditve.
In to je zelo priročno ustvariti nov delovni prostor.
In izberite eno, ki bi lahko predhodno nastavljen na drug način,
morda za PHP posebej, ali Django posebej.
Ali celo samo po meri.
Delovni prostor CS50 Šablona je tisti, ki smo
uporabiti, da samodejno namesti Update 50 in vse nastavitve
da imamo tam, vključno z vsemi plug-ins, ki jih imamo za CS50 IDE.
V REDU.
Ampak kaj je prišel nazaj v to.
Torej še enkrat, obstajajo projekti nastavitve, in to so tisti,
da iščemo tukaj.
In opazil, da tam kup nastavitev,
mnogi od njih ustreza preference plošče, vendar ne vsi od njih.
Vendar smo lahko videli, da je tu, v this-- oh no, sem ga dal v nastavitvah uporabnikov?
Morda sem ga dal v uporabniških nastavitvah.
In to, gremo.
V uporabniških nastavitev, bomo lahko videli, da imamo oddelek CS50,
in je to zapisano da s temi Cloud 9 vtičniki
ki smo jih izvajali.
Tam je preprost za ustrezajo s tem preprostim plug-in,
in statistika tista, ki ustreza temu GUI temelji
različica preferenčnega plošči.
Stopnja osveževanja, v tem Primer, ki je nastavljena na 20 sekund.
>> To je vse, upam, da se Začetki nekaterih informacij
da bomo dejansko videli v malo malo bolj podrobno, za trenutek.
V REDU.
Torej, recimo, da želimo dejansko dol z njo.
Zavedamo se, da so vse stvari ki se dogaja na strani odjemalca
se opravi dejansko na brskalnik, ki pomeni, da se vsi vtičniki, da pišem
se bodo pisno z brskalnikom v mislih.
In če sem dejansko želite storiti karkoli o delovnem prostoru,
Bom morda morali sprožiti neke vrste komunikacije
med brskalnikom in delovni prostor, da se prepričajte,
da je to dejansko opravljeno.
Ampak recimo, da je zdaj Hočem priti do tega
in dejansko ustvarjajo svoj prvi plug-in.
No, tako, da bi si lahko za to, da je pravzaprav zelo preprost.
To je glede na Cloud 9 SDK.
Ampak to je, da vzamete obstoječe ime, delovni prostor, ki je
je naslov, ki ga imajo na vrhu Vaše bar in dodajte naslednje njej.
?
SDK = 1 & debub = 2.
Zdaj, kaj je to se dogaja, da bi se da je SDK = 1 bo dejansko nastaviti SDK
način, da res, kar bo omogočilo nekaj dodatnih stvari.
In razhroščevanje = 2 vam bo omogočilo, sporočila o napakah biti malo bolj verbose.
>> In tako, če bruhati JavaScript konzola v zavihku razvijalec Chrome,
boste dejansko lahko videti veliko več informacij
kot bi jo sicer.
Zato vam priporočam, struženje oba ob istem času, ker je res
Koristno bi bilo vse to Dodatne informacije.
Pomembno je opozoriti, da je vklopu z odpravljanjem napak v vrednosti 2
pomeni, da je zelo verbose, in dejansko
bo nekoliko opazno upočasnila Vaše IDE, predvsem pri nalaganju
ali kdaj delaš težke naloge.
Torej, samo da se vodijo v mislih.
To je koristno za razvoj, vendar ne želite, da ga imate na ves čas.
>> Torej, kaj je dejansko naredil.
Toda v tem primeru, sem dejansko že vzpostavila delovni prostor s tem.
Torej, poglejmo, SDK = 1 & debug = 2.
Z nekaj vtičnikov upajmo že nameščen.
V redu.
Torej sedaj, da sem se obrnil na SDK debug Način, opazili, da smo v načinu debug,
tako da bomo lahko ogledate na orodjih dev videti kakršne koli napake, ki jo bom naredil offscreen.
Vidimo lahko, da obstaja kup napak tukaj.
Zdaj je pravzaprav precej pogosta za Oblak 9, da ima nekaj napak,
in jaz ne bi skrbeti o njih, dokler ne boste
videli nekaj, kar bi lahko specifična za plug-in
da se zgodi, da je treba ustvariti.
>> Torej tukaj, na primer, smo dobili Nekaj ​​404s-- ni bilo mogoče najti.
Vidimo, ne moremo naložiti nekaj Informacije off osnovni stopnji
sama.
In tam je kup dodatne informacije, predvsem pa to, da smo
dejansko dogaja, da prezreti za zdaj.
Ker to je precej skupno za delovni prostor
da ima le nekaj napak.
V REDU.
Grem, da se premaknete to iz način in pridi nazaj.
In zdaj enostaven način je lepo stvar ima ta razvijalec
omogočen način je, da mi omogoča da enostavno ustvariti nov plug-in.
>> Torej, ker je, preden sem dejansko ni ima ta nova plug-in možnost na voljo,
ki smo ga lahko videli, če grem nazaj moj non način razvijalec tukaj,
ni nova plug-in.
Z omogočanjem način SDK, sem imajo nov plug-na voljo
in sem lahko z lahkoto ustvarite.
V tem primeru, pa je nekaj različnih možnosti, preproste,
prazen plug-in, polno plug-in, monter, Cloud 9 snop.
Naj samo Izberite prazna plug-in za zdaj
tako da bomo lahko videli zelo preprosta različica enega.
>> Zdaj opazili, da vzdolž levo stran, da je tam zdaj
nekaj pod Favorites, ki je uvrstitev nekaj vtičnikov
ki so zdaj na voljo z mano.
Če sem razširiti, da bomo biti sposobni videti teh.
Sedaj želim, da obvestilo nekaj tukaj, ki
je, da se to dejansko ni vsebovala v imeniku delovnega prostora
na moji je podlaga Ubuntu primer, vendar je omejena na trdem disku.
In kje se ta nahaja, saj To je zelo koristno vedeti,
še posebej, če boš se delaš karkoli z GIT,
kjer se ta nahaja je v mapi .c9, / plugins.
Torej, če grem tja, lahko vidimo, da je zdaj seznam vtičnikov, ki so tukaj
ujema seznam vtičnike, da sem videla na levi strani mojega delovnega prostora.
>> Zdaj privzeto, in to je nekako čudno,
privzeto, ko sem ustvariti nova plug-in v delovnem okolju,
ustvarja to-vtič v tem, da s privzeto ima ime podčrtaj.
Na splošno, da bi povzroča nekaj težav.
Torej zelo naslednjem koraku da sem ponavadi opravljajo
je samo, da se odstranijo, da zlasti plug-in
in pusti le preprost plug-in, ki je bil tam na začetku, plugin.simple.
In to je le eden, ki je tam.
V REDU.
>> Torej, kaj to dejansko izgleda?
No, to je, še enkrat, paket JavaScript
ki vključuje nekaj datotek, vključno z plugin.js datoteko, kjer
glavna vsebina moj plug-in se nahaja,
package.json datoteka ki dejansko določa
nekaj metapodatkov o Ta plug-in, kot kdo je avtor,
kakršne koli dodatne informacije o tem, na Opis plug-in tako dalje.
In tudi privzeto, da ustvari prazno README datoteko,
in prazen preskusna datoteka za vas, da ustvariti nekaj dodatno dokumentacijo,
in testiranje plezalni pas, če želite, da to storim.
>> Torej, kaj je samo da si ogledate najprej na, zelo hitro, v spisu package.json.
To je enostavno dovolj, da samo gredo skozi je in izpolnite področjih to
da bi si želeli izpolniti, kot so mu zagotovi ime, opisati,
Ponovil številko različice vsako tako pogosto, zagotavljajo
avtor za vsako Oseba, ki prispeva,
jih dodajte vlagateljev oddelek, in ostali ta vas
lahko precej preprosto pustite, kot je za zdaj.
>> Obstaja ena stvar, ki je pomembno opaziti,
da v razdelku vtičnike, je ključni imenovani plug-in.
In ta ujema z imenom datoteka JavaScript imenuje plugin.js.
Torej, to je, kako Cloud 9 ve, kdaj jo bere to package.json datoteko, ki
od js datoteke dejansko naložiti.
Če sem ustvariti dodatne JS datotek ali želijo preimenovati to js datoteko s plug-in,
Prav tako sem moral spremeniti v datoteki package.json.
>> Vsa vprašanja iz občinstva?
No.
Da je ena oseba, ki je po skupaj z mano, tako daleč.
>> V REDU.
Torej, sem dejansko ustvaril Nekaj ​​vtičnikov že,
Mislim, da v tem delovnem prostoru.
Torej, kaj je znebiti nekaterih od teh, dodajte SDK = 1 & debug = 2, osvežite ta delovni prostor,
in da vidimo, če bomo imajo te vtičnike sedaj.
C9 / plugins.
Gremo.
Vidimo lahko sedaj v mojih C9 / plugins tega ena, imamo plugin.1 in plugin.2.
Torej bomo samo pospeši the-- samo povečati količino težavnosti
V vsaki od teh vtičnikov.
Ampak tukaj, če sem ustvariti nov plug-in, Jaz ga lahko dodate med moje priljubljene.
In bom šele izbrisati s tistimi iz osnovni datotečni sistem.
>> Oglejmo odstrani to.
Zdaj, če odprem moj prvi plug-in odprte plugin.js,
lahko vidimo tukaj, na katerem temelji preprosta različica plug-in.
Naj dejansko šel nazaj k temu drug delovni prostor
saj lahko vsaj tukaj vidite, kaj prazno plug-in dejansko izgleda.
Torej, pod pokrovom, to izgleda zelo podobno tehnologijo imenovano,
Mislim, da je RequireJS.
Opazili boste, da to ne res poglej, morda,
enako kot kakšno drugo JavaScript datoteke, ki morda smo videli.
Toda namesto, tam je nekaj le osnovne linije, da dejansko ima.
>> Vse te stvari je prvi IDE razlaga,
vendar to ni dejansko teči, dokler določeno.
In ti bom povedal o tem, kdaj, da dejansko pomeni samo trenutek.
Ampak obvestilo, da tukaj obstaja main.consumes linija v vrstici 2,
in to našteva vse vtičnikov da je ta plug-odvisni.
Torej privzeto, mi morda ne bi imeli morebitne odvisnosti od drugih vtičnikov,
ampak ko smo dejansko morali odvisna od značilnosti dobavljenih
drugih vtičnikov v IDE, moramo našteti vtičnike
v main.consumes liniji.
In potem moramo jih povezuje s kodo
spodaj, kar vam bom pokazal v samo trenutek o tem, kako lahko to storite.
>> Main.provides daje ime za ta plug-in
da drugi vtičniki lahko uporabili pri porabi liniji.
Torej, v tem primeru moj plug-in je samo privzeto ni nastavljena,
in bi morali spremeniti, da je to uporablja za lastne plug-in,
kot bomo videli v samo trenutek.
Zdaj tukaj v funkciji Glavno, ta funkcija glavna
dejansko vodijo in razlaga, vendar dejansko ne narediti zelo veliko.
To samo gets vse ustanovi, vendar dejansko ne začne plug-in,
kljub temu, kar je ime zveni.
To se dejansko dogaja s pomočjo zaporedje metod,
so vsebovane v celotnem Ta plug-in.
>> Torej, če sem se pomaknite navzdol, lahko vidimo, da imamo življenjskega cikla, kjer
na neki dogodek imenovan obremenitvi, ali kakšno prireditev raztovoriti,
nekateri dogodki dejansko zgodilo.
Res je tukaj, kjer kot plug-in začne, da so te metode imenujemo.
Torej, bodimo malo bolj konkreten o tem in si primer.
Torej, tukaj plugin.1, kaj Mi smo v bistvu naredili
je ustvariti menijske postavke imenuje CS50 Seminar Dialog 1--
saj imamo dva them-- in gremo
da jo vbrizgajte v meniju Window.
In ko smo kliknite na to, da smo bo odprla dialog, ki
nam kaže nekaj zelo osnovne informacije.
>> V tem primeru, samo zdravo svet.
To je torej zelo preprost Zdravo svet dialog
da bomo lahko izvajajo kot plug-in v Cloud 9.
Torej, da vidimo, kako to dejansko izgleda.
Bomo korak skozi njo, samo relativno hitro, zato smo
lahko ogledate na naslednji plug-in, kot dobro.
Opazimo, da smo tukaj porabijo različne vtičnikov.
Mi smo dolgotrajen dialog plug-in, ukazi menijev in vmesnik.
Izgleda, da sem dejansko sem zamudno dialog dvakrat, tako da sem lahko odstranite, da.
>> In opazil, da je na poti da sem jih povezujejo,
To je neke vrste metapodatkov, ki je povedal, plug-in sistem, katere zahteve
so dejansko potrebni Za ta plug-in za nalaganje.
Prav tako je pomembno omeniti, da nalog, ki so vtičniki naložen
ni zagotovljena.
Toda kaj je zagotovljeno, da če sem navesti nekaj plug-in kot zahtevo,
da je plug-in bo naložen preden je ta vstavljen.
>> Torej to pomeni, da če vaš plug-in zahteva, da na nekaterih funkcionalnosti, ki
nekaj drugega v IDE, morate se prepričajte, da vaš plug-potrošnikov je
da vtični tako da odvisnosti so prepričani, da ustvarite svoj plug-in,
ali sprožajo svoj plug-in, samo potem, da obstoječi okvir obstaja.
Torej, tukaj sem omeniti metapodatkov za plug-in manager,
katere sem bom uživati.
In v glavnem funkcija tu, Bom nato priključite
moja koda za tiste uvožene vtičnikov.
>> Tako da sem le, da bo ustvariti nekaj spremenljivk, ki
ujemajo imena vsakega od tistih, ki tako da lahko zelo hitro jih reference
v mojem kodo.
Razlog, da sem uvoznica dialog je zato, ker želim svoj plug-in
da deluje kot dialog plug-in.
In način, da sem sposoben za to je, da se, seveda,
povezati moj kodo k dialogu plug-in, ki ga uvaža
in nato z navedbo, ki ga ustvarja novo spremenljivko dialoga
in ga priključite na da uvožena plug-in.
In potem z opredelitvijo my vtični kot novega dialoga.
>> Torej v inicializacijo, I želite definirati svoj plug-in.
In ta spremenljivka se imenuje plug-in boste videli
uporabljate le navadno celotnem Cloud 9 vtičnikov.
Bom sprožajo nova dialog z nekaterimi lastnostmi,
izročiti to posebno ime, pravijo, da je to je omogočiti uporabnikom, da jo zaprete.
To bo pokazal malo X v v zgornjem desnem kotu strani,
ali malo gumb v spodnjem desnem kotu strani.
Ali ne morem izberete besedilo iz to, kaj je naslov tega dialoga
bi bila, in tako naprej.
Zdaj je to samo opredeljuje dialog, vendar to še ne pokažejo.
Pravzaprav sem moral definirati tožba zaradi njega bodo prikazani.
>> In še enkrat, vas pozivam, da si oglejte na Cloud 9 SDK,
ker obstajajo različne dialoge in so zelo dobro dokumentirani.
Ogledate si lahko različne vrste da obstajajo, in jih uporabiti
ne glede na plug-in imate v mislih.
Zdaj pa se dogaja, da je oddelek obremenitev in ta obremenitev
funkcijo kot se spomnite, je s vtičnega življenjskem ciklu uporabljena
da dejansko sprožajo vse in dobili vse pripravljeno za odhod.
Zdaj, ko Ta plug-in obremenitve, jaz ne želim, da bi takoj prikaže dialog,
ker je ta plug-in bo obremenitev skupaj s preostalim delom IDE.
In ko sem naložiti to IDE, nočem dialog, da pokažejo samodejno.
Jaz samo želim, da bi prikazal, ko sem kliknite na možnost menija v mojem menija Window
da bom dodamo, da je trenutek.
>> Torej je dva različna korake tukaj, da se to zgodi.
Moram ustvariti ukaz in ukaz
bo odgovoren za dejansko prikazuje dialog o Cloud 9 IDE.
In potem moram za povezavo, sem ustvariti nov meni okno
postavka, ki teče ta ukaz.
Tako, da ko sem kliknite na to okno menu item, da ukaz je potem run
in zato je moj dialog nato prikazani.
In zato je to pravzaprav zelo lep način razmišljanja o tem.
>> Ker sem prvič lahko ustvarite ukaz čigar ime je CS50 Seminar Dialog 1,
ki zagotavlja nekaj splošni okvir za to.
In pomembno bit tukaj je, da Opazili EXEC atribut, ki
navaja funkcijo, ki se bo imenovala v mojem plug-in, kadar je ta ukaz teči.
Tako da je ta ukaz je nekaj podobnega a-- je samo poljubna Cloud 9
ukaz, ki je na voljo za vsako Cloud 9 plug-in.
Vendar je dejanska funkcija, ki je bo poklical, ko je ta ukaz teče
je funkcija show dialog v mojem plugin.js datoteki.
>> In bomo lahko dejansko videli ti plug-ins in seznam
ukazov, ki so nam na voljo v Preference, se pomaknite vso pot down--
Poglejmo, dejansko ne vidimo zdaj to?
Plug-in manager, no, mislim, da I-- je zagotovo nekje tukaj.
No, tam je seznam ukazov nekje, vendar moram imeti,
Sem pozabil, kje je.
Torej OK, bomo korak naprej.
V redu.
Torej imamo seznam ukazov ki so nam na voljo,
in ti ukazi so ti samo arbitrarno Cloud 9
Ukazi, ki vodijo posebno kodo.
Torej, samo da se vodijo v mislih, da je bomo teči okno show
delovati za trenutek.
Zdaj, ko sem dejansko želite dodati menu postavko, lahko dodam, da je element po poti,
in samo določiti točno tam, kjer želim da je to, Window / CS50 Seminar Dialog 1.
In na tej točki, želim ustvariti nov element, ki
se dogaja, da zaženete ukaz, CS50 Seminar Dialog 1.
Spet opazili, da je to Cloud 9 Ukaz sem ustvaril samo zgoraj.
>> Zdaj tudi jaz želim, da ustvariti malo delilnik,
in da bom lahko storijo enako v naslednjem liniji.
Sedaj boste morda opazili, da kot del opredeljuje ta element menija,
tam je število povezano z njo, ki
dejansko pravi, kje točno Rad bi, da je to točka menija
ki se nahaja v seznamu menijev.
Vendar boste morda opazili, da sem dejansko ne
vidim nobenih številk z ti meniji, ki ga privzeto.
Tako da je malo skrito stvar, ki lahko storimo, malo sprememb na našem naslovu.
Torej, poleg tega, da SDK = 1 & debug = 2, Bom nastavljen meni, da 1--
in upajmo, da je meni, ne menijev.
Oh, to je meniji = 1.
Počakaj.
>> In kaj bomo videli, ko ponovno naložiti, da IDE je, da sem še vedno v načinu debug,
zdaj pa so številke povezana z vsemi meniji.
In to vam pove, točno to, kar se je število
je, ko poskušate injicirati nekaj kjerkoli v tem sistemu menijev.
Torej v meniju Window, sem lahko glej to postavko 45 je Sodelujte,
in postavka 38, preden je namestitveni program.
Torej, če želim injicirati postavka med tema dvema,
Jaz bi samo izberite številko med teh dveh predmetov.
Tako sem izbral 41 in vstavijo svoj seminar Pogovorno postavka 1 menija na tej lokaciji.
>> In to je, zakaj je ta številka da tu pojavi, je številka 41.
Da je lokacija, ki menijski element v meniju Cloud 9.
Zdaj podobno, sem si želel ustvariti delilnika
in ga dodate tako, da je lepo delitev med vsako od teh meniju
postavke.
Tako sem dodal, da je na mestu 43.
Doslej je tako dobro, upam?
Torej, zdaj pa je dejansko videti na posebno kodo v pogovornem oknu oddaji
da je pravzaprav odgovorna Za odpiranje tega pogovornega okna.
>> Drsenje navzdol, vidim, da hočem da je to funkcija kažejo pogovorno okno,
in to je zelo preprosta.
Jaz grem teči show Postopek na plug-spremenljivko.
In ne pozabite, da smo definirali ta plug-spremenljivko predvsem kot dialog.
Torej bar plug-, v tem primeru je to objekt, ki smo opredeljena interno.
In to se dogaja, da nov dialog vsebovane v Ta plug-in.
In tako smo dejansko sklicujemo to plug-in spremenljivke v mnogih krajih
v tipični Cloud 9 razvojno okolje.
>> Bomo videli tukaj.
Obvestilo, da ko smo se pomaknite navzdol, tam je dodatni življenjski cikli.
Tako opazili, da se ti odzivajo na dogodke, ki so žgani
s tem predmetom, ta predmet dialoga.
Privzeto, tam je nakladanje in razkladanje, ki
so na voljo vsem Cloud 9 vtičnikov.
Toda v primeru ta dialog, tam je
en dogodek, ki lahko požar tudi imenovani
Draw, ki je odpuščen, ko je ta je na tem, da se pripravijo na zaslonu,
na prvi stopnji dialoga prikazuje.
>> Torej, ko je dejansko bodo pokazale,
tam se dogaja, da ki nam nekaj HTML.
In z uporabo le standardne HTML prakse lahko
injicirajte nekaj zelo preprostih informacij, naš zdravo svet, v tem dialogu.
Torej, če smo se pomaknite navzgor, smo lahko glej nato procesijo stvari
da se pojavljajo.
Najprej smo ustvarili ukaz Cloud 9 da kadar jo izvaja oblak 9,
se dogaja, da ogenj to funkcijo.
To se dogaja, da vodijo to funkcijo imenuje predstava dialog, da sem
napisano v moji kodi.
>> Ustvaril sem element menija in v zvezi z njo, da je ista zapoved
da, ko je ta postavka kliknili na meni, da ukaz se nato zaženite
in da se funkcija nato teči.
In znotraj funkcije sem šele tekoč, da pokličete the-- sem
le, da bo za izvedbo show metoda Ta plug-in, ki
se dogaja, da prvi razpis metoda žrebanje, in tekoč
požaru, to metodo dol spodaj pripraviti dogodek trener, v našem življenjskem ciklu.
In potem se bo dejansko pokazati dialog.
>> Tam je tudi metoda hide, tako da če moram priložnost za skrivanje
moj dialog, ne morem narediti isto stvar.
Torej, to je precej, da da se vse to delo.
Obvestilo, da je, če smo se pomaknite navzdol nadalje tam zamrznitev javnih API.
Ta v bistvu samo pravi, da sem rad te metode za učinkovito
so javne, vendar ne overwriteable izven konteksta tega plug-in.
In spodaj, na samem dnu, je morda zadnja stvar
da bomo res morali plačati veliko pozornosti tukaj, ki
je, da se bomo za registracijo naše plug-in z imenom C9 seminar 1,
in objekt plug-in.
>> Ki je, kot se spomnite, je da-vtič v ta plug-in
objekt, ki smo jih opredeljuje vsej celoti tega vira
koda.
In C9 Seminar 1 je niz, ki smo obljubili
zagotoviti na vrhu te opredelitve.
V REDU.
Torej, kaj je to ramp up malo in videli, če lahko naredimo nekaj
malo bolj zanimivo.
Zdaj je to samo tako velik.
Mislim, da je to, da je dejansko precej cool, da je v tako nekaj vrstic kode,
moremo spremeniti obstoječo IDE in dodajte obstoječi element menija
ali dodate nov element menija, dodamo ukaz, in kažejo dialog,
in samo kup funkcionalnost, ki obstaja.
To je res zelo velika.
>> Ampak to ne naredi veliko, ker ne more komunicirati z osnovnega Ubuntu
instance.
Torej, recimo, da sem dejansko želijo izvedeti
nekaj informacij o osnovni Ubuntu primerek,
kot statistika plug-in počne.
Torej, vzemimo si na malo več informacij
o tem, kako statistika plug-del.
In dejansko je zelo podoben temu.
Morda se boste spomnili, da je tam je dialog.
Morda se boste spomnili, da obstaja nekatere informacije, ki jih je
prikazani samo vzdolž menijski vrstici skupaj top, ki upam, da ste zdaj
dobili okus kako to smo izvajali,
samo z vstavitvijo elementov menija na specifične točke in jih instantiating dialog
in prikazovanje tega dialoga.
>> Vendar smo še niso pokazale si, kako ga lahko priključite
na ukaz v osnovni Ubuntu primerka.
Torej, dajmo si oglejte nato na plugin.2, ki počne prav to stvar.
Bomo odprli plugin.js, ki je oznaka za to.
Ampak v meniju Window, če sem kliknite na pogovorno 2,
lahko vidimo, da pravi, da to namesto, zdravo CS50, ki
ne zgleda vse to vabljiv, kajne?
Razen, pazi to.
Naj nekaj spremeniti tukaj.
>> Bom šel na moj Delovni prostor in spremembe seminar
reči nekaj drugega, kot Pozdravljeni, Dan.
Jaz grem, da ga zapre in ga shranite.
In zdaj bom ponovno tek moj meni dialog postavka.
In opazili, da ima zdaj spremenilo, kaj piše.
Pozdravljeni, Dan.
Zdi se mi, da so naredili nekaj dol tukaj, v katerem temelji Ubuntu primer
ne da manipulira kateremkoli kodo, ki spet deluje izključno
na strani odjemalca.
Torej je očitno nekakšna komunikacija, ki se dogaja tukaj.
>> Zdaj je to, kjer je veliko izmed Moč Cloud 9 SDK pride,
je, da v tej plugin.2, bomo lahko dejansko povzroči
poziv, da se zgodi na osnovni primer,
in teči nekaj samovoljno ukaz.
Torej, v tem primeru imam pravzaprav ustvarili zelo preprost bash skripta
v mojem delovnem prostoru imenuje seminar.
Torej mi odpre da gor.
In vidimo, da je videti takole.
To je samo zelo enostavna bash skript, katere edini namen v življenju
se bo za echo iz tega besedila, Hello, Dan.
Ali pred njim, je dejal Pozdravljeni, CS50.
In to je vse, kar se dogaja, da storiti.
>> Zaradi tega je zdaj ukaz, da sem lahko teči.
Jaz lahko dejansko teče tukaj.
Vidimo, da je v resnici le ukaz, da tečem v naravi.
Znam postavljati svoj plug-in za izvedbo tega Ukaz o delovnem prostoru osnovnega
in razčleniti podatke ki je bil vrnjen iz njega,
in nekaj storiti z njim, in spremenite moj plug-in vedenje, da sem
v mojem plug-in, kot rezultat. V REDU.
Torej, da vidimo, kako se to zgodi.
Smo videli, je to zelo preprosta Seminar serija scenarij, ki sem
[Neslišno], da lahko dejansko vozijo.
>> In zdaj poglejmo sprememb ki so potrebni za kravato to skupaj
z pogovorno okno, in ga zaženite.
Torej, tukaj bomo storili precej precej ista stvar kot smo videli prej.
Ampak obvestilo, da je med Stvari, ki sem jih porabijo now--
poleg dialoga, ki Spet sem se zgodi, da so naredili dvakrat,
ki ni necessary-- poleg k dialogu in ukazi
in meniji plug-ins, ki so bile potrebno prvo zame
definirati nov ukaz in vbrizgajte element v menijih,
Imam tudi to proc plug-in.
>> In to proc plug-in omogoča nam manipulirati procesov
na osnovni stopnji.
Sem ga povezan ko sem je dejal, da je moja plug-in to zahteva.
Sem jo nato povezan s kodo, kot smo videli v glavno funkcijo.
Spet bom inicializacijo moje dialog.
In če gremo dol sedaj smo lahko vidite, kako je to drugače.
Funkcija obremenitev enaka, zato to je le, da bo ustvariti ukaz
in ustvariti element menija in povezati da je element menija za ta ukaz.
Ampak, če smo zdaj pomaknete navzdol pokazati dialog,
bomo lahko začeli videti, kje pojavijo razlike.
>> Imamo funkcijo kažejo dialog, ki je le, da bo pokazal dialog.
Toda, ko sem pokazati tega dialoga, in ko je predstava metoda, imenovana,
da sproži funkcijo risani.
In grem nato določite nekatere vsebine znotraj tega.
Tako da sem le, da bo ustvariti div, da ji posreduje
nekateri osnovno besedilo, Pozdravljen, svet.
Ampak obvestilo, da tukaj sem dogaja, da se veže nanjo ID.
In že naslednji linija hodim da bi našli, da je ID uporabo JavaScript,
in shranjevanje, da predmet v drugo spremenljivko
da sem šele tekoč, da pokličete vsebine.
>> Torej, zdaj, ko sem imel vsebino, vse, kar morate storiti,
je samo spreminjanje tega objekta je notranje HTML.
In HTML dialog bo Nato je treba spremeniti tudi.
Torej, ko je ta plug-in Nato je prikazano, kar se lahko zgodi
in to je nov dogodek da je nova Ta plug-in,
ampak se zgodi v vsakem plug-s dialog, ko je to sedaj pokazala,
Bom poklicati Funkcija se imenuje puščati info.
In ta funkcija meso tukaj.
Bom uporabil ta proc plug-in, ki smo že prej opisali, ki mimogrede,
je res samo knjižnica Node.js da Cloud 9 se uporablja tukaj.
>> Torej si lahko dejansko poglej gor o tem, kako je to
deluje, če gredo v Node.js dokumentacija
in poglej gor exec datoteko metoda za procese tam.
Jaz grem teči Ta posebni ukaz, domov workspace Ubuntu
Seminar, ki je, da je enak tistemu, ki Isti ukaz, ki sem ustvaril prej.
Zagotoviti se ji sedanjem delovni imenik, samo
da bo ultra varna v odnosu na kontekst, če ta teče.
In enkrat, da je izpolnijo in vrnejo,
Jaz grem teči to Funkcija se imenuje razčleni izhod.
V REDU.
Torej, to pa se dogaja, da izvrši ukaz na lokalni oziroma
daljinski primer Ubuntu.
Ko se vrnem nekaj informacije, da sem potem
dogaja, da pokličete ločeno funkcijo imenuje razčleni izhod, da
ima ta podpis tukaj, err, stdout, stderr,
in izvesti nekaj računanje na to.
Torej, če sem dobil napako neke vrste sploh,
Bom dejansko preverite, če Napaka dejansko ima nekaj podatkov.
In če je tako, potem bom spremeniti notranja HTML te vsebine predmeta, ki
se spomnite, smo povezan z dialogom
na instantiattion tistega dialog, ali na prvi risbi
tega dialoga.
Jaz bom samo rekel, da je nekaj napak se je zgodilo.
>> Zdaj je to preveč poenostavljeno.
Vrednost napake običajno vsebuje nekaj, kar je koristno,
morda število napak in Napaka iz same skripte.
Ali pa, če scenarij napisal nekaj standardne napake,
da so podatki, ki bi poseljena V ta parameter, kot tudi.
In jaz bi se lahko malo bolj previdni o čem napaki
Jaz sem pravzaprav prikazuje ljudi.
Toda to poenostavljeno primer je dovolj dober za zdaj
da vsaj vidim, kako vse te funkcije.
Sicer pa, če obstaja nobene napake, potem sem samo
bo zagotavljala surovi izhod iz te funkcije
V notranjo HTML te vsebnosti element in nato posodobite svoj plug-in
in ga pokazati tukaj.
In to je precej vse, kar je je potrebno, da se to, da delujejo.
In tako da je razmišljati o tem, potem kako to deluje, na splošno.
Ko sem prvič natovorjeno Ta plug-in, tako kot prvi plug-in,
Bom dodati ukaz, ki je na voljo za karkoli, za vsako plug-in
V Cloud 9, ki se imenuje CS50 Seminar Pogovorno 2, katerega odgovornost
bo za zagon ta show Dialog, ki se spomnite,
bo dejansko pokazal dialog da sem zahteval spodaj.
>> Potem bom dodati, da ukaz v meniju okna
tako da imam dostop do tega.
In ko je ta dialog je zahteval, da se prikažejo,
Bom puščati nekaj informacij iz osnovni Ubuntu instance
z ukazom exec datoteke.
Oprostite.
Ko je ta vrnil in sem prejel nekaj informacije, nato pa na strani odjemalca
spet bom lahko razčleniti izhod navedenega ukaza
in posodobiti notranja HTML elementov
da smo povezani s prej.
>> In s tem smo takrat imeli To popolnoma funkcionalen plug-in
ki mi omogoča, da puščati informacije od tega samovoljno skript
da smo ustvarili na naša osnovna primerka.
Ampak še enkrat, to je res pomembno in res ključ
izločiti kjer vsaka od teh stvari se dogaja,
da so vse te stranke strani Koda, ki se vodijo v brskalniku,
in še nima dostopa k osnovni datotečni sistem
dokler ne bomo dejansko vodijo nekatere od teh ukazi, ki so na voljo, ki jih Cloud
9 SDK kot proc, in nekaj drugih, ki so ki nam omogočajo, da preberete nekaj podatkov,
ali preberite nekaj datotek, če bomo potrebovali storiti ničesar takega.
>> Zdaj je to nekoliko preprost primer.
Obstajajo tudi druge stvari, ki jih bi morda želeli narediti, kot dobro.
Na primer, morda smo dejansko želite prihraniti nekaj informacij
s preferencami.
Ali pa morda želimo dodati novo podokno preference
ali kaj podobnega.
Potem pa, da je nekaj, kar vas Lahko si oglejte na Cloud 9 SDK
, da bi dobili več informacij o.
Ampak to je res dovolj, da bi začeli.
Torej, samo, da je malo bolj konkreten o tem, kako, da so nekatere od teh stvari
funkcija, nisem želeli le pokazati še en primer, ki je le nekaj
kode od Stats 50 plug-in.
>> In to kodo je v bistvu Na podlagi teh primerov
da ste dejansko videli, vendar ima nekaj več zaščitnih ukrepov
in ima nekaj več kompleksnosti, da bi doseči nekaj dodatnih stvari
ki jih želimo doseči.
Na primer, če hočem biti sposobni rešiti nekatere nastavitve,
potem moram imeti dostop s Nastavitve plug-in,
in vsakič, ko hočem brati nekatere nastavitve,
Jaz lahko, na primer, se veže na različne dogodki v nastavitvah plug-in.
Torej, vsakič, ko se nastavitve je rdeča, na primer, v moji plug-in,
če bom prebral nekaj nastavitve iz shranjenega shranjevanje
nastavitve uporabnika, potem sem lahko nastaviti privzete nastavitve za določeno lokacijo,
za posebno prednost v tem, da JSON možnosti slog datoteke, ki smo jih
prej shranili, da smo videli že prej.
>> In če bom pisati nekatere nastavitve v njej,
Nato sem can-- ali takoj, ko zazna da so nastavitve napisana
to-- saj na primer tiste, nastavitve so bile spremenjene s strani uporabnika
bodisi neposredno v svojih okoljih datoteka, ali podokno prednost
je spremenil nastavitve vloži neposredno, potem
Lahko dejansko posodobiti nekatere kode ali posodobiti obnašanje mojega plug-in
na podlagi teh sprememb, ki so prišlo na datoteko z nastavitvami, kot dobro.
Ampak res, preostanek pa je precej še to, da ste že videli.
>> Smo dodali nekaj, morda nekaj, kar je novega.
Tako smo dodali datoteke z nastavitvami, oziroma plošče preference,
na okno z nastavitvami, kar spet boste lahko izvedeli več informacij
V Cloud 9 me SDK prebrati.
Ampak vse ostalo je precej, precej
podoben temu, kar smo videli doslej, le z nekaj dodatnimi preverjanje napak
in nekatere dodatne zaščite in nekatere dodatne funkcionalnosti
da imajo vse različne Stvari, ki smo jih videli.
Če imate dejansko ne videl še, boste morda
se sprašujete, kaj je podlaga ukaz je v oknu Stats 50.
To je pravzaprav funkcija.
No, to is-- oh, prekleto.
Eno sekundo.
Počakaj.
V REDU.
Naj to premikanje gor tako da bomo lahko dejansko videli, kaj se zgodi, ko sem tipa statistika 50.
Opazimo, da je v tem primeru, ukaz, da sem ven dajanje
je res še enkrat, samo scenarij, ki je bo izhod kup informacij
v formatu JSON.
In razlog, da to počnemo Na ta način je, da zato, ker mi
delujejo, ker smo pisno strani odjemalca kode v JavaScriptu,
bomo lahko zelo enostavno samo razčleniti JavaScript predmetov,
in res lahko manipulirati ti predmeti, tako kot mi bi
kateri koli drug predmet JavaScript.
>> In tako je to zelo priročno način zagotavljanja nekaj informacij
od osnovnega Ubuntu primer, kot številko različice, gostitelja
ime, ali je strežnik posluša, kaj je strežnik, tako naprej in tako naprej,
in razčleniti, da je zelo enostavno in zelo hitro
v plug-in, ki se potem dogaja da nam pokaže vse te informacije.
Torej še enkrat, ključni vpogled tukaj v mislih,
to ločitev osnovni primer,
in tudi, če je koda, ki je naložen.
Da če imam stranko, to je prvi loading.
Samo ta statična datoteka JavaScript od nekje, morda CDN neke vrste.
Ne bomo res morali skrbeti preveč o tem prvem koraku.
>> Vemo samo, da je tek na strani odjemalca
in da je, ko grem komunicirajo s to DOCKER primer.
Da bomo za to skozi Cloud 9 SDK.
Mi dejansko ne imeti sposobnost, uporabo JavaScript ali Node.js,
neposredno pisati z njo.
Pravkar smo uporabili tiste obstoječe SDK API storiti to dejanje za nas.
In spet eden res pomembne stvari
je, da ko sem to ustvaril, ko sem ustvaril ta plug-in,
in kot sem delal na njej, ena od pomembnih stvari za početi
je, da bi do konzolo JavaScript.
>> Ker, saj je to vse ki delujejo na JavaScript,
na strani odjemalca, če uporabim console.log method-- tako samo
pokazati zgled tukaj.
Poskusimo spreminja ta preprost plug-in se prijavite tudi nekatere podatke.
In bomo dodali standardni out.
Torej, kaj je spremenilo, da je to prav tukaj.
Zdaj, ko sem izvršiti console.log, imejte v mislih,
da, ker je to tekmovanje v teku na strani odjemalca,
To bom videl v moji Konzola JavaScript, ki
je, kako se bom potem lahko poskušajo odpraviti in razhroščevanje
nekatere težave, ki jih imam.
>> Obvestilo, da zato, ker Jaz sem v načinu SDK, sem
potem lahko manipulirati vtičnike na tej stopnji.
Torej, čeprav je shranjene na tej stopnji,
to je en primer, ki prejšnji kršene pravilo, če je Cloud 9
SDK bo dejansko potegnite vtičnike iz osnovni primer in jih nato teči.
Tako, da na ta način, da sem potem sposobni manipulirati in gradnjo
Nekateri vtičniki tukaj.
Ampak, da za mene, da vidim posodobitve Ta plug-in,
zato, ker je na strani odjemalca, Moram rešiti to plug-in
in nato osvežite delovni prostor celotno, tako da novi plug-Nato
prenesli na mojo stranko, na mojo se uporablja spletni brskalnik, nato pa.
>> Torej, zdaj, ko sem kliknite na seminarju Pogovorno 2, smo vedno videti.
Zdaj pa upam, da v mojem JavaScript dialog, bi morali videti my-- čakati,
počakaj.
Mogoče bom moral odpreti svežem dialog.
Moje prejete podatke smo morali videti tukaj.
Prejeti podatki, Hello, Dan, ki se je spomnite,
je console.log operacija, ki smo zahtevali v plug-in.
Torej, ta opis pa da prej sem omenil,
ta dialog, ali je to diagram, namesto, da sem
prej omenil, je, kaj se zgodi.
Ampak tam je pomembna Izjema samo za razvoj,
in sicer, da vtični sama lahko dejansko
se shranijo na DOCKER primer začasno, saj menda Cloud 9
ne želijo, da bi lahko manipulacijo predmetov na njihovo CDN.
>> In Cloud 9 stranke, ob nakladanju, bodo našli tiste vtičnike v to.
C9 plug-in mapo in naložite tiste.
Toda tisti, ki še vedno dogaja samo na strani odjemalca.
Torej je to le izjema, ki se pojavi le
za razvoj Cloud 9 vtičnikov.
Toda preostalim time-- in razlog
da želimo, da bo res kladivo to home--
je zato, ker večino časa je to bodo teče iz CDN,
in le, da bo treba teči izključno iz strani odjemalca.
>> Običajno bo prišlo do nobenega interakcija s plug-in,
ali pa sploh nima, da je vsaka Razlog, da se plug-ins
so dejansko shranjeni na osnovni DOCKER primerek,
razen v primeru ta razvoj SDK.
Torej še enkrat, to spremeni samo včasih zaradi dejstva
da smo se izvajajo način SDK.
To se dogaja, nato pa naložiti tistim, vtičnike od razvoja,
in je edini namen tukaj je tako, da Lahko uporabite Cloud 9 storiti razvoja
za Cloud 9 vstavkov.
Ampak kljub temu to ne spremeni spet, kako vse to deluje.
To je še vedno teče v celoti na strani odjemalca.
>> To samo pomeni, da vsakič, ko hočem ustvariti Cloud 9 vtičnike v Cloud 9,
Sem ustvariti te vtičnike, jih dal v mojem.
C9 mapo / plugins na mojem domu imenik, poskrbite, da sem v načinu SDK,
osvežite stran vsakič, ko sem dejansko spremenite ta plug-in,
in videti, kaj se dogaja v moj Konzola JavaScript.
Samo upravljanje mojo JavaScript tolažimo se prepričajte,
da vsak odpravljanje težav informacije, ki jih oddam potolažiti,
ali karkoli drugega, ki se lahko pojavijo zaradi napak, ki sem jih napisal
v mojem kode ali podobno, se pojavi tam.
>> In s tem, da je res dovolj, da bi začeli, mislim,
z Cloud 9 vtičnikov.
Še posebej ob pogled na SDK Dokumentacija, ki Cloud 9 določa.
To je odličen način, da bi dobili začela, in zelo enostavno
ustvariti nekaj vtičnike za Cloud 9.
In s tem, bi se rad zahvalil ste vsi zelo mi pridružil.
Upam, da boste zabavali pisanje vtičnikov za Cloud 9.
Morda izboljšanje vtičnike da imamo zdaj, ali morda celo
dodal nekaj funkcionalnosti svoje.
Veselimo se srečanja kaj je to ustvariti.
Do takrat pa adijo.