Hvor populær er JavaScript i 2019?

Foto: Rus - sorthalset stiltflok jordbærvej (CC BY 2.0)

Når folk spørger mig, hvilket sprog de skal lære, siger jeg dem at starte med JavaScript. Hvorfor? JavaScript er det vanlige programmeringssprog på nettet, og den software, du skriver med JavaScript, kan bruges af alle.

Software spiste verden, internettet spiste software, og JavaScript spiste internettet.

Dette er nok for mig. Jeg vil skrive software, som enhver kan bruge, og stort set alle, der har en internetforbundet enhed med en skærm, kan bruge apps skrevet i JavaScript.

Der er mange måder at rangere programmeringssprog på. En håndfuld indeks dominerer Google for søgeudtrykket "programmering languge index". Vælg din favorit. Disse indekser rangerer henholdsvis JavaScript # 7, # 3 og # 1.

Uanset hvor det falder i din yndlingsrangering, er JavaScript en af ​​de største udfordrere i den virkelige verden. Jeg argumenterer ofte for, at det er det mest anvendte programmeringssprog i verden. Det, jeg mener med det, er, at flere programmerere skriver JavaScript end noget andet programmeringssprog i verden. Hvis du stablede al den kildekode, der blev skrevet i det sidste årti, i bunker, ville JavaScript være den største bunke.

Dette afspejles i antallet af pakker, der er tilgængelige i programmeringssprogens pakkelager. JavaScript's standardpakkeadministrator har flere pakker end Java og PHP kombineret:

Denne tendens afspejles også på GitHub:

GitHub Top Sprog over tid

Men har ikke disse andre sprog bedre standardbiblioteker? Ville det ikke medføre, at der er behov for meget flere pakker til JavaScript? Jo da. Absolut. Det giver jeg dig. Og det kan muligvis udgøre et par tusinde pakker. Men vi taler ikke om et par tusinde. Der er over 800.000 pakker på npm, de fleste er tilgængelige til open source-brug i dine applikationer. Der er helt klart meget mere til denne dominans end kvaliteten af ​​standardbiblioteket.

Lad os bekræfte dette med nogle flere data. Som jeg nævnte, JavaScript er det almindelige programmeringssprog på nettet, og nettet er den mest anvendte computerplatform, der nogensinde er bygget.

Der er over 1,6 milliarder websteder i verden, og JavaScript bruges på 95% af dem (1,52 milliarder websteder med JavaScript). I kraft af dette faktum kører praktisk talt enhver computerenhed, der er i brug i dag, JavaScript, inklusive iPhones, Android-telefoner, Apple Mac OS, Microsoft Windows, Linux, smart TV'er osv.

Der er omkring 800 millioner Windows 10-enheder installeret i verden og cirka 800.000 apps i Windows Store. Det er dog radikalt at tælle antallet af apps, der fungerer på Windows. Distribution af apper til Windows blev domineret af direkte downloads længe før konceptet med officielle app-butikker blev populært, og Windows 10 vil med glæde køre apps skrevet til tidligere versioner af Windows. Det er muligt, at Windows kører op til 35 millioner apps - skrevet på forskellige sprog, domineret af C, C ++, Visual Basic .NET og C #.

Web vs Windows, iOS, Android efter rå appnumre. De manglende er for små til at se i forhold til websteder.

Java er en anden topkonkurrent til det mest anvendte programmeringssprog i kraft af det faktum, at det er modersmål for den mest populære mobile computingplatform i verden, Android. Vil du skrive en native app til en Android-telefon? Det vil næsten helt sikkert blive skrevet i Java og blive installeret fra Android-butikken.

Der er 2,3 milliarder mobile enheder, der kører Android og apps skrevet til Android. Men der er kun 2,1 millioner apps i Android-butikken.

Vil du skrive en native app til iOS? Der er omkring 1,8 millioner apps i Apple-butikken, hvoraf de fleste er skrevet i mål C eller Swift. Det er to sprog, der konkurrerer om dominans på den 2. mest populære mobile computerplatform i verden.

Sprog på serversiden er bestemt populære, inklusive Java, Python, PHP, Ruby og Scala, men Node.js er også meget populær på serversiden, og den bruger JavaScript.

Der er omkring 7 milliarder IoT-enheder i verden. De øverste platforme er AWS IoT (C, JavaScript) og Google Cloud IoT (JavaScript, C, C ++, Go). Almindelige sprog til enhedsprogrammering til IoT inkluderer C, C ++, JavaScript og Java. På trods af det store antal massemarkedsfremstillede IoT-enheder, der er, er der størrelsesordrer færre softwareudviklere, der programmerer til IoT-enheder, end der er programmering til webplatformen, og størrelsesordrer mindre kode bliver skrevet til dem.

Alt det sagt, i det første årti eller deromkring af nettet, blev JavaScript brugt til lidt mere end musemarkøren animationer og små beregninger for at få statiske websteder til at føle sig mere interaktive. Lad os antage, at 90% af alle websteder, der bruger JavaScript, bruger det på en triviel måde. Der er stadig 150 millioner betydelige JavaScript-applikationer:

Web vs alt andet, hvis man antager, at 90% af websteder ikke kan kvalificeres som “apps”.

Selv hvis vi decimerer webnumrene igen, ville webplatformen stadig være større end Android og iOS kombineret:

Skær 90% af webstederne ud med JS, og gør det derefter igen for godt mål, og det er stadig større end Android + iOS kombineret.

Men dette bliver lidt latterligt nu, fordi de mest populære apps i dag er ting som Facebook Messenger, WhatsApp, Snapchat, Instagram, Netflix, Hulu, Spotify, Uber og spil, der samles til flere platforme (f.eks. Fortnite), snarere end en masse indbyggede Windows-apps. Interessant tendens: De fleste af disse har webversioner, og nogle findes ikke i Microsoft Store.

Mine favorit apps til Android er Progressive Web Apps som Twitter (skrevet i JavaScript), fordi de er lette og hurtige, og jeg behøver ikke vente på, at de installerer for at begynde at bruge dem.

Og dette er min favorit ved JavaScript, fordi Twitter PWA fungerer på min Android-telefon, på min iPad, på min desktopbrowser, og jeg behøver aldrig at installere det overalt. På mine mobile enheder ser det ud og fungerer som en indbygget app, og selv når jeg er offline, kan jeg gennemse tweets, der allerede er downloadet og cache.

Hvis du ønsker, at dine apps skal kunne bruges af de fleste mennesker, er JavaScript et godt valg.

Start din gratis lektion på EricElliottJS.com

Eric Elliott er forfatteren af ​​bøgerne, "Komponering af software" og "Programmering af JavaScript-applikationer". Som medstifter af EricElliottJS.com og DevAnywhere.io lærer han udviklere vigtige softwareudviklingsevner. Han bygger og rådgiver udviklingshold til kryptoprojekter og har bidraget til softwareoplevelser for Adobe Systems, Zumba Fitness, The Wall StreetJournal, ESPN, BBC og topoptagelseskunstnere, herunder Usher, Frank Ocean, Metallica og mange flere.

Han nyder en fjern livsstil med den smukkeste kvinde i verden.