det är början på ett nytt decennium, och det finns utan tvekan många förändringar framför oss. Vad har 2020-talet för JavaScript-ramar?
bara för att börja med: JavaScript kommer fortfarande att betyda 2030. Jag vet inte om det kommer att ha den Dominans det har idag (bommen i serverlös arkitektur i synnerhet är ett stort hot mot Node, och Node är en stor del av varför JS har en sådan prestige position), men det är alldeles för ingrodd i absolut allt för att det bara ska försvinna. Det finns fortfarande arbete som upprätthåller COBOL 2020, och—även om någon nykomling kommer med och suger stansar hela JavaScript—ekosystemet i glömska-kommer det att finnas gott om JS-arbete 2030.
jag tror inte att något nytt som kommer med kommer att blåsa JS ur vattnet heller. Det är mer troligt att många mindre tekniker kommer att nibble bort vid kanterna, och det kommer gradvis att slita bort vid JS dominans. Det är svårt att säga hur 2030 kommer att se ut, men jag tror att JS fortfarande kommer att vara runt, nära toppen av högen, men börjar slita runt kanterna lite.
det är värt att notera att Angular och jQuery tillsammans står för knappt hälften av alla JavaScript-jobb som går, och båda har övervägts på väg ut i flera år nu. Medan de förlorar mark varje år finns det fortfarande massor av värde för att förstå dem, och jag tror att det är en mikrokosmos av vad vi kommer att se med JS under de kommande tio åren: nyare och bättre saker kan komma med, men JS har så mycket fart att det kommer att bli mycket svårt för någonting att dra det ur kurs.
Detta är allt väldigt brett, så låt oss gräva i detaljerna.
React
React var alltid populärt, men jag tror att de senaste åren är när React blev bra. Riktigt bra. Det var alltid en anständig JavaScript-ram, men de senaste åren av uppdateringar har verkligen tagit saker till nästa nivå; 16.4.0 lade till pekarhändelser och 16.8 lade slutligen till krokar som en del av en stabil release. Jag är verkligen nöjd med React-teamets senaste arbete och jag vet att jag inte är ensam där.
huruvida detta förblir fallet under årtiondet kommer att bero på många saker utanför teknikvärlden: det finns rumblings i Washington om att åberopa Sherman Act på Facebook och det är oklart om de kommer att gå någonstans. Facebook som bryts upp kan definitivt slå reagera ur sin topplacering, men även då tror jag att det skulle ta ett par år att verkligen börja sjunka.
om Facebook får fortsätta som det är och inga större förändringar händer i deras förmåga att producera ny programvara, kan jag inte se React gå någonstans någon gång snart. Det är för stort, det är för bra, och det är bättre att lägga till nya funktioner än andra stora biljettutgåvor som Angular.
Typescript
JavaScript har inte alltid varit bra om att lägga till nya funktioner, men jag tror Typescript når en punkt av popularitet där JS kommer att börja tänka på cribbing från det. När JS lägger till inbyggda funktioner som bättre statisk typning, kommer du förmodligen att se Typescript falla av mycket. Jag tror inte att det kommer att hända 2020, men 2030? Helt. Detta är ett mönster som vi har sett i programmering mycket: språk x har ett problem, så utvecklare skapar ett ramverk eller verktyg för att fylla hålet, det blir populärt, sedan släpper originalspråket en ny version som antar dess funktioner och ramverket dör av. Typescript fyller ett viktigt gap från och med 2020, men när JS pluggar det gapet måste Typescript ställa sig några allvarliga frågor.
Vue
jag ska gå ut på en lem här och säga något jag inte är särskilt glad över att säga: Jag tror inte att Vue har mycket av en framtid. Jag älskar Vue, men om det skulle ha sitt ögonblick skulle det ha haft det nu. Det är inte den snygga nykomlingen längre, och hungrigare JavaScript-ramar som Svelte nippar på sina klackar. Det finns förmodligen en verklighet där Vue är den dominerande JS-ramen, men i vår verklighet kom React och ångade alla. Om inte något extremt händer som gör React mindre livskraftigt i framtiden, som Facebook stänger av eller bryts upp, är det inte troligt att någonsin ta över React i popularitet.
Svelte
det är svårt att säga om Svelte kommer att bli nästa stora sak. Det är verkligen en underbar liten JavaScript-ram, men Vue är också underbart, men det kämpar för att konkurrera med ReActs FAANG-pengar; det kommer att ta mycket talang för att någon ska kunna sätta upp Facebook, och Facebook kan nästan säkert Betala den talangen bättre. Det är ett sorgligt faktum att mindre open source—projekt—oavsett hur värdefulla-ofta kämpar för att få industrins penetration av utgåvor från stora företag. Jag vill se Svelte lyckas, men jag är inte vid en punkt där jag skulle lägga pengar på det.
Angular, AngularJS och jQuery
jag klumpar ihop dessa JavaScript-ramar eftersom de alla är ganska lika i slutet av dagen: de är ganska impopulära idag, men de har uppnått en penetrationsnivå som gör dem svåra att undvika. jQuery och AngularJS var lika allestädes närvarande i det förflutna som React är nu; våra team gör fortfarande mycket underhållsarbete på båda, och jag ser inte att det ändras någon gång snart. Jag har pratat mycket om momentum idag och det är av goda skäl: teknologier ersätts definitivt, men de stora har en vana att hålla sig kvar under mycket lång tid efteråt.
TensorFlow.js
här är mitt jokertecken, men TensorFlow tar nu JavaScript, och jag tror att det kommer att ändra JS på samma sätt som Node gjorde 2009. AI kommer att bli den stora gamechanger på 2020-talet, och TF är det bästa verktyget vi har just nu för att bygga neurala nätverk och maskininlärningsalgoritmer i JavaScript. Det är också ett bra verktyg: jag har bara dabbled, men det är robust och mångsidigt och jag kan inte vänta med att få händerna på det lite mer.
jag tror inte att AI och ML är ganska där ännu, men de är definitivt inte långt borta, och jag tror att deras tillgänglighet och användning kommer att explodera under de kommande tio åren. TensorFlow är öppen källkod, det har mycket talang och finansiering bakom sig, det har C++ och Python-folk som arbetar med egna projekt som du kan ta inspiration och få råd från.
just nu är huvudbarriären hur komplexa neurala nätverk är, men jag kan se att barriären kommer ner. Vi ser att en hel del i tech: något som containerisering fanns under mycket lång tid men det fanns en hög kompetensbarriär, då kom Docker och gjorde den tillgänglig för fler utvecklare och plötsligt finns containrar överallt. Vad AI / ML behöver är ett Docker-ögonblick som sätter det i händerna på vardagliga utvecklare, och jag kunde se TensorFlow.js är en del av det.
Okej Men Vad Betyder Det För Mig?
tioårsprognoser är svåra, och tioårsprognoser i något så flyktigt som JavaScript är särskilt svåra. Node fanns knappt tio år sedan, och det tog JS i riktningar ingen av oss förväntade. Det kommer alltid att bli mycket säkring när du försöker göra denna förutsägelse, för det är omöjligt att berätta vilken ny teknik, för närvarande på någon undergrads bärbara dator, kommer att blåsa hela saken i sidled.
som sagt, jag skulle satsa tungt i AI / ML, och jag tror TensorFlow.js kommer sannolikt att vara mycket viktigt i den förändringen. Jag tror också—om du inte redan hade-att learning React är en mycket användbar jobbfärdighet som du kommer att kunna utnyttja länge. 2010-talet var ett decennium av squabbling, där olika JavaScript-ramar kämpade varandra för dominans, men React verkar ha väl och verkligen vunnit den kampen och jag misstänker att 2020-talet kommer att bli mer av ett monolitiskt decennium, dominerat av ett mindre antal större tekniker.
sammantaget tror jag att det kommer att bli ett intressant decennium. JavaScript-ökningen har börjat sakta och mogna, och det betyder att en nedgång är någonstans i vår framtid, men jag tror att det är ett sätt att gå ännu, och att investera i JavaScript är fortfarande lika smart som det var 2014. Jag är inte säker på att jag kommer att ge samma råd 2030, men för tillfället är mina pengar fortfarande på JS.
om du är en utvecklare som söker arbete, har vi Javascript-jobb för freshers i Kolkata, Indien. Om du är intresserad av att läsa mer om programmeringens framtid, läs vår analys av GoLang.