Posts Tagged ‘java’

Första intrycket av Android Studio

januari 27, 2014

Jag är som vanligt sen på bollen men jag tänkte ändå att App-utveckling kunde vara roligt att prova på. I ärlighetens namn provade jag att installera android-utvecklingsverktygen en gång tidigare men eclipse fick mig att vilja tugga på tangentbordet. Hela upplevelsen var seg och rätt rörig.

Installationen är relativt enkelt, jag laddade ner ett paket med Android-studio och android-SDK vilket bara var att starta efter jag hade installerat Java ordentligt. Att hitta rätt variant av Java var det mest besvärliga med installationen.

Android Studio är baserad på intelliJ, ett öppet Java IDE, och byggverktyget Gradle som uppenbarligen är bra på alla möjliga vis (men jag tänker inte gå närmare in på det eftersom detta är ett första intryck).

IDEt känns rappare än eclipse och upplägget är mer logiskt och en mindre uppsättning inställningar gör det hela mer lätt att greppa. Att skapa ett relativt vackert användargränssnitt går snabbt och lätt i layout-editorn.

Androids applikation med aktivitets-klasser vars olika funktioner anropas av Android är förvånansvärt lätt att sätta sig in i även för inbitna C-programmerare. För den som inte är insatt så skrivs android-applikationer traditionellt i Java. Ett objektorienterat högnivåspråk som skall vara helt plattformsoberoende (men har aldrig varit det på riktigt). Man kan säga att C är Javas farfar, C utvecklades vidare till C++ som Java sedan lånade mycket ifrån. Denna nära relation gör att det är lätt att sätta sig in i grunderna och Python har gett mig lite insikt i objekt orientering så det känns relativt intuitivt.

Efter ett par timmar med Android Studio och ett par googlingar har jag lyckats ta mig från en app som säger ”Hello World” till en app med en knapp som byter text när man trycker på den till ett stoppur. En stor fördel är att det går snabbt och enkelt att ladda ner sitt projekt till sin telefon och köra det. Vilket innebär att det går snabbt att prova saker.

Mitt Projekt "Intervalometer"

Mitt Projekt ”Intervalometer”

Hastigheten att komma igång är ett plus med dessa avancerade programmeringsmiljöer, dock saknar jag fortfarande mycket förståelse för att vara helt bekväm med det hela. Men det kommer kanske?

Allt är inte guld och gröna skogar… Det mest frustrerande är att kompileringsprocessen tar makalöst lång tid, minst en minut. Sedan har jag stött på fall där visningen på min bildskärm skiljer sig från det som visas i telefonen när jag kör programmet där, detta är av mindre vikt men lite förvirrande.

Första intrycket är positivt, det är mest roligt att programmera och inte så mycket frustrerande alls. Jag har kommit igång oerhört snabbt och är redan produktiv även om jag måste googla en hel del ännu.

Annonser

Javalabbar

oktober 28, 2008

I höst läser jag Objektorienterad programmering med Java på distans och föll tidigt in i den dåliga vanan att lämna in mina labbar aningen för sent.

I min ungdom (för 8 år sedan eller så) lärde jag mig programmera i C och är väldigt inkörd på sekventiell programmering så det är ruskigt intressant att titta på vilka möjligheter objektorienterade språk erbjuder. Jag har sysslat en del med python (jag har skrivit ett par inlägg om det tidigare vill jag minnas) men aldrig riktigt gått in på djupet i de objektorienterade bitarna, så jag har inte så mycket stöd därifrån, å andra sidan är syntaxen väldigt lik C vilket gör att jag kan koncentrera mig på filosofin bakom språket utan att behöva traggla kodstrukturer och måsvingar.

Det jag hitintills är mest imponerad över är extend-funktionen vilken gör att man kan skapa ett grundobjekt och sedan göra nya objekt baserat på grundobjektet som erbjuder grundobjektets funktioner tillsammans med en del nya, funktioner kan till och med bytas ut. Jag är inte riktigt klar på exakt vad det här innebär men det ger fantastiska möjligheter till att återanvända objekt.

Koden blir generellt sett mycket mer strukturerad än vid sekventiell programmering tack vare den underliggande tanken på att allt skall kapslas in i objekt. Även om man får mycket gratis måste man fortfarande tänka på vad man gör annars får man så kallad raviolikod (jmfr. spagettikod vid sekventiell programmering).

Jag har tyvärr inte riktigt haft så mycket tid jag velat till att pyssla med det här så jag har inte läst så mycket i boken, google har varit min största informationsresurs medan jag skrivit labbarna. Jag måste också kolla hur de strukturer jag lärt mig bygga ser ut i python…men det blir en annan dag.