Innehållsförteckning:
- Så vad är Kotlin?
- Vad gör Kotlin bättre?
- Avvecklas Java?
- Kommer apparna att vara bättre eller se annorlunda ut?
- Var kan jag lära mig mer om Kotlin eller komma igång med det?
Google meddelade stöd för Kotlin i Android på Google I / O 2017. Det förstärkte hur viktigt Kotlin är för apputveckling igen 2018, men många av oss är inte säkra på vad som händer eller varför vi borde bry oss. Visst, vi vet att det är något för apputvecklare och att de älskar det, men varför älskar de det? Vad är det exakt?
Till att börja med måste du förstå att Kotlin bara är en del av vad Google gör för att göra Android-apputvecklingen "bättre". Jag säger bättre här eftersom dessa verktyg gör mer än att göra det enklare eller snabbare, de tillåter utvecklare att göra mer och bygga ut bättre appar. Appar som fungerar "bättre" ser "bättre" och hanterar resurserna "bättre". Tillbaka till Kotlin - det kanske bara är en del av Googles utvecklingsverktygssats, men det är den viktigaste delen eftersom det gör mer än någon annan ny funktion för att göra appar och deras utveckling "bättre".
Jag älskar den här videon. Jag vet att många av oss inte kommer att förstå mycket av det (och jag förstår inte allt själv, ingen skamning här) men du kan säga att presentatörerna - Chet Haase och Romain Guy - verkligen är glada att visa redskapen och utvecklarna i publiken är lika glada över att höra om dem. Vi ser också hur Google har fördubblats för att inte bara stödja Kotlin utan integrerat det med tillägg som kommer att göra byggandet av "bättre" appar ännu "bättre".
Så vad är Kotlin?
Kotlin är ett programmerings- och utvecklingsspråk från JetBrains, som är företaget bakom IntelliJ Java IDE (en utvecklare av verktyg och applikationer som fungerar tillsammans som Microsoft Office gör) som Android Studio bygger på. Men Kotlin är inte ett programmeringsspråk på egen hand; det är ett nytt sätt att skriva kod som använder Java för att köra.
Java är något du antagligen har hört talas om. Det är ett programmeringsspråk som kan bygga applikationer som körs på nästan alla operativsystem på vilken hårdvara som helst. Det är kraftfullt, vilket betyder att du kan använda Java för att skriva program som gör många olika saker som spel eller verktyg eller hårdvarukontroll eller något annat. Det är också programmeringsspråket som nästan varje Android-applikation är skriven på, samt delar av Android själv som din hem-app eller telefonuppringningsapp.
Kotlin kan bygga appar som körs på Java med mycket färre huvudvärk.
Java är också mycket besvärligt att koda i. Eftersom det är så kraftfullt och är platt-plattform (enheten du använder för att läsa detta har förmodligen en Java-applikationsram och körtid installerad) är det komplicerat. Java är ett programmeringsspråk med flera paradigmer som stöder objektorienterad programmering. Du skriver kod med objekt (en variabel eller en funktion eller nästan vilken typ av datauppsättning), och du använder klasser för att definiera typen och initialdata i ett objekt. Åh, och du måste vara säker på att inkludera rätt bibliotek som låter klasserna definiera ett objekt. Se vad jag menar när jag säger komplicerat? Och jag lämnar till och med ut en stor del av information om hur objektorienterad programmering fungerar och bara ger en grundläggande översikt.
Kotlin tar bort mycket av de tunga sakerna. Du behöver fortfarande Java installerat på en enhet som kör appar skrivna i Kotlin eftersom det skapar en app som körs precis som den skulle om den är skriven i "vanlig" Java. Men det är mycket lättare att skriva appar med det! Kotlin är ett programmeringsspråk som Android-utvecklare kan använda för att bygga appar som är fantastiska medan de spenderar mindre tid på att ta reda på de hårda delarna och felsöka testversionerna. Du får fantastiska appar, och utvecklare har enklare tid att skriva dem.
Vad gör Kotlin bättre?
Utvecklare som jag har pratat med älskar många saker om Kotlin men det är tre saker som det ger som alla verkar nämna.
-
Kotlin använder aggressiva slutsatser. Det betyder att den kan berätta vilken typ av data en funktion använder baserat på resten av koden och hur den används. Detta innebär att utvecklare inte behöver spendera tid på att deklarera typen av uttryck och värden i sin kod om de inte gör något riktigt utanför rutan. Det sparar mycket tid eftersom det kan vara tråkigt att förklara en datatyp och koden måste vara perfekt.
-
Kotlin låter utvecklare definiera statiska objekt och funktioner utan att behöva använda en redundant klass. En utvecklare kan definiera objekten och deras funktioner på ett och samma ställe, så det är mycket lättare att läsa och förstå, vilket gör det lättare att felsöka. Och de behöver inte inkludera kod som inte borde behövas eftersom den duplicerar vad de just skrev. Java tvingar detta eftersom det är så att syntaxen fungerar. Kotlin är mer avslappnad och gillar att skriva kod i C, och i det här fallet är det lättare och mer meningsfullt.
-
Kotlins syntax är inte absurd komplex. Java: s syntax är. Det är därför det tar år att bli en expert Java-utvecklare - du måste inkludera saker som halvkolon och hängslen och parenteser på exakta platser så kompilatorn (verktyget som förvandlar kod till en app) vet vad man ska göra. Kotlins syntax använder de bästa idéerna från programmeringsspråk som fanns innan den och att skriva kod är enklare. Detta innebär också att det är lättare att läsa och förstå koden och att felsöka det tar mindre tid.
De tre sakerna framför allt har en sak gemensamt, och det är därför utvecklaren älskar Kotlin så mycket - koden är mer vänlig. Att skriva koden är snabbare, mer förlåtande och helt enkelt enklare än det är i Java, och det är mer meningsfullt att läsa koden du eller någon annan har skrivit. Det ser fortfarande ut som kod, men inte all kod är lika komplex. I slutändan får du fortfarande en applikation som kan göra nästan vad som helst som en utvecklare kan drömma om, men att det innebär färre huvudvärk.
Avvecklas Java?
Nej! Om något görs Java starkare och bättre med de senaste versionerna av Android och Android Studio.
Jag har hört Kotlin definieras som "Java-ljus". Det är både ett bra och dåligt sätt att beskriva det, men det får meddelandet över - Kotlin är nästan samma som Java, använder Java-maskinen i din enhet för att köra en färdig app, men har mindre frustrationsfaktor. Kotlin behöver Java för att installeras på din telefon eller dator eller vad som helst för framtiden för enheter kommer att köras. Det är fullt interoperabelt och du kan till och med använda Kotlin och Java samtidigt i ett program.
Kotlin låter också plattformsutvecklare (tror att de som "gör" Android) lägga till supportverktyg för att göra skrivkoden ännu enklare. Vi såg att på Google I / O 2018 när tillägg för Kotlin lades till, som fungerar som en genväg för att skriva ut all kod som behövs för något som en utvecklare kommer att behöva göra om och om igen.
I stället för "Java Light" beskrivs Kotlin bättre som "Java ++" eftersom det är en naturlig utveckling av språket och kan göra samma saker med mindre frustration.
Kommer apparna att vara bättre eller se annorlunda ut?
Kanske, men på grund av biverkningarna av att använda Kotlin och inte funktionerna i själva språket.
Programmeringsspråket har mycket lite att göra med hur en app ser ut eller hur den fungerar. Det är helt enkelt hur en utvecklare säger att din telefon ska göra något och sedan visa dig resultatet på något sätt. Om en utvecklare kan spendera mindre tid på att skriva den komplicerade koden som får din telefon att göra det och berätta om det, har de mer tid att lägga till bättre funktioner eller bygga en bättre design.
Att utveckla vilken applikation som helst innebär flera stora steg. Att skriva koden är inte viktigare än att bygga ett bra design och användargränssnitt eller se till att appen gör något som folk vill att den ska göra. Att skriva koden kan dock ta mer tid och att frigöra den tiden gör det möjligt för de andra faserna att bli bättre. Kotlin frigör en del av utvecklingstiden.
Var kan jag lära mig mer om Kotlin eller komma igång med det?
Besök JetBrains 'Kotlin webbplats för allt du behöver för att komma igång. Därifrån kan du få grunderna och en översikt över Kotlin på en mer teknisk nivå. Besök dessa sidor för Android-utveckling:
- Kotlin på Android-utvecklingssidorna
- Android Kotlin-tillägg
- Kotlin Style Guide
- Kotlin Interoperabilitetsguide
Du kan använda Android Studio, Eclipse, IntelliJ IDEA eller en fristående kompilator för att bygga Kotlin-appar för Android eller din webbläsare. Det finns även bra tutorials för att få dig att peka i rätt riktning!
Det är inte svårt. Det finns en inlärningskurva om du aldrig har gjort någon form av utveckling, men det är kul. Var inte rädd för att försöka lära dig så mycket du kan!
Uppdatering 11 maj 2018: Den här artikeln har skrivits om helt för att återspegla förändringar gjorda på Kotlin sedan den lades till Android 2017.