JavaScript editorin valinta

Editorin valinta – kriteerit ja valinnan vaikeus

Editorin/koodausympäristön valinta on osittain mielipidekysymys. Valittaessa JavaScriptille sopivaa editoria, tarjolla on useita ehdokkaita. Editoria valitessa kriteereiksi voisi asettaa ainakin seuraavia ominaisuuksia:

  • Koodin täydennys eli code complete -ominaisuudet. Helpottaa koodausta huomattavasti kun editori ehdottaa sopivaa täydennystä ja näyttää samalla helpin kyseisestä asiasta.
  • Navigointiominaisuudet. Haluatko päästä navigoimaan tiedostojen ja funktioiden välillä sujuvasti?
  • Koodin oikeellisuustarkistus. Jos koodissa on syntaksivirhe, on kätevää jos editori näyttää kohdan heti punaisella.
  • ”Marking of Occurrences” eli jos valitsee koodista esim. muuttujan, editori korostaa muuttujan muut esiintymät koodista. Tämä tärkeä ominaisuus löytyykin jo käytännössä jokaisesta editorista.
  • Refaktorointiominaisuudet. Jos näihin on tottunut, ilman on vaikea pärjätä. Nopeuttaa työtä ja auttaa parantelemaan koodia lennossa jolloin koodista tulee selkeämpää.
  • Debuggausominaisuudet. JavaScriptinkin kanssa debuggaus on mahdollista ja saattaa helpottaa ohjelmointia huomattavasti.
  • Integraatio versionhallintaan. Onko tarpeen esim. suora integraatio GitHubiin?
  • Työkalun keveys. Pientä projektia tai yhtä tiedostoa muokatessa riittää kevyt editori mutta laajan projektin hallinta sujuu paremmin kunnollisella IDE työkalulla. Oikea työkalu oikeassa paikassa.
  • JSON tuki. Kätevä jos haluaa käsitellä JSON tekstiä editorissa.
  • Tukeeko niitä frameworkkeja/moduuleita joita tulet projektissa käyttämään? Jos kyseessä on vaikkapa AngularJS -projekti, olisi editorissa hyvä olla tuki AngularJS:lle. Node.js tuki?
  • Hinta. Ilmaiseksi on saatavilla varsin hyviä työkaluja mutta jos pääset valitsemaan vapaasti ja esim. työnantaja maksaa lisenssin, valikoima laajenee ja tarjolle tulee ammattimaisempia ominaisuuksia.

Tuumasta toimeen ja editoria etsimään

Asetamme nyt editorille seuraavat vaatimukset/odotukset:

  • ilmainen
  • JavaScript navigointi, syntaksin tarkistus, code complete yms ominaisuudet
  • file Explorer tarvitaan integroidusti
  • debuggaustuki plussaa
  • integraatio versionhallintaan plussaa

Seuraavassa muutamia ehdokkaita. Muitakin varmasti on mutta nämä nousivat tällä kertaa esiin.

IDE kehitysympäristöt

  • Eclipse
    • JSDT eli JavaScript Development Tools tarjoaa hyvän setin JavaScript -ominaisuuksia Eclipseen
    • Core ominaisuudet: http://wiki.eclipse.org/JSDT
    • JSDT mainoslause: Eclipse project aimed to build the most accurate JavaScript IDE while keeping it very fast
    • Uusin versio 3.8 julkaistu hiljattain (22.6.2016)
    • JSDT webbisivu: http://www.eclipse.org/webtools/jsdt/ Tärkeimmät ominaisuudet lueteltu tämän sivun linkkien takana.
    • JSDT projektisivu jossa myös download: https://projects.eclipse.org/projects/webtools.jsdt
    • valitaan jatkoon koska tutumpi ympäristö kirjoittajalle kuin NetBeans
  • NetBeans
    • hyvät ominaisuudet JavaScriptin koodaamiseen
    • kehittyvä ja monipuolinen
    • löytyy hyviä tutoriaaleja miten pääsee alkuun
    • The following JavaScript frameworks are supported: jQuery, JSON, Knockout, Ext Js, AngularJS, JsDoc, ExtDoc, and ScriptDoc.
    • Node.js tuki löytyy myös
    • Tietoa HTML5 ominaisuuksista: https://netbeans.org/features/html5/
    • hyvä vaihtoehto!? Ei kuitenkaan jatkoon ainakaan vielä. Hyvä AngularJS editori?
Kevyet editorit
  • Notepad++
    • heikohko tuki JavaScript koodaukseen?
    • joitakin plugineita saatavilla mutta ei vaikuta lupaavalta
    • JSON viewerinä ok?
    • ei jatkoon
  • Sublime Text
    • versio 3 on tällä hetkellä Beta vaiheessa
    • evaluointikäytössä ilmainen, ei kiinteää aikarajaa evaluointikäytölle
    • js ominaisuudet plugineilla
    • uusia ominaisuuksia kehitetty mutta silti melko rajallinen toiminnallisuus?
    • https://www.sublimetext.com/3
    • ei jatkoon
  • atom.io
    • code complete yms. ominaisuuksia
    • välilehdet
    • file system browser ikkunan reunassa
    • kevyt ja moderni
    • Atom is a desktop application built with HTML, JavaScript, CSS, and Node.js integration
    • https://atom.io/
    • kokeilemisen arvoinen mutta ei kuitenkaan jatkoon
  • Visual Studio Code
    • Microsoftin uusi kevyt editori, jossa melko hyvä JavaScript tuki
    • kevyt ja kehittyvä, tuore
    • moderni ulkoasu
    • täysin ilmainen ja open source vaikka Microsoftin tuote
    • simppeli file explorer tiedostojen välillä siirtymiseen
    • navigointi, syntaksin tarkistus, code complete, Marking of Occurrences, yms. perustoiminnot
    • debuggaus
    • git tuki
    • ladattavissa erilaisia laajennoksia
    • https://code.visualstudio.com/
    • valitaan jatkoon
Näillä työkaluilla aloitetaan: pienenpiin projekteihin Visual Studio Code ja isompiin projekteihin Eclipse + JSDT. Aika näyttää, riittävätkö näissä ominaisuudet mutta uskoisin että näillä pääsee hyvin vauhtiin!