Mi a következő legjobb dolog a kódoláshoz? Természetesen a kódszerkesztő!
A kódszerkesztők a programozó lángháborúinak második legfontosabb oka (az első a kód formázása).
Egyeseknek a Vim az egyetlen ésszerű szerkesztő, amelyet valaha készítettek, másoknak mindazok, amelyek nem felelnek meg az Emacs kezdeteinek spirálisan fejbe forgó világának, csak nevetségessé válnak. Ha rosszul figyeli a figyelmet, akkor csak annyit kell tennie, hogy fel kell lépnie egy programozó közösségbe, és el kell indítania egy olyan szálat, mint „Miért gondolom, hogy az X (válasszon bármilyen népszerű kódszerkesztőt) szopni / a legjobb”, megragadni egy sört és pihenni.
Az érvek, ellenérvek és sértések egész éjjel folytatják a vitába öntést és a beszélgetésből való kihúzódást, és sok hónapba fog telni, mire a szálban lévő méreg kihűl..
A kérdés: miért?
Persze, az embereknek sikerül mindent megszerezni, de szerintem a kódszerkesztők különösek a programozók számára. Egy tipikus programozó ideje szinte egészét (több mint 98%, ha téttel tegyek) a választott kódszerkesztőre tölti. Ismerik a szerkesztő útját – erősségeit, gyengeségeit, korlátait, furcsa és rejtett gyöngyszemeit.
Semmi sem frusztrálóbb, mint hogy a kód írása közben küzdjön a szerkesztővel (gondolkodj, mennyire bosszantó, amikor el kell készítened egy hosszú és sürgős e-mailt egy új billentyűzetről!). A kódszerkesztők csökkentik a mentális súrlódást, és lehetővé teszik, hogy hatékonyabbá váljék, ezért annyira fontosak és olyan nagy figyelmet kapnak.
Szóval, ami a legjobb kódszerkesztő?
Őszintén szólva, még akkor sem merem merem odamenni!
Ha azonban webfejlesztésbe megy, akkor van egy alternatíva, amelyre gondolok: online kódszerkesztők!
Dióhéjban ezek olyan szerkesztők, amelyek teljes egészében a távoli szerveren találhatók, és a böngészőn keresztül érhetők el.
Furcsán hangzik, igaz?
Én is úgy éreztem, amikor 3-4 évvel ezelőtt találkoztam velük. Mi a fenébe kellene valakinek mindent átadnia egy hülye böngészőnek??
Lehet-e versenyezni egy natívan telepített kódszerkesztővel?
Kiderült, hogy a legtöbb esetben, és különösen a webfejlesztés esetében a válasz igen. Most, bár nem fogadtam el az online szerkesztőket mint elsődleges médiumot, azt tapasztalom, hogy egyre inkább egy adott forgatókönyvben használom őket..
Mielőtt belemerülnénk a felhasználható kódszerkesztőkbe, szüneteltessük és gondolkodjunk el azon, mikor lehet értelme az online kódszerkesztőknek.
Contents
Nulla beállítás
Nem tudok rólad, de a kedvenc szerkesztőm beállítása úgy, hogy tetszett neki egy új rendszeren, nem nagyon várom. Bővítmények, témák, betűtípusok, hivatkozások, kivonatok, beállítások. . . Van egy végtelen lista a dolgokról, amelyeket kiegyensúlyozottnak kell tartani, mielőtt az egész használhatóvá válik. Könnyű figyelmen kívül hagyni valamit, csak később bosszanthatja őket, ha megszakad a munkafolyamat.
Ezzel szemben nincs semmi köze az online szerkesztőhöz, miután az első telepítés befejeződött. Hivatalos építések, frissítések, éjszakai építések, támogatott platformok, rendszer-architektúra, FTP-szinkronizálás, CI / CD-csővezetékek – mindegyiknek nincs jelentősége, amíg van böngészője!
Együttműködés
Leggyakrabban együtt kell működnie más fejlesztőkkel, amikor problémákat dolgoz ki vagy hibákat keres.
A hagyományos kódszerkesztő nem erre épül – nincs lehetőség egyidejű kódszerkesztésre, kommentálásra vagy kiemelésre, és kihívást jelent annak támogatása..
Adatbiztonság
Feltételezzük, hogy manapság egyetlen projekt sem rendelkezik verziókontroll nélkül, ami azt jelenti, hogy a kód másolata mindig létezik a lerakatban. Ennek ellenére vannak olyan idők, amikor a verziószabályozás nem elegendő:
- Elfelejtette elnyomni az újonnan létrehozott kötelezettségvállalásokat, és a laptop tüzet okoz.
- Vannak más fontos fájlok és adatgyűjtők is, amelyekkel a kód kölcsönhatásba lép, bár ezek nem képezik részét az élő alkalmazásnak. Mi történik velük, ha a laptop felgyullad?
(Oké, úgy néz ki, hogy megszállottom vagyok a tüzet gyújtó noteszgépekkel, de érti, ugye?)
Fegyelem érvényesítése
Ezt ugyancsak vitathatják a fejlesztői jogok bíróságai (ha létezik ilyen dolog), de az igazság az, hogy a fejlesztők ritkán áldozzák szeszélyüket a közjó érdekében.
Például egy hardcore Sublime Text rajongó valaha is magáévá fogja venni a JetBrains kiváló szerkesztőit, és minden lehetőséget megragad a memória-éhes természetére és a lassabb teljesítményre..
Ugyanez vonatkozik a lapok és a szóközök (vagy akár a két szóköz és a négy szóköz lapok) – naiv vagy, ha úgy gondolja, hogy a csapatod programozói nem fognak szarvot rögzíteni.
Ilyen esetekben az online szerkesztő nagy segítség: dönti el a projektek beállításait (még a kód formázásának módját is), és egyszerűen megtagadja a munka elfogadását, amíg az nem felel meg az összes szabványnak. Talán kemény az egyénnél, de nagyszerű a projekt számára!
Mostanra már elfogynak a használati esetek, tehát vonjuk le, hogy milyen lehetőséget kínálunk online kódszerkesztőkhöz, különösen a webfejlesztéshez.
JSFiddle
Míg JSFiddle nem helyettesítheti a teljes értékű szövegszerkesztőt, az átkozottul jó munkát jelent az egyszeri előlapi parancsfájlok kezelésében.
Annyira népszerű, hogy a Q&A StackOverflowhoz hasonló webhelyek már támogatják a JSFiddle hivatkozások beágyazását közvetlenül a platformon.
A dolgok gyors megkezdéséhez a JSFiddle néhány kazánlemezt kínál az elején; ami azt jelenti, hogy ha szeretne beszerezni egy indítást, mondjuk a Reagálás elejét, akkor csak annyit kell tennie, hogy rákattint a megfelelő gombra, és elkezdi írni a kódot. Ha elment a Mentés gombra, a „hegedű” elmentésre kerül, és kap egy állandó URL-t (Nézze meg ezt a hülye hegedűt, amelyet létrehoztam: https://jsfiddle.net/tuqd76c4/, és vegye figyelembe, hogy megteheti a módosításokat, és nyomja meg a Mentés gombot új létrehozásához. ennek az URL-nek a verziója).
Íme, ami a JSFiddle-t életképes platformává teszi a webes front-end fejlesztéséhez:
- Ingyenesen használható (nincs rejtett díj vagy freemium funkciók). A JSFiddle támogatja magát hirdetéseken keresztül (legalábbis az írás megírásától kezdve), és az Adobe hirdetés a fenti képernyőképernyő bal alsó sarkában látható..
- Kódos együttműködési szolgáltatások – ideálisak koncepciók összeállításához, interjúkhoz stb.
- Több elrendezés, betűméret, világos / sötét témák stb.
- Kódformázás (takarítás), a linters (CSS és JS) közelgő támogatása és így tovább.
És most, rossz, rossz, a rossz dolgokért:
- A JSFiddle tisztán front-end szerkesztő. Nincs mód a kedvenc háttér nyelvének kódolására és futtatására.
- Itt nincs fogalom a fájlokról és mappákról (vagy ehhez a feltöltésekről). Mindössze egyetlen hely van a kódhoz, függetlenül attól, hogy mennyi van benne.
- A JSFiddle nem használható kód kiszolgálására a szerveren. A kódnak a JSFiddle-en kell lennie, és mindig nyilvános.
- Nincs lehetőség CI / CD csővezeték felépítésére, a Git használatára stb.
Ennek ellenére a JSFiddlenek van kedves pontja, és akkor ragyog, amikor el kell készítenie a koncepció bizonyítékait és együtt kell működnie a fény sebességével. Ez az online szerkesztõk egyik legfontosabb identitása és továbbra is marad.
CodeSandbox
CodeSandbox úgy tekinthető, mint egy sokkal erőteljesebb és teljesebb JSFiddle vállalkozás. A nevét igazán a CodeSandbox teljes kódszerkesztő élményt és homokos dobozos környezetet biztosít a front-end fejlesztéséhez.
A CodeSandbox egy igazi erőmű és édes, édes termék. Elfogyna a papír, ha megpróbálom felsorolni annak összes előnyeit, de itt van néhány gyilkos tulajdonság:
- Npm támogatás: Igen, hozzá lehet adni minden olyan csomagot, amely elérhető npm-en.
- Fájlok, mappák, modulok: Kódját több fájlra bonthatja, képeket adhat hozzá / eltávolíthat a nyilvános mappából, és modulokat építhet, illetve importálhat, ahogy tetszik. A munkafolyamat tükrözi a modern modulcsomagot, így nem kell (szinte) semmit beállítania.
- Támogatás a TypeScripthez, forró újratöltés, GitHub exportálás, statikus fájltárolás stb.
- Épül Monaco szerkesztő, ugyanaz a vadállat, amely a kedvencet hatalmazza VSCode szerkesztő. Ez olyan hatékony funkciókat hoz, mint például a „Ugrás”, a „Referenciák keresése”, és a szükséges refaktálás a keze ügyében!
- Kivonat támogatása Hangya
- Integrált DevTools, becsempészés, hibafedések, tesztelési keretrendszerek (Jest), kulcstartók és egyebek.
- Erőteljes cli a helyi projektek közvetlen importálásához a CodeSandboxba.
Noha a CodeSandbox ingyenes verziója nem támogatja a privát kódot, ezt a funkciót megszerezheti (és az általános méretkorlátozást növelheti) azáltal, hogy Patreon havonta mindössze 5 dollárért (fizetjen, amit akar, havonta akár 50 dollárig is).
CodeAnywhere
A probléma a listán szereplő legtöbb kódszerkesztővel (legalábbis eddig) az, hogy számítanak arra, hogy minden időben megtartják a kódot a kiszolgálóikon, vagy megkövetelik, hogy rendszeresen szinkronizálja a kódot a parancssoron keresztül.
Nem így van CodeAnywhere.
A legerősebb CodeAnywhere két olyan funkcióval rendelkezik, amelyek számomra kiemelkednek:
- Előre beépített tárolóképek 72+ programozási nyelvekhez és keretekhez. Ez azt jelenti, hogy új fejlesztési környezetet biztosíthat közvetlenül a szerkesztőből! A kód természetesen automatikusan az újonnan létrehozott tárolón tárolódik, és a fájlok közvetlenül onnan lesznek kiszolgálva.
- Csatlakozz bármihez. Igen, szó szerint bármi. Nem köteles a kódot a CodeAnywhere szerverein tárolni. Függetlenül attól, hogy kódja FTP-en, fájlmegosztó platformon, például Dropbox, Amazon S3, vagy olyan kifinomult verziókezelő platformon, mint a GitHub található, könnyen beállíthatja a CodeAnywhere oldalt, hogy az erről a forrásról olvasson, és azt írja, a kódszerkesztő segítségével pusztán azért. . . Nos, a kódszerkesztés.
Még egy dolog, amelyet rámutatok: ha nem igazán érzi magát Gitnél, amikor a történelem és a különbségek láthatók, a CodeAnywhere megkönnyebbülésnek érzi magát. A szerkesztő a diff rendszerét használja a fájlok összehasonlításához, amely lehetővé teszi, hogy két fájlt összehasonlítson bármelyik két revízió között (minden fájl mentésekor létrejön egy revízió).
Van némi előnye a javításoknak – az ingyenes verzió lehetővé teszi, hogy csak egy verziót tartson fenn, míg a legkisebb fizetett csomag legfeljebb 20 verziót tesz lehetővé. Általánosságban elmondható, hogy ez nem jelent problémát, mivel ritkán akarja megnézni az elmúlt 20. verziót, de mivel a legtöbb programozónak megvan a szokása, hogy percenként néhányszor nyomja meg a Mentés gombot, fájdalmas lehet..
Mindent elmondva: a CodeAnywhere szilárd, kellemes ajánlat azok számára, akik a Felhőbe költöznek és ott maradnak. Mivel a hatalma meghaladja a front-end kódot, véleményem szerint erősen ajánlott!
StackBlitz
Ha többnyire front-end-ben van, és nem tud elmozdulni a VSCode felülettől, StackBlitz csak neked hozták létre.
Nem lát semmi különlegeset? Én csak akkor csináltam, amíg egy kicsit le nem görgettem és nem kattintottam a Szög gombra. Bumm!
Találd ki, hogy nem szándékosan úgy alakították ki, hogy úgy néz ki, mint a VSCode – épül a VSCode szerkesztőre! Annyira, hogy telepíthet kiterjesztéseket, kereshet a mappákban és rendezheti a fájlokat, ahogy azt a szokásos VSCode példánytól elvárnák..
De várjon, van még más!
Lehet, hogy nem észrevette, hogy:
- Az összes StackBlitz-en létrehozott alkalmazás automatikusan telepítésre kerül a szerverükön! Tehát ezt a szögletes játékalkalmazást, amelyet most készítettem, automatikusan tárolom a https://angular-yvyi2j.stackblitz.io/ oldalon. Valószínűleg az URL továbbra is működik (lassan töltődik be, ugyanúgy, mint amire számíthattál, amikor ingyenesen tárolja)!
- Villázhat és megoszthatja a projektet. A megosztás közben finomabb ellenőrzést kap a többiek teteje felett.
- Csatlakozhat egy GitHub-tárolóhoz, és engedélyezheti, hogy a kódot közvetlenül innen húzza / tolja. Vagy egyszerűen letöltheti a projektet ZIP formátumban is a jó módon.
De várjon, van még más!
Komolyan!
Itt található a StackBlitz által kínált hivatalos szolgáltatások listája:
- Natív támogatás a Firebase-hez (amit nem használok személyesen, de hé, nagyszerű segítség azok számára, akik nem akarnak belemerülni a háttér homályos mélyeibe)
- Intellisense, Projektkeresés
- Forró újratöltés gépelés közben
- Importáljon npm csomagokat
- Szerkesztés offline módban, ha nincs csatlakoztatva!
A StackBlitz tele van (gyönyörű) meglepetéssel, amikor az akadályokat el kell távolítani a webfejlesztésből és a telepítésből. A VSCode beágyazása a webhelyre már nem az álmok dolga!
AWS Cloud9
A Cloud9 vitathatatlanul az első böngészőalapú IDE volt, amely komoly funkciókat kínált, és felvette a böngésző-szerkesztőként történő mainstream koncepcióját. Nem csoda, hogy az Amazon később megszerezte, és ma is, Cloud9 része az AWS kínálatának.
Ha még távolról is csatlakozik az AWS-platformhoz (vagy érdekli azt), akkor a Cloud9 ad helyet a tökéletes (oké, közel tökéletes) szerkesztő kereséséhez. Lássuk miért:
- A Cloud9 használatáért nincsenek felárak. Csatlakoztathatja a Cloud9-t egy meglévő / új AWS számítási példányhoz, és csak azért fizet. SSH-n keresztül csatlakozhat egy harmadik fél szerveréhez – pontosan díjmentesen!
- Első osztályú támogatás az AWS kiszolgáló nélküli alkalmazásokhoz (hibakeresés stb.)
- Közvetlen terminálhozzáférés az AWS-hez a szerkesztőből (őszintén szólva, egy tisztességes szerkesztő-beli, fülelt terminál az, ami még mindig hiányzik a VSCode-ban)
- Több mint 40 programozási nyelv támogatott (Go, C ++, Ruby, Node, Python, PHP, Java … válasszon)
A Cloud9 együttműködési funkciói szintén kívánatosak, lehetővé téve az áttekintéseket / interjúkat zökkenőmentesen.
Egy másik gyilkos szolgáltatás a fájlban végrehajtott változtatások video stílusú lejátszása, amely örömtelivé teszi a felülvizsgálati folyamatot:
A tanácsom?
Ha belépett az AWS-be, akkor ne várjon, és ragadja meg most a Cloud9-t. És ha még nem vagy a felhőn, de gondolkodni akarsz egy lépésről, ölelje át az AWS-t, és integrálja a Cloud9-et a munkafolyamatba. Semmilyen módon nem hozhat jobb döntést!
CodeEnvy
CodeEnvy egy hatékony felhő-szerkesztő, amely a Docker tárolókat használja az előre konfigurált és elkülönített fejlesztői környezetek futtatásához. A nyílt forráskódú Eclipse Che cloud IDE-re épül, és rengeteg skálázhatóságot és DevOps lehetőséget kínál.
Az írástól kezdve a CodeEnvy-t megszerezte a RedHat (amelyet mulatságosan maga az Oracle is megszerez!).
Gitpod
Gitpod egy felhő kód-szerkesztők (vagy IDE-k, ha akarod) frissítő feladata, amelynek célja a kód folyamatos tesztelése és naprakészen tartása. Más szóval, mélyen integrálva van a GitHub-ba, és minden egyes kód hozzáadásakor futtatja a tesztelési és CI / CD-csővezetékeket, hogy megbizonyosodjon arról, hogy a kód mindig 100% -ban egészségben van.
Érdemes megnézni, szereti-e a VSCode-élményt, és szeretne valamit, amely támogatja az összes fő háttér-kezelő nyelvet és keretet (Django, Rails, Revel, te neveled).
Theia
Ha Ön egy kemény SOLID rajongó és egy nit-picking szoftver építész, akkor a Theia IDE megcsípte az aggodalomra okot adó csontot. Ez egy TypeScript-kódolású (öt pont a stílushoz azonnal!) IDE kód, amely tökéletesen elkülöníti a kezelőfelületet és a hátteret. A kezelőfelület egy böngészőben fut, míg a háttérprogram bárhol lehet – helyi gépen vagy a felhőben!
De ez még nem minden – a kezelőfelület egy teljesen működőképes, elkülönített böngészőkörnyezettel rendelkező Electron alkalmazásként futtatható, amely natív asztali alkalmazás megjelenését és hangulatát nyújtja, ha igyekszel..
Coder
Habár a webhely nem mondja el egyértelműen, Coder egy VSCode környezet, amely egy kiszolgálón van csomagolva, amely helyileg vagy a felhőben is futtatható. Az ajánlott konfiguráció az IDE kiszolgálóként történő futtatása a felhőben, és a böngészőn keresztül helyileg elérhető. Vannak előre beépített Docker képek a problémamentes beállításokhoz, és egy vállalati tervre van szükség, ha támogatásra van szüksége, vagy eltérő igényei vannak.
Következtetés
Ez többé-kevésbé az összes IDE-t és kódszerkesztőt lefedi az írástól kezdve. Kétféle ajánlatot hagytam ki ebben a listában: azokat, amelyek pusztán interjúkra koncentrálnak, és nem rendelkeznek teljes környezettel (kivéve természetesen a szeretett klasszikus JSFiddle-t), és azokat, amelyek nem látszanak valamit lényeges és alig több, mint egy karcsú honlap.
Ha úgy gondolja, hogy valami érdemel itt lenni, tudassa velem, és hálás leszek!