DAN ARMENDARIZ: Helo, a chroeso i seminar CS50 ar Customizing Cloud 9, a'r IDE CS50. Felly heddiw rydym yn mynd i dim ond siarad ychydig bach am rai o'r wybodaeth dechnegol sy'n yn mynd y tu ôl i'r bensaernïaeth o Cloud 9, a sut rydym wedi gweithredu rhai o'r plug-ins fel rhan o Cloud 9 i ddarparu IDE CS50. Felly gadewch i ni jyst neidio i'r dde i mewn ac dechrau siarad am plug-ins. Felly ategion yn wirioneddol yn y craidd y Cloud 9 profiad. Cloud 9 yw'r dechnoleg sylfaenol sy'n darparu i ni y DRhA, a hefyd y ffenestr derfynell yn y gwaelod, ynghyd â'r workspace-- yr Ubuntu workspace-- ein bod yn defnyddio i lunio ein holl brosiectau a pherfformio ein setiau problem, gwblhau ein setiau problem. Ond wrth wraidd pob ohono, yr holl dechnoleg mewn gwirionedd dim ond criw o plug-ins. Mae popeth yn plug-in y gellir eu haddasu, estynedig, gallwch greu eich plug-ins eu hunain, gallwch chi gael gwared eraill plug-ins, newid mewn gwirionedd cryn dipyn o'r functionality o'r Cloud 9 IDE sydd eisoes yn bodoli. Felly mae hwn yn bodoli eisoes Cwmwl 9 amgylchedd. Mae hyn yn wir yn unig y diofyn Cloud 9 amgylchedd. Ac edrych ar sut y mae mewn gwirionedd yn wahanol i'r IDE CS50. Felly, mae hyn yn y IDE CS50. Sylwch fod rhai gweledol newidiadau rhwng y rheolaidd Cloud 9 amgylchedd a'r IDE CS50. Yn benodol, wnewch chi helpu sylwi ar un neu ddau o newidiadau. Yn gyntaf oll, mae llai o eitemau ar y fwydlen i ddechrau. Mae yna mewn gwirionedd yn ffordd y gallwch newid hynny. Mae'n cael ei alw Modd syml. Yn ddiofyn, Modd Simple yn cael ei alluogi, ac sy'n symleiddio'r rhai o'r eitemau ar y fwydlen. Mae'n cael gwared â rhai o'r rhai mwy datblygedig, oherwydd dweud y gwir, mae llawer o fyfyrwyr sy'n dod i mewn ac nid oes angen ei wybod am rai o nodweddion mwy datblygedig nid ydynt yn llethu gyda chriw o opsiynau. Ond rydym yn ei wneud yn darparu'r gallu i gymryd oddi ar y rhai hyn a elwir olwynion hyfforddiant a symud y sgaffaldiau er mwyn i bobl Gall ddod yn fwy cyfarwydd â y nodweddion uwch y DRhA. Yn union i'r hawl hynny, mae yna Hefyd botwm dadfygio, a oedd yn yn y Cwmwl safonol Gelwir 9 amgylchedd yn syml rhedeg. Ond erbyn ball, rydym wedi ffurfweddu y botwm dadnamu yn y CS50 IDE i ddod i fyny y dadnamydd, lunio y cod ffynhonnell yn awtomatig, cysylltu y debugger i'r GDB-- sylfaenol ac ers hynny wedi rhedeg i berfformio y debugging-- a rhai camau eraill hefyd. Hefyd y ffenestr derfynell yn y very-- neu yn hytrach y derfynell tab ar yr adran consol yn y ffenestr ar waelod iawn y sgrin, Ailenwyd i syml fod terfynol. Tra yn y safon Cloud 9 amgylchedd, ei fod yn dangos gwirionedd y rhedeg cais. Fel hyn, mae'n symleiddio, unwaith eto, y GUI, dim ond ychydig. Rydym hefyd yn ychwanegu rhai botymau ar y dde uchaf y DRhA i ddangos rhywfaint o wybodaeth sylfaenol am y lle gwaelodol. A hefyd rydym wedi cael gwared un o'r opsiynau ar yr eitemau o'r dde yn hyn. Felly, hyn i gyd yn cael ei weithredu'n nid trwy addasu o reidrwydd y Cloud 9 cod ffynhonnell, ond yn lle hynny drwy un neu ddau o plug-ins yr ydym wedi rhoi ar waith trwy gydol y flwyddyn neu ddwy ddiwethaf. Ac mae Cwmwl 9 wedi cynnal ac mae ganddo rhedeg yn y lle gwaith CS50. Neu yn hytrach yn y gweithfannau sy'n cael eu dynodi fel CS50 IDEs. Felly mewn gwirionedd dyna'r prif wahaniaeth rhwng y Cloud 9 a'r CS50 mannau gwaith. Mae hefyd, yn y sylfaenol enghraifft, y newid sylfaenol yn ein bod yn gosod rhai eitemau cyn-gyflunio fel GDB, ac mae rhai pethau sylfaenol eraill sy'n rydym wedi creu, fel Diweddariad 50, ac un neu ddau o gamau eraill sy'n gwneud yr holl brofiad ychydig yn fwy unedig. Ond ar y cyfan, mae hyn yn unig yw addasu system bresennol bod Cloud 9 wedi creu i ni. Yr hyn yr ydym ni'n mynd i yn dangos ychydig yn ddiweddarach yw sut i mewn gwirionedd yn creu plug-in braidd yn sylfaenol yn caniatáu i ni i fewnosod rhywbeth i mewn i'r system ddewislen, ac agor deialog. Ac os ydym yn ddigon gennym pryd, rydym annhymerus 'mewn gwirionedd weld sut y gallwn llenwi'r hynny deialog gyda rhywfaint o wybodaeth gan y lle gwaelodol. Er mwyn i ni gyrraedd y pwynt, gadewch i ni siarad yn gyntaf ychydig bach am y bensaernïaeth Cloud 9. Felly, y ffordd yr ydym yn defnyddio i ryngweithio gyda Cloud 9 yn gyfan gwbl drwy cleient. Rydym yn agor borwr gwe, rydym deipio yn y CS50.io. Rydym yn y pen draw, ar ôl dilysu, Cyflwynir y DRhA. Ond yn sylweddoli fod yna un neu ddau o gamau sydd mewn gwirionedd yn cael ni at y pwynt hwn. Y peth cyntaf yw bod fy nghleient, y porwr gwe, ar gais ac ar ôl dilysu, llwytho'r GUI a'r plug-ins gan rai CDN, gan rai Rhwydwaith Darparu Cynnwys. Gall hyn fod yn dweud y gwir unrhyw le. Ac mae hyn yn mewn gwirionedd ar wahân gan y lle gwaelodol. Mae'n bwysig sylweddoli bod hyn yn mewn gwirionedd dim ond criw o ffeiliau statig. Mae'n criw o JavaScript sy'n cael ei lawrlwytho o'r CDN ar fy borwr gwe, a pob un o'r GUI yr ydych gweld Yma-- hyn yn wir yn key-- pob un o'r GUI a welwch yma yn cael ei rhedeg ar ochr y cleient. Mae popeth a welwch yn y Cloud 9 lle gwaith yn cael ei redeg mewn gwirionedd yn y porwr. Ac unrhyw beth eich bod yn anfon draw i'r achos sylfaenol ei gyfathrebu gyda'r achos ar hyd yr ail sianel ar wahân, ac yna'n cael ei arbed ar yr achos hwnnw docwyr. Felly, y rheswm pam yr wyf ddim yn dweud mae hwn yn enghraifft docwyr yw bod y dechnoleg sylfaenol Nid yn defnyddio peiriannau rhithwir, ond yn hytrach yn defnyddio technoleg o'r enw docwyr, sydd yn y bôn allows-- yr agosaf gyfatebiaeth yn beiriant rhithwir. Ond mae'n ychydig yn wahanol yn bod digon o gyfleoedd i redeg cyfuniad o wahanol docwyr achosion ar beiriant sengl. A gellir eu nyddu i fyny yn olynol gyflym iawn. Nid yw'n hollol yr rhagor gwahaniaethu llym rhwng gwahanol achosion docwyr gan fod mewn peiriannau rhithwir, ond yn dal i mae llawer o gwahaniaethu a gwahanu rhwng y gwahanol achosion. IAWN. Felly mae'r ddau gam yma y yn bwysig sylweddoli yw pan fyddwn yn mynd i CS50.io, rydym yn lwytho i lawr y GUI a'r plug-ins, sy'n cael eu hysgrifennu yn JavaScript, ar at y porwr neu i mewn i'r porwr. Ac mae hyn yn efallai ychydig megabeit gwerth o wybodaeth. Ar y pwynt hwnnw, unwaith y bydd y GUI wedi llwytho a plug-ins wedi dechrau, Yna, mae'n dechrau i gyfathrebu â y lle docwyr, sydd heb wneud hyn oes rhaid i fod yr un fath gweinydd. Erbyn hyn mae yna un eithriad i hyn. Gallwn mewn gwirionedd yn cael y mecanwaith cyflenwi ar gyfer y GUI hun ac y lle docwyr yn i gyd o'r un gweinydd, a oedd yn mewn gwirionedd yn rhywbeth yr ydym yn ei wneud ar gyfer y fersiwn all-lein o Cloud 9. Nid yw hyn yn rhywbeth yr ydym i wedi gyhoeddusrwydd fawr iawn Fall hwn, ond rydym hefyd yn oes ganddynt Fersiwn all-lein sy'n yn eich galluogi i lawrlwytho becynnu fersiwn o'r holl bethau hyn ac yn eich galluogi i redeg Cwmwl 9 mewn amgylchedd all-lein. Symud hyn oddi ar y cwmwl ac ymlaen eich peiriant lleol rhywfaint o effaith. Yn benodol, yr ydych dim bellach y gallu i rannu eich lle gwaith gydag eraill. Gallwch bellach yn agor Cloud 9 o, a'r CS50 IDE, o unrhyw gyfrifiadur ac yn gweld yr un ffeiliau sy'n oeddech yn gweithio gyda blaen. Ond yn hytrach mae'n gweithio yn gyfan gwbl ar eich peiriant lleol eich hun heb fod angen mynediad i'r rhyngrwyd. Ond yn dal hyd yn oed yn y model, hyd yn oed er ein bod wedi un 'n weithredol beiriant sydd yn ei hanfod rhedeg pethau hyn. Mae gennym gweinydd ar wahân sy'n cyflwyno ei hanfod mae'r Cloud 9 cynnwys, ac yna rydym yn cael enghraifft docwyr sy'n gyfrifol am gyfathrebu gyda'r IDE ar gyfer diwedd cefn. IAWN. Felly mae'r GUI cyfan wedi ei ysgrifennu yn gyfan gwbl yn JavaScript gan ddefnyddio Node.js a'r Cloud 9 SDK, y byddwn yn cyrraedd mewn ychydig funud. A phob un o'r plug-ins yn cael eu rhedeg ar ochr y cleient. Felly gadewch i ni ganolbwyntio yna ychydig drwy dybio fod y cam cyntaf wedi gwblhawyd mewn gwirionedd yn llwyddiannus, ac yn edrych yn unig ar yr achos hwn docwyr. Felly, yn yr achos hwn, mae hyn yn yw'r ffordd safonol o feddwl am wneud Cloud 9 plug-in datblygiad yw eich bod yn mynd i gael ei ysgrifennu cod a fydd yn yn cael ei redeg yn borwr y defnyddiwr, ac rydych yn cael y cyfle i ddefnyddio rhai APIs i gyfathrebu gyda y lle docwyr sylfaenol, cynnal rhai cod yno, ac yn gwneud unrhyw beth efallai y byddwch am ei wneud. Felly, mae hyn yn mynd i fod cyd-destun yr ydym chi helpu yn defnyddio ar gyfer gweddill y sgwrs yma. A dim ond cadw model hwn mewn cof. Bydd hyn yn bwysig iawn mewn dim ond ychydig funudau. Mae un neu ddau o cysylltiadau wyf yn awyddus i ddangos i chi. Yn gyntaf oll, Cloud 9 wedi darparu cryn dipyn o ddogfennau mae hynny'n eithaf da, sy'n dangos sut i wneud datblygiad plug-in sylfaenol. Felly, os ydych yn mynd i'r URL hwn, cloud9-sdk.readme.io, byddwch yn gweld y dogfennau yno. Ac mae llawer o'r wybodaeth hon eich bod chi ar fin i weld Gellir hefyd ar gael yno, a llawer mwy. Gallwch hefyd ddod o hyd i'r ffynhonnell agored fersiwn o'r Cloud 9 yn y URL hwn, github.com/c9/core, sy'n defnyddio ni fel rhan o fersiwn all-lein y DRhA, fel y byddwch yn gallu cael yr un fath Cloud 9 profiad, ond mewn modd all-lein. Iawn. Felly, gadewch i ni edrych ar gwirioneddol Cloud 9 lle gwaith yma. Ac eto, yr wyf yn awyddus i dynnu sylw allan un neu ddau o bethau. Mae hyn, dde yma, mae IDE CS50 arferol. Ac yr wyf wedi anabl yn llai Modd gyfforddus o dan y ddewislen View fel y gallaf weld pob o'r ddewislen opsiynau. Yr hyn yr wyf yn awyddus i ddangos i chi yn iawn yn awr yw un neu ddau o bethau. Yn gyntaf, os byddaf yn mynd i mewn i y Preferences ac yna cliciwch ar Plug-in rheolwr, a deipio i mewn CS50 yma, gallwn weld bod yna, mewn gwirionedd, un neu ddau o CS50 plug-ins sy'n Gosodwyd a'n rhedeg i galluogi addasiadau bod rydym wedi gweld am y IDE CS50. Ar hyn o bryd mae yn y bôn dwy plug-ins sy'n cael eu rhedeg. Mae un o'r enw Syml, a oedd yn yw'r modd symlach sy'n yn eich galluogi i leihau nifer o opsiynau bwydlen ar hyd y top, ac wedi hyn a elwir yn modd llai cyfforddus. Ac yna mae hefyd Stats CS50, sydd efallai misnamed dim ond ychydig. Gan fod hyn yn beth yn dangos y wybodaeth yr ydych am y lle gwaith sylfaenol. Mae'n chwistrellu botymau hyn ar hyd y dde uchaf. Mae hefyd yn chwistrellu eitem dewislen i mewn i'r eitem ffenestr, i mewn i'r ddewislen Ffenestr i'r dde yma, CS50 IDE Info. Ac mae'n gyfrifol am instantiating ddeialog hon yr ydym wedi ei weld yma, gyda'r holl wybodaeth yr ydym ni'n gyfarwydd â gweld mewn CS50 IDE lle gwaith. IAWN. Felly mae mewn gwirionedd yn un yn fwy plug-in ein bod wedi datblygu cystal. Ac mae un neu ddau o bobl eraill sy'n rydym hefyd nid wedi rhyddhau yn gyhoeddus. Ond mae un ohonynt yn y cyfan plug-in sy'n caniatáu i GDB i weithredu. Felly, un o'r agweddau ar Cloud 9 yw eu bod wedi darparu yn barod GUI hwn i weithredu dadfygiwr. Ac un o'r ategion sy'n rydym wedi creu y bôn bachau GDB gyda GUI hwn Fersiwn seilio o dadfygiwr. Ac mae'n gyfrifol am gyfryngu pob o'r ceisiadau y gallai defnyddiwr gael, rhwng camu dros neu creu torbwyntiau neu unrhyw beth ar y llinellau hynny, i gyfieithu bod i orchmynion y gall GDB deall, cyhoeddi gorchmynion hynny i GDB. A chyn gynted ag GDB yn cyhoeddi ymateb, yna rydym yn dehongli hynny ac diweddaru'r GUI yn ôl yr angen. Dyna debyg, un o'r y mwyaf cymhleth o'r plug-ins, felly yn lle yr hyn rydym yn mynd i ganolbwyntio ar heddiw mewn gwirionedd y Stats plug-in, a byddwn yn siarad ychydig am Syml, yn ogystal. Felly yr wyf yn crybwyll o'r blaen, ac yr wyf wir eisiau i wneud yn iawn, yn glir iawn, hynny eto, hyn i gyd ein bod gweld yma yn ei hanfod sy'n gweithredu ar yr ochr y cleient. Rydym yn gwneud yn gweld derfynnell ffenest isod, a hynny, wrth gwrs, os ydym yn teipio i mewn i orchmynion hynny, a fydd yn cael ei gyhoeddi wedyn at y lle gwaelodol. Yn yr un modd, os byddwn yn agor ffeil newydd a deipio rhai pethau i mewn iddo a'i gadw, Bydd y ffeil yn cael ei arbed ar y lle gwaelodol. Ond mae'r golygydd ei hun, mae hyn yn ffenestr terfynell ei hun, i gyd ar waith yn JavaScript ac i gyd yn plug-in ein bod yn gallu rhyngweithio â, ac felly addasu. Mae llawer o extensibility yma. Rwy'n argymell yn edrych yn cyfrif GitHub Cloud 9 ar i weld y swm helaeth o plug-ins sydd ar gael, ac yn ysgrifenedig yn union pa mor dda y mae llawer o'r cod hwn ar gyfer extensibility. Felly mae yna rywbeth yr wyf am ei grybwyll am hyn hefyd, sef bod yna lawer o- mae llawer o functionality dyna a ddarperir yn y dewisiadau ffenestr, yr ydym wedi gweld yn unig cyfeirio at ddim ond ychydig funudau yn ôl. Un o'r pethau y gallwn eu gwneud fel IDE datblygwyr, neu fel Cloud 9 datblygwyr, yw chwistrellu rhai mewn gwirionedd paneli dewis ein hunain. Felly y modd syml, neu y modd llai cyfforddus, a hefyd y wybodaeth IDE, neu'r stats plug-in, mae gan bob rhyw hoffter paneli sy'n ein galluogi i addasu ymddygiad pob un o'r rheini. Byddwch yn sylwi bod os byddaf yn mynd i'r Dewisiadau a mynd i leoliadau Defnyddwyr, mae 'na tab CS50, un sy'n dweud gwybodaeth IDE. A gallaf newid y Gwybodaeth cyfradd adnewyddu. I bob pwrpas, yr hyn sy'n digwydd yn y ystadegau plug-in yw bod pob n-eiliad, lle n-eiliad yn cael ei ddiffinio gan y dewis hwn panel, gwybodaeth yn cael ei lwytho gan y lle gwaelodol, yn cael eu hanfon yn ôl i'r ochr y cleient, y plug-in wedyn ddehongli'r wybodaeth gan y lle gwaelodol a diweddaru'r GUI yn ôl yr angen. Gallwn weld bod ar hyn o bryd mae hyn yn cael ei osod i 30 eiliad, a dyna 'r ball. Ond gall yn bendant yn newid pa mor gyflym y mae hyn yn digwydd yn unig trwy addasu y gwerth hwn. Bellach yn un o'r pethau diddorol yw bod hyn panel dewis, GUI, mewn gwirionedd dim ond fersiwn GUI o lawer o leoliadau sylfaenol sy'n cael eu cyflwyno yn JSON. Felly os byddaf yn mynd, er enghraifft, o dan y CS50 IDE ddewislen, neu'r Cloud 9 fwydlen, gan ddibynnu ar ba Fersiwn ydych yn edrych ar, ac ewch i un o'r rhain settings-- yn yr achos hwn, mae'r prosiect settings-- y lleoliadau y prosiect yn yr achos hwn yn berthnasol i bob un o'r lleoliadau ar gyfer yr un lle gwaith. Tra lleoliadau defnyddiwr yn berthnasol i bob un o'r gweithfannau y gallai fod gennych yn eich cyfrif. Felly, yn union fel o'r neilltu yma, i fod yn fwy clir, mae 'na gwahanu rhwng y dau oherwydd er ein bod yn ddiofyn rhaid i un lle gwaith, a oedd yn yw'r CS50 IDE, os ydych Roedd i glicio ar eich bach avatar i fyny yma ac yn mynd i'r dangosfwrdd, fe welwch eich bod yn gallu mewn gwirionedd creu gweithfannau ychwanegol yn ogystal. Gallwch weld yma nad oes gennyf IDE 50 lle gwaith, a hefyd at ddibenion y hon seminar, a lle gwaith Gelwir lle gwaith, sydd yn iawn yma. Felly beth bynnag, mae gennyf gwahanol ddewisiadau. Gallai pob un o'r rhain dewisiadau prosiect ar wahân, ond mae'r dewisiadau defnyddiwr yn rhannu ymysg fy holl gweithfannau. Gyda llaw, mae hyn yn hefyd yn handi iawn os ydych yn eisiau creu lle gwaith gyda gwahanol opsiynau customization. Ac mae'n handi iawn i creu lle gwaith newydd. A dewis un a allai fod yn cyn-gyflunio mewn rhyw ffordd arall, efallai ar gyfer PHP yn benodol, neu Django benodol. Neu hyd yn oed dim ond arferiad. Y lle gwaith CS50 templed yw'r un yr ydym defnyddio hynny yn gosod yn awtomatig Diweddariad 50 a phob un o'r lleoliadau bod gennym yno, gan gynnwys yr holl plug-ins sydd gennym ar gyfer y IDE CS50. IAWN. Ond gadewch i ni ddod yn ôl at hyn. Felly unwaith eto, mae prosiectau lleoliadau, a'r rhai yn y rhai ein bod yn edrych ar fan hyn. Ac yn sylwi fod yna yn griw o leoliadau, llawer ohonynt yn cyfateb i'r dewis paneli, ond nid pob un ohonynt. Ond gallwn weld bod yma, yn this-- oh na, wnes i ei roi yn y lleoliadau defnyddiwr? Efallai wyf yn ei roi yn y lleoliadau defnyddiwr. Ac mae hyn, dyma ni. Yn y lleoliadau defnyddwyr, y gallwn gweld bod gennym adran CS50, ac mae hyn yn cael ei ysgrifennu i gan y Cwmwl 9 plug-ins ein bod ni wedi rhoi ar waith. Mae un syml i cyfateb i hynny plug-in syml, ac mae'r ystadegau yn un y yn cyfateb i'r hyn a GUI seiliedig fersiwn o'r panel dewis. Cyfradd adnewyddu, yn hyn achos, wedi ei osod i 20 eiliad. Mae hyn i gyd, gobeithio, y dechreuadau peth gwybodaeth y byddwn yn mewn gwirionedd yn gweld mewn ychydig ychydig mwy o fanylion, am ennyd. IAWN. Felly, gadewch i ni ddweud ein bod am mewn gwirionedd yn cael i lawr iddo. Rydym yn deall bod pob un o'r stwff sy'n digwydd ar yr ochr y cleient yn cael ei wneud mewn gwirionedd ar y porwr, a oedd yn yn golygu bod unrhyw plug-ins fy mod yn ysgrifennu yn mynd i gael ei ysgrifennu gyda'r porwr mewn golwg. Ac os wyf mewn gwirionedd am ei wneud unrhyw beth ar y lle gwaith, Bydd yn rhaid i mi efallai i gychwyn rhyw fath o gyfathrebu rhwng y porwr a y lle gwaith i fod yn sicr bod hynny yn cael ei gyflawni mewn gwirionedd. Ond gadewch i ni ddweud bod bellach Rwyf am i fynd i lawr iddo ac mewn gwirionedd yn creu fy cyntaf plug-in. Wel, y ffordd y byddech yn gallu i wneud hynny yn eithaf hawdd mewn gwirionedd. Mae wedi rhoi yn y Cwmwl 9 SDK. Ond mae'n cymryd eich Enw'r lle gwaith presennol, sy'n yw'r URL sydd gennych ar ben eich bar, ac ychwanegu'r canlynol ato. ? SDK = 1 & debub = 2. Nawr beth mae hyn yn mynd i alluogi yw bod y SDK = 1 Bydd gwirionedd yn gosod y SDK Modd i yn wir, a fydd yn galluogi un neu ddau o bethau ychwanegol. A dadfygio Bydd = 2 yn caniatáu i negeseuon gwall i fod ychydig yn fwy amleiriog. Ac felly os ydych yn dod i fyny 'r JavaScript consol yn eich tab datblygwr Chrome, byddwch mewn gwirionedd yn gallu gweld llawer mwy o wybodaeth nag y byddech fel arall. Felly, yr wyf yn argymell troi y ddau o'r rhain ar yr un pryd, oherwydd ei fod yn 'n sylweddol yn ddefnyddiol cael hyn i gyd Gwybodaeth Ychwanegol. Mae'n bwysig nodi, fodd bynnag, bod troi ar debug at werth 2 yn golygu ei bod yn iawn amleiriog, ac mae mewn gwirionedd Bydd rhywfaint amlwg arafu eich IDE, yn enwedig pan llwytho neu pan fydd yn gwneud gwneud tasgau trwm. Felly, dim ond yn cadw hynny mewn cof. Mae'n ddefnyddiol ar gyfer datblygu, ond rydych yn Efallai na fydd am gael ei ymlaen drwy'r amser. Felly gadewch i ni mewn gwirionedd yn gwneud hynny. Ond yn yr achos hwn, yr wyf mewn gwirionedd wedi eisoes wedi sefydlu lle gwaith gyda hyn. Felly, gadewch i ni weld, SDK = 1 & debug = 2. Gyda un neu ddau o plug-ins gobeithio gosod yn barod. Iawn. Felly nawr fy mod i wedi troi ar y debug SDK modd, yn sylwi ein bod yn y modd dadfygio, er mwyn i ni edrych ar yr offer dev i weld unrhyw gamgymeriadau, a byddaf yn gwneud offscreen. Gallwn weld fod yna criw o gamgymeriadau yma. Nawr mae'n mewn gwirionedd yn eithaf cyffredin ar gyfer Cloud 9 i gael un neu ddau o gamgymeriadau, ac ni fyddwn yn poeni amdanynt hyd nes y byddwch gweld rhywbeth y gallai fod yn benodol i'r plug-in eich bod yn digwydd bod yn creu. Felly dyma, er enghraifft, rydym yn cael un neu ddau o 404s-- Nid yw dod o hyd. Rydym yn gweld ein bod methu llwytho rhai gwybodaeth oddi ar y lle gwaelodol ei hun. Ac mae 'na griw o ychwanegol gwybodaeth, ond mae'r rhan fwyaf o hyn rydym yn mewn gwirionedd yn mynd i anwybyddu am y tro. Oherwydd bod hyn yn eithaf cyffredin ar gyfer lle gwaith i gael dim ond un neu ddau o wallau. IAWN. Rydw i'n mynd i symud hyn allan o y ffordd ac yn dod yn ôl yma. Ac yn awr y ffordd hawdd, mae'r 'n glws beth am gael datblygwr hon modd alluogi yw ei fod yn caniatáu i mi i greu newydd plug-in yn hawdd. Felly, tra cyn i mi beidio mewn gwirionedd oedd cael y dewis plug-in newydd sydd ar gael, y gallwn weld os byddaf yn mynd yn ôl i fy modd nad yw'n datblygwr dros yma, does dim newydd plug-in. Drwy alluogi'r modd SDK, yr wyf yn cael plug-in newydd sydd ar gael a gallaf yn hawdd greu un. Yn yr achos hwn, mae 'na gwpl o opsiynau gwahanol, syml, yn plug-in wag, plug-in llawn, gosodwr, Cloud 9 bwndel. Gadewch i 'jyst dewis plug-in wag ar hyn o bryd fel y gallwn weld iawn Fersiwn syml o un. Nawr yn sylwi bod ar hyd y Gadawodd ochr sydd yno yn awr rhywbeth o dan Ffefrynnau, a oedd yn yn rhestru un neu ddau o plug-ins sydd ar gael i mi yn awr. Os byddaf yn ehangu hynny, byddwn yn yn gallu gweld hynny. Nawr rwyf am i chi i hysbysiad rhywbeth yma, a oedd yn yw nad yw hyn yn cael ei chynnwys mewn gwirionedd o fewn y cyfeiriadur lle gwaith ar fy gwaelodol Ubuntu enghraifft, ond mae'n cael ei chynnwys ar y disg caled. A lle mae hyn wedi ei leoli, gan fod mae hyn yn ddefnyddiol iawn i wybod, yn enwedig os ydych chi'n mynd i yn gwneud unrhyw beth sydd â GIT, lle mae hyn wedi ei leoli yn mewn ffolder .c9, / plugins. Felly os byddaf yn mynd yno, gallwn weld bod bellach y rhestr o ategion sydd yma yn cyfateb i'r rhestr y plug-ins fy mod Gwelodd ar ochr chwith fy lle gwaith. Yn awr at ball, a mae hyn yn fath o rhyfedd, yn ddiofyn pan fyddaf yn creu newydd plug-in mewn lle gwaith, mae'n creu plug-in hyn drwy diofyn wedi enw o tanlinellu. Yn gyffredinol, gallai hynny achosi rhai problemau. Felly, y cam nesaf iawn sydd fel arfer yn perfformio wyf yn unig i gael gwared ar y arbennig plug-in ac yn gadael dim ond y plug-in syml sy'n oedd yno yn y lle cyntaf, plugin.simple. A dyna yw'r unig un sydd yno. IAWN. Felly beth mae hyn mewn gwirionedd yn edrych? Wel, mae hyn yn, unwaith eto, pecyn JavaScript sy'n cynnwys rhai ffeiliau, gan gynnwys ffeil plugin.js, lle prif gynnwys fy plug-in ei leoli, ffeil package.json, sydd mewn gwirionedd yn nodi rhywfaint metadata am y plug-in, megis pwy yw'r awdur yn, unrhyw wybodaeth ychwanegol am y peth, a disgrifiad o'r plug-in, ac yn y blaen. A hefyd yn ddiofyn, mae'n creu ffeil README gwag, ac ar ffurf ffeil prawf gwag er mwyn i chi creu rhai dogfennau ychwanegol, a harnais brofi os hoffech chi wneud hynny. Felly gadewch i ni fwrw golwg gyntaf ar, yn gyflym iawn, yn y ffeil package.json. Mae'n ddigon hawdd i ddim ond mynd drwy mae'n a llenwch y meysydd hyn y byddech am ei llenwi, fel rhoi enw iddo, rhowch ddisgrifiad, ailadrodd y rhif y fersiwn bob hyn a hyn, yn darparu awdur ar gyfer pob person sy'n cyfrannu, eu hychwanegu at y cyfranwyr adran, ac mae'r gweddill ohonoch hwn gall 'n bert lawer yn unig gadael fel y mae ar hyn o bryd. Oes un peth sy'n bwysig i hysbysiad, bod o dan yr adran plug-ins, mae allwedd o'r enw plug-in. Ac mae hyn yn cyfateb i enw y ffeil JavaScript o'r enw plugin.js. Felly dyma sut Cloud 9 yn gwybod, pan fydd yn darllen ffeil package.json hwn, sy'n o'r js ffeiliau i lwytho mewn gwirionedd. Os byddaf yn creu ffeiliau js ychwanegol neu eisiau i ail-enwi y ffeil js o plug-in, Mae'n rhaid i mi hefyd i'w newid yn y ffeil package.json. Unrhyw gwestiynau gan y gynulleidfa? Na Dyna un person sy'n canlynol ynghyd â mi hyd yn hyn. IAWN. Felly, yr wyf mewn gwirionedd wedi creu cwpl o plug-ins yn barod, Yr wyf yn meddwl, yn y lle gwaith hwn. Felly gadewch i ni gael gwared ar rai o'r rhain, ychwanegwch SDK = 1 & debug = 2, ail-lwytho lle gwaith hwn, a gadewch i ni weld os byddwn yn cael rhai plug-ins yn awr. C9 / plugins. Yma rydym yn mynd. Gallwn weld nawr yn fy c9 / plugins o hyn un, rydym wedi plugin.1 a plugin.2. Felly rydym yn mynd i ddim ond cam i fyny the-- dim ond cynyddu faint o anhawster ym mhob un o'r rhain plug-ins. Ond yma os byddaf yn creu plug-in newydd, Gallaf ychwanegu at fy ffefrynnau. A byddaf jyst ddilea y rhai o system ffeiliau sylfaenol. Gadewch i ni gael gwared ar hynny. Nawr, os wyf yn agor fy cyntaf plug-in, a plugin.js agored, gallwn weld yma yr gwaelodol Fersiwn syml o plug-in. Gadewch i mi mewn gwirionedd yn mynd yn ôl at y lle gwaith arall oherwydd gallwch o leiaf, dyma gweld, beth plug-in wag mewn gwirionedd yn edrych fel. Felly, o dan y cwfl, mae hyn yn edrych debyg iawn i dechnoleg o'r enw, Yr wyf yn meddwl, 'i' RequireJS. Sylwch nad yw hyn yn wir yn edrych, o bosibl, yr un fath â'r rhai JavaScript arall ffeiliau y gallai yr ydym wedi'i weld. Ond yn hytrach, mae un neu ddau o ddim ond llinellau sylfaenol ei fod mewn gwirionedd wedi. Mae pob un o'r pethau hyn yn gyntaf dehongli gan y DRhA, ond nid yw'n mewn gwirionedd rhedeg tan nodir. A byddaf yn dweud wrthych am pan fydd y yn ei olygu mewn dim ond hyn o bryd. Ond yn sylwi bod yma mae 'na llinell main.consumes yn llinell 2, ac mae hyn yn rhestru'r holl o'r plug-ins bod hyn yn plug-in yn dibynnu ar. Felly at ball, rydym yn ei wneud efallai i beidio â chael unrhyw ddibyniaeth ar plug-ins eraill, ond pan fydd angen i ni mewn gwirionedd yn dibynnu ar nodweddion a gyflenwir trwy plug-ins eraill yn y DRhA, mae angen i ni restru'r rhai plug-ins yn y llinell main.consumes. Ac yna mae angen i ni eu cysylltu â'r cod isod, a byddaf yn dangos i chi yn unig eiliad am sut y gallwn wneud hynny. Main.provides yn rhoi enw at y plug-in hynny plug-ins eraill y gallai defnyddio yn eu llinell yn defnyddio. Felly, yn yr achos hwn, mae fy plug-in yn unig a osodwyd yno yn ddiofyn, a dylem newid hynny i fod yn berthnasol i'n hunain plug-in, fel y byddwn yn gweld mewn dim ond hyn o bryd. Nawr dyma yn y swyddogaeth prif, mae hyn yn brif swyddogaeth mewn gwirionedd redeg a'i dehongli, ond nid yw'n ei wneud mewn gwirionedd yn fawr iawn. 'I jyst yn cael popeth sefydlu, ond nid yw'n mewn gwirionedd yn cychwyn y plug-in, er gwaethaf yr hyn mae'r enw yn swnio fel. Sydd mewn gwirionedd yn digwydd trwy cyfres o ddulliau sy'n yn cael eu cynnwys drwy gydol y plug-in. Felly, os wyf yn sgroliwch i lawr, gallwn weld bod gennym gylch bywyd lle ar rai llwyth digwyddiad o'r enw, neu ryw ddigwyddiad o'r enw dadlwytho, rhai digwyddiadau yn digwydd mewn gwirionedd. Mae'n wirioneddol yn fan lle gan fod y plug-in yn dechrau bod Gelwir y dulliau hynny yn cael eu. Felly gadewch i ni fod ychydig yn fwy pendant am hyn ac edrych ar enghraifft. Felly yma am plugin.1, beth rydym yn y bôn yn mynd i'w wneud yw creu ddewislen eitem Gelwir CS50 Seminar Ymgom 1-- gan fod gennym ddau o them-- ac rydym yn mynd i chwistrellu i mewn i'r ddewislen Ffenestr. A phan fyddwn cliciwch arno, rydym yn mynd i agor deialog sy'n yn dangos i ni rhywfaint o wybodaeth sylfaenol iawn. Yn yr achos hwn, dim ond y byd helo. Felly, mae hwn yn syml iawn helo deialog byd ein bod yn gallu rhoi ar waith fel plug-in yn Cwmwl 9. Felly, gadewch i ni weld sut y mae hyn yn edrych yn mewn gwirionedd. Byddwn yn camu drwyddo, dim ond yn gymharol gyflym felly rydym Gall edrych ar y plug-in nesaf hefyd. Sylwch fod dyma ni cymryd llawer o amrywiaeth o plug-ins. Rydym yn cymryd llawer deialog plug-in, gorchmynion, bwydlenni, a UI. Edrych fel Fi 'n weithredol wyf yn cymryd llawer o deialog ddwywaith, fel y gallaf gael gwared ar hynny. Ac yn sylwi bod y ffordd fy mod yn eu cysylltu, mae hyn yn fath o fetadata sy'n dweud y system plug-in pa ofynion mewn gwirionedd yn angenrheidiol ar gyfer yr ategyn i lwytho. Mae hefyd yn bwysig nodi bod y drefn y plug-ins yn cael eu llwytho Nid yw wedi'i warantu. Ond beth yn sicr yw bod os byddaf bennu rhai plug-in fel gofyniad, a fydd yn plug-in yn cael ei lwytho cyn yr un yma yn cael ei lwytho. Felly mae hynny'n golygu os yw eich plug-in ei gwneud yn ofynnol ar rai functionality a ddarperir gan rywbeth arall yn y DRhA, dylech fod yn sicr bod eich llyncu plug-in hynny plug-in fel bod y dibyniaethau yn sicr o greu eich plug-in, neu enghreifftio eich plug-in, dim ond ar ôl y fframwaith presennol yn bodoli. Felly, yma rwyf wedi sôn am y metadata at y rheolwr plug-in, pa rai yr wyf i'n mynd i yfed. Ac yn y brif swyddogaeth yma, Rydw i'n mynd i yna cysylltu fy cod i'r rhai a fewnforiwyd plug-ins. Felly, Im 'jyst yn mynd i creu rhai newidynnau sy'n cyfateb i'r enwau pob un o'r rhai hynny y gallaf eu cyfeirio yn gyflym iawn drwy gydol fy cod. Y rheswm fy mod yn mewnforio deialog yw oherwydd fy mod am fy plug-in i weithredu fel deialog plug-in. A'r ffordd fy mod yn gallu i wneud hynny yw, wrth gwrs, cysylltu fy cod i'r ddeialog plug-in drwy fewnforio iddo ac yna drwy bennu gan gan greu newidyn deialog newydd ac yn ei gysylltu i hynny plug-in fewnforio. Ac yna drwy ddiffinio fy plug-in fel deialog newydd. Felly, yn y initialization, yr wyf yn eisiau i ddiffinio fy plug-in. Ac amrywiol hwn a elwir yn plug-in byddwch yn gweld ei ddefnyddio yn gyffredin yn unig drwy gydol Cloud 9 plug-ins. Rydw i'n mynd i enghreifftio newydd deialog gyda rhai nodweddion, rhoi enw penodol, yn dweud ei fod yn mae modd i ddefnyddwyr ei gau. Y bydd yn dangos ychydig o x mewn y gornel dde uchaf, neu ychydig fotwm yn y gornel dde isaf. P'un ai peidio allaf ddewis testun o y peth, yr hyn y mae'r teitl y ddeialog fyddai, ac yn y blaen. Nawr mae hyn yn unig yn diffinio y ddeialog, ond nid yw'n dangos eto. Mae gen i mewn gwirionedd i ddiffinio gweithredu ar iddo gael ei ddangos. Ac eto, yr wyf yn eich annog i yn edrych ar y Cloud 9 SDK, oherwydd mae amrywiaeth o deialogau ac maent yn cael eu dogfennu'n dda iawn. Gallwch weld y gwahanol fathau fod, ac yn eu defnyddio ym mha bynnag plug-in gennych mewn golwg. Erbyn hyn mae mynd i fod yn adran llwyth, a llwyth hwn swyddogaeth wrth i chi gofio yw a ddefnyddir gan y cylch bywyd plug-in i mewn gwirionedd yn enghreifftio popeth a chael popeth yn barod i fynd. Nawr, pan plug-in hon llwythi, nid wyf yn ei wneud am iddo ddangos deialog ar unwaith, oherwydd bydd hyn yn plug-in llwytho ynghyd â gweddill y DRhA. A phan oeddwn yn llwytho nad IDE, nid oes arnaf eisiau y ddeialog i arddangos i fyny yn awtomatig. Dim ond am iddo ddangos pan fyddaf yn clicio ar y ddewislen yn fy Ffenestr eitem dewislen y byddaf yn ychwanegu ato am ennyd. Felly mae yna ddau gam ar wahân yma y mae'n rhaid i hynny ddigwydd. Mae'n rhaid i mi greu gorchymyn, ac mae'r gorchymyn fydd yn gyfrifol am gwirionedd yn dangos y deialog ar y Cloud 9 IDE. Ac yna mae'n rhaid i mi gysylltu, yr wyf yn rhaid i greu ffenestr newydd bwydlen eitem, sy'n rhedeg y gorchymyn. Fel bod pan fyddaf yn clicio ar y Ffenestr eitem dewislen, hynny gorchymyn yn cael ei redeg wedyn ac felly mae fy dialog wedyn ei ddangos. Ac felly mae hyn mewn gwirionedd yn eithaf ffordd braf o feddwl am y peth. Gan fod y tro cyntaf y gallaf greu gorchymyn y mae ei enw yn cael ei CS50 Seminar Ymgom 1, sy'n darparu rhai cyd-destun cyffredinol ar ei gyfer. Ac mae'r darn pwysig yma yw sylwi ar y priodoledd exec, a oedd yn yn rhestru swyddogaeth a fydd yn cael eu galw yn fy plug-in pan gorchymyn hwn yn cael ei redeg. Felly gorchymyn hwn yw fath o fel a-- 'i' dim ond mympwyol Cloud 9 gorchymyn sydd ar gael i unrhyw Cloud 9 plug-in. Ond mae'r swyddogaeth gwirioneddol ei fod yn mynd i alw pan gorchymyn hwn yn cael ei redeg yw swyddogaeth yn dangos deialog yn fy ffeil plugin.js. A gallwn weld mewn gwirionedd mae'r rhain plug-ins a'r rhestr o orchmynion sydd ar gael i ni yn Dewisiadau, sgrolio holl ffordd down-- gadewch i ni weld, mewn gwirionedd rydym yn gweld hyn yn awr? Plug-in rheolwr, na, yr wyf yn meddwl ei fod yn I-- yn bendant o gwmpas yma yn rhywle. Wel, mae 'na restr o orchmynion rhywle, ond mae'n rhaid i mi gael, Rwyf wedi anghofio lle y mae. Felly OK, byddwn yn symud ymlaen. Iawn. Felly mae gennym restr o orchmynion sydd ar gael i ni, a gorchmynion hynny yn mae'r rhain yn unig fympwyol Cloud 9 gorchmynion sy'n rhedeg cod penodol. Felly, dim ond yn cadw hynny mewn cof, bod rydyn ni'n mynd i redeg y sioe ymgom gweithredu'n am ennyd. Nawr, pan Fi 'n weithredol eisiau ychwanegu bwydlen eitem, gallaf ychwanegu bod eitem yn ôl y llwybr, a dim ond yn nodi yn union lle yr wyf am iddo fod, Window / Seminar CS50 Ymgom 1. Ac ar y pwynt hwnnw, yr wyf am i greu eitem newydd sy'n yn mynd i redeg gorchymyn, CS50 Seminar Ymgom 1. Sylwch fod eto, mae hyn yn y Cloud 9 gorchymyn Rydw i wedi creu ychydig yn uwch. Nawr rwyf hefyd am creu ychydig o divider, ac felly alla i wneud yr un peth yn y llinell ddilynol. Nawr efallai y byddwch yn sylwi bod fel rhan o ddiffinio hwn ddewislen eitem, mae 'na nifer gysylltiedig ag ef sy'n mewn gwirionedd yn dweud ble yn union Rwyf am fod yr eitem dewislen i fod yn lleoli yn y rhestr o fwydlenni. Ond efallai y byddwch yn sylwi nad wyf yn ei wneud mewn gwirionedd gweld unrhyw rhifau gyda bwydlenni hyn, yn ddiofyn. Felly does fawr yn beth cudd sy'n gallwn ei wneud, ychydig o newid i'n URL. Felly, yn ogystal â SDK = 1 & debug = 2, 'N annhymerus' yn gosod ddewislen i 1-- a gobeithio ei fod yn fwydlen, ac nid bwydlenni. O, mae'n bwydlenni = 1. Dal ymlaen. A beth y byddwn yn gweld ar ail-lwytho fod IDE yw fy mod yn dal yn y modd dadfygio, ond erbyn hyn mae niferoedd sy'n gysylltiedig â'r holl bwydlenni. Ac mae hyn yn dweud wrthych yn union yr hyn y mae'r rhif yw pan fyddwch yn ceisio chwistrellu rhywbeth yn unrhyw le yn y system ddewislen. Felly, yn y ddewislen Ffenestr, gallaf gweld bod eitem 45 yn cydweithredu, ac eitem 38 cyn ei bod yn gosodwr. Felly, pan fyddaf eisiau chwistrellu eitem rhwng y ddau, Byddai Fi jyst ddewis rhif rhwng y rhai ddwy eitem. Felly yr wyf yn dewis 41 a mewnosod fy Seminar Ymgom eitem 1 ddewislen ar y lleoliad hwnnw. A dyna pam y nifer hwn sy'n ymddangos yma yw rhif 41. Dyna lleoliad y eitem dewislen yn y Cwmwl 9 ddewislen. Yn awr yr un modd, roeddwn i eisiau i greu rhannwr a'i ychwanegu fel bod yna 'n glws rhaniad rhwng pob un o'r rhain fwydlen eitemau. Felly, yr wyf Ychwanegodd fod yn y lleoliad 43. Hyd yn hyn, felly da, yr wyf yn gobeithio? Felly nawr gadewch i ni mewn gwirionedd yn edrych ar y cod penodol mewn sioe ymgom dyna mewn gwirionedd yn gyfrifol i agor y ffenestr ymgom. Sgrolio i lawr, yr wyf yn gweld fy mod am i gael y sioe swyddogaeth ymgom, ac mae'n hynod o syml. Rydw i'n mynd i redeg y sioe Dull ar y newidyn plug-in. A chofiwch ein bod yn ddiffiniwyd hwn plug-in newidyn uchod fel deialog. Felly bar plug-in, yn yr achos hwn, a yw hyn gwrthrych sy'n rydym wedi diffinio'n yn fewnol. Ac mae'n mynd i fod yn ddeialog newydd cynnwys o fewn y plug-in. Ac felly rydym mewn gwirionedd cyfeirir hwn plug-in newidyn mewn llawer man yn nodweddiadol Cloud 9 amgylchedd datblygu. Byddwn yn gweld ei fod yma. Sylwch fod wrth i ni sgrolio i lawr, mae cylchoedd bywyd ychwanegol. Felly sylwi bod y rhain yn ymateb i ddigwyddiadau sy'n cael eu tanio gan yr amcan hwn, mae hyn gwrthrych deialog. Yn ddiofyn, mae ' lwytho a dadlwytho, a oedd yn ar gael i bawb Cwmwl 9 plug-ins. Ond mewn achos o ddeialog hon, mae ' digwyddiad arall y gall tân a elwir yn ogystal Draw, sy'n cael ei danio pan fydd y ar fin cael ei dynnu ar y sgrin, yn y lle cyntaf o'r ddeialog gan ddangos. Felly, pan fydd mewn gwirionedd mynd i gael ei ddangos, mae yn mynd i darparu i ni rai HTML. A defnyddio dim ond safonol Arferion HTML gallwn chwistrellu rhywfaint o wybodaeth syml iawn, ein byd helo, yn y ddeialog. Felly, os ydym wedyn yn sgrolio i fyny, y gallwn gweld wedyn yr orymdaith o bethau ei fod yn digwydd. Yn gyntaf rydym yn creu gorchymyn Cloud 9 pan gyflawnwyd gan Cloud 9, yn mynd i dân swyddogaeth hon. Mae'n mynd i redeg swyddogaeth hon Gelwir dangos deialog, fy mod i wedi ysgrifennwyd yn fy cod. Yr wyf yn creu eitem dewislen a ynghlwm wrtho yr un gorchymyn pan yr eitem honno ei glicio yn y fwydlen, sy'n ennyn wedyn yn cael ei redeg a bod y swyddogaeth yn cael ei wedyn yn rhedeg. Ac tu mewn y swyddogaeth rwy'n jyst yn mynd i alw the-- rwy'n jyst yn mynd i gyflawni'r sioe dull o plug-in hon, a oedd yn yn mynd i alwad gyntaf y dull tynnu, ac yn mynd i dân dull hwn i lawr isod, mae'r tynnu triniwr digwyddiad, yn ein cylch bywyd. Ac yna bydd yn mewn gwirionedd dangos y ddeialog. Mae hefyd yn ddull guddfan, fel bod os oes angen y cyfle i guddio fy deialog, alla i wneud yr un peth. Felly dyna 'n bert lawer iddo i gael yr holl o'r hyn weithio. Sylwch fod os y byddwn yn sgroliwch i lawr ymhellach mae 'na API cyhoeddus rewi. Mae hyn yn y bôn yn unig yn dweud fy mod yn eisiau dulliau hyn i yn effeithiol fod yn gyhoeddus, ond nid overwriteable y tu allan i'r cyd-destun y plug-in. Ac yn is, ar yr union gwaelod, Efallai mai dyma'r peth olaf sydd wir angen i ni dalu llawer o sylw i fan hyn, a oedd yn yw ein bod yn mynd i gofrestru ein plug-in gydag enw Seminar C9 1, a'r gwrthrych plug-in. Sydd, fel y byddwch yn cofio, yn hynny plug-in y plug-in gwrthrych ein bod wedi bod yn diffinio drwy gydol y cyfan o'r ffynhonnell hon Cod. Ac Seminar C9 1 yw'r llinyn a addawodd i ni i ddarparu ar y brig y diffiniad hwn. IAWN. Felly, gadewch i ramp i fyny ychydig bach a gweld os gallwn wneud rhywbeth ychydig yn fwy diddorol. Nawr mae hyn yn unig yw mor fawr. Yr wyf yn golygu, mae hyn yn, mewn gwirionedd mae'n eithaf oeri hynny mewn cyn lleied o linellau o god, gallwn addasu'r DRhA presennol ac ychwanegu eitem dewislen sy'n bodoli eisoes neu ychwanegu eitem newydd fwydlen, ychwanegu gorchymyn, ac yn dangos deialog, a dim ond bagad o ymarferoldeb sy'n bodoli. Mae'n wirioneddol eithaf mawr. Ond nid yw'n gwneud llawer oherwydd nad yw'n gallu cyfathrebu â'r Ubuntu gwaelodol enghraifft. Felly, gadewch i ni ddweud fy mod mewn gwirionedd yn awyddus i gael gwybod rhywfaint o wybodaeth am y gwaelodol Ubuntu enghraifft, fel yr ystadegau plug-in ei wneud. Felly, gadewch i ni edrych ar ychydig bach mwy o wybodaeth am sut y mae'r ystadegau plug-in gweithiau. Ac yn wir, mae'n debyg iawn i hyn. Efallai y byddwch yn cofio bod mae 'na deialog. Efallai y byddwch yn cofio bod yna rhywfaint o wybodaeth sy'n Dangosir ychydig ar hyd y bar dewislen ar hyd y brig, a oedd yn gobeithio yr ydych yn awr cael blas ar sut rydym yn rhoi ar waith hyn, dim ond drwy fewnosod eitemau ar y fwydlen yn benodol pwyntiau a thrwy instantiating deialog ac arddangos y ddeialog. Ond nid ydym wedi dangos eto chi sut y gallwn gysylltu i orchymyn yn y Ubuntu enghraifft sylfaenol. Felly, gadewch i ni edrych wedyn ar plugin.2, sy'n gwneud yn union y peth hyn. Rydym yn mynd i agor plugin.js, sef y cod ar gyfer hyn. Ond o dan y ddewislen Ffenestr, os byddaf yn cliciwch ar deialog 2, gallwn weld ei fod yn dweud y bydd hyn yn lle hynny, helo CS50, a oedd yn nid yw'n edrych holl ddenu hynny, dde? Ac eithrio, gwyliwch hyn. Gadewch i mi newid rhywbeth i lawr fan hyn. Rydw i'n mynd i fynd at fy lle gwaith a newid seminar i ddweud rhywbeth arall, fel Hello, Dan. Rydw i'n mynd i gau a'i gadw. Ac yn awr rwy'n mynd i ail-redeg fy eitem dewislen deialog. Ac yn yr hysbysiad ei fod wedi erbyn hyn wedi newid yr hyn y mae'n ei ddweud. Helo, Dan. Yr wyf yn ymddangos i wedi gwneud rhywbeth i lawr yma yn y Ubuntu achos sylfaenol heb fod wedi trin unrhyw cod hynny eto yn rhedeg yn unig ar yr ochr y cleient. Felly mae'n amlwg rhyw fath o cyfathrebu sy'n digwydd yma. Yn awr dyma lle mae llawer o'r pŵer y Cloud 9 SDK yn dod i mewn, yw ei fod yn plugin.2 hwn, gallwn achosi mewn gwirionedd galwad i ddigwydd i'r enghraifft sylfaenol, ac yn cynnal rhai archa mympwyol. Felly, yn yr achos hwn, yr wyf wedi mewn gwirionedd creu sgript bash syml iawn yn fy lle gwaith o'r enw Seminar. Felly gadewch i mi agor bod hyd. A gallwn weld ei fod yn edrych fel hyn. Mae'n dim ond bash syml iawn sgript a'i unig bwrpas mewn bywyd yn mynd i fod i atseinio allan y testun hwn, Helo, Dan. Neu cyn hynny, mae'n dweud Helo, CS50. A dyna i gyd ei fod yn mynd i'w wneud. Gan fod hyn bellach yn gorchymyn y gallaf ei redeg. Gall Fi 'n weithredol yn rhedeg i lawr fan hyn. Gallwn weld ei fod mewn gwirionedd yn unig gorchymyn yr wyf yn rhedeg yn naturiol. Gallaf ofyn fy plug-in i weithredu hyn gorchymyn ar y lle gwaith sylfaenol a dosrannu'r y wybodaeth a ddychwelwyd ohono, a gwneud rhywbeth ag ef, ac addasu fy plug-in a'r ymddygiad yr wyf yn gennym yn fy plug-in o ganlyniad. IAWN. Felly, gadewch i ni weld sut mae hyn yn digwydd. Rydym yn gweld hyn yn syml iawn Script Seminar swp fy mod [Anghlywadwy] ei fod yn gallu rhedeg mewn gwirionedd. Ac yn awr gadewch i ni weld yr addasiadau sy'n angenrheidiol i glymu'r hyn gyda'n gilydd gyda'r ffenestr ymgom, a'i redeg. Felly dyma ni yn mynd i wneud 'n bert lawer yr un peth fel y gwelsom o'r blaen. Ond yn sylwi bod ymhlith y pethau fy mod i wedi bwyta now-- yn ychwanegol at y ddeialog, a oedd yn eto yr wyf yn digwydd i wedi ei wneud ddwywaith, nad yw'n cael ei necessary-- yn ychwanegol at y ddeialog a'r gorchmynion ac mae'r bwydlenni plug-ins, a oedd yn yn angenrheidiol yn yr un cyntaf i mi i ddiffinio gorchymyn newydd a chwistrellu eitem i mewn i'r bwydlenni, Rwyf hefyd yn cael proc hwn plug-in. Ac mae proc hwn plug-in yn caniatáu ni i drin prosesau ar y lle sylfaenol. Rydw i wedi cysylltu iddo ar ôl i mi i wedi Dywedodd fod fy plug-in ei gwneud yn ofynnol iddo. Yna i wedi cysylltu i cod, fel y gwelsom yn y brif swyddogaeth. Unwaith eto, yr wyf i'n mynd i ymgychwyn fy deialog. Ac os ydym yn symud i lawr yn awr, yr ydym yn Gall weld sut mae hyn yn wahanol. Mae'r swyddogaeth llwyth yr un fath, felly dim ond ei fod yn mynd i greu gorchymyn a chreu eitem dewislen a chysylltu hynny eitem dewislen i hynny gorchymyn. Ond os ydym yn awr yn sgrolio i lawr i ddangos deialog, gallwn ddechrau i weld ble y gwahaniaethau yn codi. Mae gennym swyddogaeth yn dangos deialog, a oedd yn yn unig yn mynd i ddangos y ddeialog. Ond pan fyddaf yn dangos ddeialog hon, a pan elwir y dull sioe, mae'n tanau y swyddogaeth gystadleuaeth. Ac yr wyf i'n mynd i yna nodi'n rhywfaint o gynnwys y tu mewn o hynny. Felly, Im 'jyst yn mynd i creu div, yn darparu iddo rhywfaint o destun sylfaenol, Helo, byd. Ond yn sylwi bod yma fy mod mynd i roi ar ei wneud yn adnabod. A'r llinell nesaf un yr wyf yn mynd i ddod o hyd bod ID defnyddio JavaScript, ac yn ei storio y gwrthrych i mewn newidyn arall bod Im 'jyst yn mynd i alw cynnwys. Felly nawr pryd bynnag yr wyf wedi cynnwys, y cyfan sydd angen i mi ei wneud yn unig yw addasu HTML mewnol gwrthrych hwn. Ac mae'r HTML deialog bydd Yna, yn cael ei addasu hefyd. Felly, pan fydd hyn yn plug-in yn Yna ddangosir, a all ddigwydd ac mae hyn yn ddigwyddiad newydd sy'n newydd i'r plug-in, ond yn digwydd ym mhob plug-in gyda y ddeialog, pan fydd hyn yn awr yn cael ei ddangos, Rydw i'n mynd i alw swyddogaeth o'r enw nôl gwybodaeth. Ac mae swyddogaeth hon yw y cig ohono yma. Rydw i'n mynd i ddefnyddio'r proc plug-in bod disgrifiwyd o'r blaen, a oedd gyda llaw, mewn gwirionedd dim ond llyfrgell Node.js bod Cloud 9 yn cael ei defnyddio yma. Felly gallwch mewn gwirionedd edrych i fyny am y modd hwn yn gweithio os byddwch yn mynd i mewn i'r Dogfennaeth Node.js ac yn edrych i fyny y ffeil exec dull ar gyfer prosesau yno. Rydw i'n mynd i redeg benodol hon gorchymyn, cartref Ubuntu lle gwaith seminar, sef bod yr un un, bod un gorchymyn yr wyf yn ei greu o'r blaen. Darparu ato cerrynt cyfeiriadur gwaith, dim ond i fod yn ultra ddiogel o ran y cyd-destun lle mae hyn yn rhedeg. Ac unwaith sydd wedi bod cwblhau a'u dychwelyd, Rydw i'n mynd i redeg hyn swyddogaeth a elwir yn allbwn dosrannu. IAWN. Felly, mae hyn wedyn yn mynd i weithredu meistrolaeth ar y lleol, neu yn hytrach yr Ubuntu enghraifft o bell. Pan fyddaf yn mynd yn ôl rhai gwybodaeth, rwy'n yna mynd i alw swyddogaeth ar wahân Gelwir allbwn dosrannu, bod Mae gan lofnod hyn yma, cyfeiliorni, stdout, stderr, ac yn perfformio rhai cyfrifiant ar hyn. Felly os cefais gwall o ryw fath o gwbl, Byddaf yn mewn gwirionedd yn edrych i weld os mewn gwirionedd wedi camgymeriad rhywfaint o ddata. Ac os felly, yna byddaf yn newid y mewnol HTML o'r cynnwys hwnnw gwrthrych, a oedd yn yw eich galw i gof, rydym yn cysylltu â'r ddeialog yn y instantiattion o hynny deialog, neu yn y llun cyntaf o'r deialog. Rydw i'n mynd i jyst yn dweud bod rhywfaint gwall wedi digwydd. Nawr mae hyn yn rhy syml. Mae gwerth gwall fydd fel arfer yn cynnwys rhywbeth a oedd yn ddefnyddiol, efallai rhif gwall a camgymeriad gan y sgript ei hun. Neu os y sgript ysgrifennodd rhywbeth i wall safonol, byddai data yn cael ei phoblogaeth yn y paramedr yn ogystal. A allwn i fod ychydig bach fwy gofalus am yr hyn y gwall Im 'mewn gwirionedd yn dangos pobl. Ond mae hyn yn enghraifft syml yn ddigon da ar hyn o bryd hyd at o leiaf yn gweld sut mae holl swyddogaethau hyn. Fel arall, os oes dim camgymeriad, yna Im 'jyst mynd i ddarparu'r crai allbwn swyddogaeth honno i mewn i HTML mewnol cynnwys hwn elfen, ac yna diweddaru fy plug-in a'i ddangos yma. A dyna 'n bert lawer pob dyna angenrheidiol i gael hyn i redeg. Ac felly gadewch i ni feddwl am hynny sut mae hyn yn gweithredu, ar y cyfan. Pan fyddaf yn gyntaf llwytho plug-in hon, yn union fel y cyntaf plug-in, Rydw i'n mynd i ychwanegu gorchymyn sy'n sydd ar gael i unrhyw beth, i unrhyw plug-in yn Cloud 9, a elwir yn Seminar CS50 Ymgom 2, y mae eu cyfrifoldeb fydd i redeg y sioe hon deialog, sydd yn eich galw i gof, Bydd gwirionedd yn dangos y ddeialog fy mod gofynnir amdani isod. Yna byddaf yn ychwanegu bod gorchymyn i mewn i dewislen ffenestr fel fy mod yn cael mynediad at hynny. A phan y ddeialog Gofynnir cael ei ddangos, Byddaf yn nôl rhywfaint o wybodaeth oddi wrth yr Ubuntu enghraifft sylfaenol trwy ddefnyddio'r gorchymyn ffeil exec. Esgusodwch fi. Unwaith y bydd hynny yn cael ei ddychwelyd ac yr wyf yn derbyn rhyw gwybodaeth, yna ar y ochr y cleient unwaith eto, byddaf yn gallu gramadegu allbwn y gorchymyn a diweddaru'r mewnol HTML o'r elfennau ein bod wedi cysylltu â'r gynharach. A chyda hynny, byddwn wedyn yn cael mae hyn yn gwbl weithredol plug-in sy'n caniatáu i mi i nôl gwybodaeth o hyn sgript mympwyol ein bod wedi creu ar ein enghraifft sylfaenol. Ond unwaith eto, 'i' 'n sylweddol bwysig ac yn wir allweddol i wahanu lle mae pob un o'r pethau hyn yn digwydd, bod gennym i gyd ochr y cleient hwn cod sy'n cael ei redeg yn y porwr, ac nid oes gan fynediad i'r system ffeil sylfaenol hyd nes y byddwn mewn gwirionedd yn cynnal rhai o'r rhain gorchmynion sy'n cael eu darparu gan y Cwmwl 9 SDK fel proc, a rhai eraill sy'n ein galluogi i ddarllen rhywfaint o ddata, neu ddarllen rhai ffeiliau os oes angen i wneud unrhyw beth o'r math. Nawr mae hyn yn enghraifft braidd yn syml. Mae yna bethau eraill yr ydym efallai y byddai eisiau gwneud yn ogystal. Er enghraifft, efallai mewn gwirionedd rydym yn am arbed rhywfaint o wybodaeth at y dewisiadau. Neu efallai rydym am ychwanegu cwarel dewis newydd neu rywbeth ar hyd y llinellau hynny. Yna, mae hynny'n rhywbeth y byddwch yn Gall gymryd golwg ar y Cloud 9 SDK i gael rhagor o wybodaeth am. Ond mae hyn yn wir yn yn ddigon i ddechrau arni. Felly dim ond i fod ychydig yn fwy pendant am y ffordd y mae rhai o'r pethau hyn swyddogaeth, i ddim am ddangos unig un enghraifft fwy, sef dim ond rhai o'r cod yn y Stats 50 plug-in. Ac mae y cod hwn yn y bôn yn seiliedig ar yr enghreifftiau hyn eich bod wedi gweld mewn gwirionedd, ond mae rhai yn fwy mesurau diogelu ac mae ganddo rai mwy cymhleth er mwyn i gyflawni rhai o'r pethau ychwanegol yr ydym am eu cyflawni. Er enghraifft, os wyf am fod yn gallu arbed rhai lleoliadau, yna mae angen i mi gael mynediad i'r Settings plug-in, a phob tro yr wyf am i ddarllen rhai lleoliadau, Gallaf, er enghraifft, yn ei roi ar wahanol digwyddiadau yn y Settings plug-in. Felly, bob tro y gosodiadau yn goch, er enghraifft, yn fy hun plug-in, os ydw i'n mynd i ddarllen rhai lleoliadau o storio arbed dewisiadau'r defnyddiwr, yna gallaf gosod rhagosodiadau ar gyfer lleoliad penodol, ar gyfer dewis penodol, yn y JSON ffeil opsiynau arddull sy'n rydym wedi arbed yn gynharach, yr ydym wedi gweld yn gynharach. Ac os ydw i'n mynd i ysgrifennu rhai lleoliadau iddo, yna yr wyf yn can-- neu cyn gynted ag yr ydym yn canfod bod y lleoliadau wedi eu hysgrifennu canlynol-- oherwydd er enghraifft, y rhai lleoliadau wedi eu haddasu gan y defnyddiwr naill ai'n uniongyrchol yn eu lleoliadau ffeil, neu y cwarel dewis wedi newid y gosodiadau ffeil yn uniongyrchol, yna Gall Fi 'n weithredol yn diweddaru rhai o'r cod neu ddiweddaru ymddygiad fy plug-in yn seiliedig ar y newidiadau hynny sydd ddigwyddodd ar y ffeil gosodiadau hefyd. Ond mewn gwirionedd, gweddill mae'n eithaf llawer hyn yr ydych wedi ei weld yn barod. Rydym yn ychwanegu rhai, o bosibl rhywbeth sy'n newydd. Felly rydym yn ychwanegu ffeil dewis, neu yn hytrach cwarel dewis, at y ffenestr hoffterau, sydd unwaith eto gallwch gael rhagor o wybodaeth yn y Cloud 9 SDK yn darllen i mi. Ond mae popeth arall 'n bert lawer,' n bert yn debyg i'r hyn a welsom o'r blaen, dim ond gyda rhywfaint o wirio gwall ychwanegol ac mae rhai amddiffyniadau ychwanegol a rhai swyddogaethau ychwanegol i gynnwys pob un o'r gwahanol pethau yr ydym wedi gweld. Os oes gennych mewn gwirionedd weld eto, efallai y byddwch yn meddwl tybed beth mae'r sylfaenol gorchymyn yn y Stats 50 ffenestr. Mae'n mewn gwirionedd swyddogaeth. Wel, mae'n yw-- oh, dammit. Un eiliad. Dal ymlaen. IAWN. Gadewch i mi symud hyn i fyny fel y gallwn mewn gwirionedd weld beth sy'n digwydd pan fyddaf yn teipio Ystadegau 50. Sylwch fod yn yr achos hwn, mae'r gorchymyn fy mod allan rhoi mewn gwirionedd eto, dim ond y sgript sy'n mynd i allbwn bagad o wybodaeth mewn fformat JSON. A'r rheswm yr ydym yn ei wneud y modd hwn yw bod gan ein yn gweithredu, gan ein bod wedi ysgrifennu y cod ochr y cleient yn JavaScript, y gallwn yn hawdd iawn yn unig dosrannu gwrthrychau JavaScript, ac yn wir yn gallu trin gwrthrychau hynny yn union fel y byddem unrhyw wrthrych JavaScript arall. Ac felly mae hyn yn gyfleus iawn ffordd o ddarparu rhywfaint o wybodaeth o'r Ubuntu enghraifft sylfaenol, megis y rhif y fersiwn, y llu enwi, a yw gweinydd yn gwrando, beth y gweinydd yw, yn y blaen ac yn y blaen, a gramadegu hynny iawn hawdd ac yn gyflym iawn yn y plug-in sy'n cael ei wedyn yn mynd i ddangos i ni i gyd o'r wybodaeth honno. Felly unwaith eto, mae'r mewnwelediad allweddol yma i'w cadw mewn cof yn gwahanu hwn rhwng y lle gwaelodol, a hefyd lle y cod yn cael ei lwytho. Bod pan fydd gen i gleient, mae'n llwytho gyntaf. Dim ond y ffeil JavaScript statig o yn rhywle, efallai CDN o ryw fath. Nid oes rhaid i ni ofalu 'n sylweddol gormod am y cam cyntaf. Rydym yn unig yn gwybod ei bod yn yn rhedeg ar ochr y cleient a dyna pryd dwi'n mynd i cyfathrebu â yr achos hwn docwyr. Ein bod ni'n mynd i wneud hynny drwy'r Cloud 9 SDK. Nid ydym yn mewn gwirionedd yn cael y gallu, defnyddio JavaScript neu Node.js, i ysgrifennu yn uniongyrchol iddo. Rydym yn unig yn defnyddio rhai sydd eisoes yn bodoli SDK APIs i wneud hynny camau i ni. Ac eto, un o'r pethau pwysicaf yw bod pan fyddaf wedi creu hyn, pan fyddaf wedi creu plug-in hon, ac wrth i mi wyf yn gweithio arno, un o'r pethau pwysig i'w gwneud yw dod i fyny 'r chysura JavaScript. Oherwydd gan fod hyn yn gyd gweithredu ar JavaScript, ar yr ochr y cleient, os byddaf yn defnyddio method-- yn console.log felly dim ond i ddangos esiampl yma. Gadewch i ni geisio addasu'r hyn syml plug-in hefyd i logio rhywfaint o ddata. A byddwn yn ychwanegu allan safonol. Felly gadewch i ni newid hynny i fod yn iawn yma. Nawr pan fyddaf yn gweithredu console.log, cadwch mewn cof bod gan fod hyn yn rhedeg ar yr ochr y cleient, Byddaf yn gweld hyn yn fy mhen fy hun JavaScript consol, a oedd yn yw sut y byddaf wedyn yn gallu ceisiwch ddatrys a dadfygio rhai o'r problemau sydd gennyf. Sylwch fod oherwydd bod Yr wyf yn y modd SDK, rwy'n Yna, gall trin plug-ins ar yr achos hwn. Felly hyd yn oed er ei bod yn cadw ar yr achos hwn, hwn yw'r un enghraifft o hynny blaenorol rheol yn cael ei sathru, lle mae'r Cloud 9 Bydd SDK mewn gwirionedd yn tynnu plug-ins o gwaelodol enghraifft ac yna yn eu rhedeg. Fel bod yn y ffordd hon, rwy'n yna Gallu trin a llunio rhywfaint o plug-ins yma. Ond er mwyn i mi weld ddiweddariadau i'r plug-in, am ei fod ar yr ochr y cleient, Mae angen i mi gynilo bod plug-in ac yna ail-lwytho y lle gwaith cyfan, fel bod y newydd plug-in wedyn llwytho i lawr ar fy nghleient, ar fy porwr gwe, ac wedyn yn cael ei ddefnyddio. Felly nawr pan fyddaf yn clicio ar Seminar hwn Ymgom 2, rydym yn dal i weld hyn. Ond yn awr, gobeithio yn fy JavaScript deialog, dylem weld my-- aros, dal ar. Efallai rhaid i mi agor y ddeialog ffres. Dylem weld fy data a dderbyniwyd yma. Data a gafwyd, Helo, Dan, sydd yn eich galw i gof, Roedd llawdriniaeth console.log sy'n rydym yn gofyn yn y plug-in. Felly disgrifiad hwn, yna y soniais amdanynt o'r blaen, ddeialog hon, neu hyn diagram yn hytrach, yr wyf yn crybwyllwyd o'r blaen yw beth sy'n digwydd. Ond mae 'na pwysig eithriad yn unig ar gyfer datblygu, sef bod y plug-in ei hun efallai mewn gwirionedd yn cael ei storio ar y lle docwyr dros dro, gan fod yn ôl pob tebyg Cloud 9 nid yw am i ni allu trin gwrthrychau ar eu CDN. Ac mae'r Cloud 9 cleientiaid, ar ôl llwytho, Bydd yn dod o hyd rhai plug-ins yn hynny. C9 plug-in ffolder, ac yn llwytho hynny. Ond y rhai yn dal i ddigwydd Dim ond ar yr ochr y cleient. Felly, yna mae hyn yn unig y mae eithriad sy'n digwydd dim ond ar gyfer datblygu Cloud 9 plug-ins. Ond mae'r gweddill y adeg-- a'r rheswm yr ydym am eu 'n sylweddol morthwyl home-- hwn oherwydd bod y rhan fwyaf o'r amser hwn yw mynd i fod yn rhedeg o CDN, a dim ond yn mynd i gael ei redeg yn unig o ochr y cleient. Fel arfer, fe fydd unrhyw rhyngweithio gyda'r plug-in, neu nid oes rhaid hyd yn oed bod unrhyw rheswm bod y plug-ins eu hunain yn cael eu storio mewn gwirionedd ar y gwaelodol enghraifft docwyr, ac eithrio yn achos datblygiad SDK hwn. Felly unwaith eto, mae hyn yn newid dim ond ychydig oherwydd y ffaith ein bod yn rhedeg y modd SDK. Mae'n mynd i wedyn lwytho rhai ategion rhag datblygiad, a'r unig ddiben yma yw er mwyn i Gallaf ddefnyddio Cloud 9 i wneud datblygiad i Cloud 9 plugins. Ond hyd yn oed felly, nid yw hyn yn newid unwaith eto sut y mae unrhyw o'r hyn yn gweithio. Mae'n dal i gael eu cynnal yn gyfan gwbl ar yr ochr y cleient. 'I jyst yn golygu bod pryd bynnag yr wyf am creu Cloud 9 plug-ins yn Cloud 9, Yr wyf yn creu rhai plug-ins, eu rhoi yn fy. C9 ffolder / plugins yn fy nghartref cyfeiriadur, gwnewch yn siŵr fy mod yn y modd SDK, ail-lwytho'r dudalen bob tro rwy'n mewn gwirionedd gwneud newidiadau i'r plug-in, a gweld beth sy'n digwydd yn fy consol JavaScript. Dim ond yn rheoli fy JavaScript chysura i wneud yn siŵr bod unrhyw troubleshooting wybodaeth yr wyf yn gosod i chysura, neu unrhyw beth arall a allai ddigwydd oherwydd camgymeriadau fy mod wedi ysgrifennu yn fy cod neu debyg, yn ymddangos yno. A chyda hynny, 'i' 'n sylweddol yn ddigon i ddechrau arni, yr wyf yn meddwl, gyda'r Cloud 9 plug-ins. Yn enwedig gan gymryd golwg ar y SDK dogfennaeth sy'n Cloud 9 yn darparu. Mae'n ffordd wych o gael cychwyn, ac yn hawdd iawn creu rhai plug-ins ar gyfer Cloud 9. A chyda hynny, yr wyf am ddiolch i chi i gyd yn fawr iawn am ymuno â mi. Rwy'n gobeithio y byddwch yn cael hwyl ysgrifennu plug-ins ar gyfer Cloud 9. Gwella plug-ins Efallai sydd gennym yn awr, neu hyd yn oed ychwanegu rhai swyddogaeth eich hun. Rydym yn edrych ymlaen at weld beth yr ydych yn eu creu. Tan hynny, bye.