Redovisningar | DV1483 Ht13 Lp2 Javascript, jQuery och AJAX med HTML5 och PHP

Kursmoment 1

Inga större problem i det här första kursmomentet som ju förstås mest var en introduktion. Som vanligt i de här kurserna när det blir mycket kopierande av kod så brukar jag få lite problem med sökvägar när det inte är helt klart var vissa filer skall ligga. Man tittar på källkoden och så saknas vissa mappar där för mos och får man gå tillbaks och se till så att allt ligger där det ska. I övrigt så har ingenting i övningarna gett mig några problem. Det är bara att åka med på resan.

  • Vilken utvecklingsmiljö använder du?
    • Jag sitter i min hem miljö på en Mac (med nya, fräscha Mavericks OS för övrigt) så jag använder MAMP för min lokala utveckling och laddar upp på studentservern med hjälp av Filezilla. Som text editor använder jag nu Sublime Text (tror att jag är inne på version 3 nu).
  • Hur väl känner du till JavaScript?
    • Jag har använt mig av javascript tidigare, genom min egen sida och på lite andra hobbyprojekt som jag sysselsatt mig med, men det handlar mer om att jag tagit kod snuttar eller att jag använt mig av bibliotek för att få lite effekter. Jag har gått igenom javascript kursen på Codeacademy men jag har aldrig direkt kodat i javascript, gjort ett spel eller så.
  • Vilken uppfattning har du av JavaScript så här långt?
    • Javascript är uppenbarligen kraftfullt framförallt för webben. Det är förstås något man måste kunna för att kunna utveckla för webben. Jag kan dock se en utveckling där javascript till stor del ersätts av en teknologi som CSS3 som kanske är mer lättvikt och kanske också enklare att använda sig. Vart eftersom allt fler mobila applikationer byggs mer och mer i html och css så kanske man kommer att vilja försöka komma ifrån javascript men javascript kommer förstås vara där uppe bland de viktigaste teknikerna för webb utveckling inom den närmsta framtiden. Jag kan tycka att det är ett lite rörigt språk vissa gånger, men det är väl en vanesak. Kommer man från andra mer strikta språk så kan det kännas lite konstigt att hantera variabler på det sättet som görs i javascript och likaså hur Object fungerar, t.ex.
  • Berätta vilka exempelprogram du gjorde och länka till dem.
    • Jag gjorde de exempel program som ingick i introduktionsövningen. Det var väl det kursmomentet gick ut på…?
  • Beskriv hur du gjort din baddie och vilka konster den kan.
    • Jag tittade på vilka baddies som tidigare studenter använt och snodde helt sonika en av dem. Den kan göra det som ingick i övningen plus någon slags saltomortal (ja, den snurrar runt i alla fall, vet inte om det var det som var tanken).
  • Gjorde du extrauppgiften och utbildade din baddie med något extra?
    • Som sagt; den snurrar runt i någon slags rörelse.
  • Länkar

  • RSS feed from Andyweb
    RSS

    Kursmoment 2

    Först och främst ska jag be om ursäkt att hela min katalogstruktur har hamnat under kmom01 vilket kanske inte är helt logiskt. Det är bara för att jag insåg att det var bättre att spara hela “lekplatsen” på samma ställe så jag slipper kopiera mallen till en massa andra mappar. Sen är jag för lat för att ändra namn på basmappen så den får heta kmom01 framöver också.

    Det var inget litet kursmoment det här. Hade jag verkligen gjort allt helt på egen hand hade det nog tagit hela kursen för det var väldigt mycket att ta in på en gång, men också lärorikt. Försökte så gott jag kunde att göra så mycket som möjligt utan att titta på mos kod men i vissa övningar fick jag fuska en hel del. De första övningarna var inga större problem, de med typeof, Math, strängar och “tärningar”. Nödvändiga saker att kunna känns det som.

    När det kom till övningen med bollen hade jag problem direkt med att få bollen att synas överhuvudtaget. Jag gjorde som jag brukar och kollade i forumet hur tidigare studenter gjort, ändrade lite och så fungerade det. Jag försökte länge med att kunna dra bollen till en ny plats men lyckades inte med det. Men det går i alla fall att dra bollen så att den åker åt andra hållet, även om inte bollen följer med när man drar den (det där förstod jag knappt själv men du ser hur det funkar om du provar).

    För Boulder Dash hade jag också problem med att visa elementen och fick titta i forumet igen. När jag väl fick det att fungera så gjorde jag en variant med en labyrint som man kan flytta runt baddien i, inspirerad av tidigare studenters lösningar. Ganska mycket jobb om man ska skriva hela spelplanen som två så pass stora arrayer. Hade varit smidigare med någon slags loop för att fylla spelplanen men då hade det varit svårt att få elementen där man vill ha dem. Jag kom i alla fall inte på någon bättre lösning än den som mos använder.

    Lite små övningar sedan med datum(en rad kod), e-mail validering och error handling (try-catch). Hade lite problem i error handling övningen med att funktionen jag använde inte hade deklarerats och därför inte kunde användas. Jag fick då använda window.function för utföra exakt samma sak. Tycker det är lite konstigt att jag inte haft det problemet i någon annan övning men det var bra att jag fick se det. Lämpligt nog kom också en förklaring direkt efter det i övningen.

    Efter det var det roulette och den är i princip exakt så som mos variant är. Jag visste knappt var jag skulle börja och förstod inte så mycket om hur det var tänkt att fungera. Så min lösning har mest kosmetiska skillnader mot hur mos kod är upplagd. Jag ändrade så att “bankroll” inte kan ändras utan att trycka på knappen “reset” och jag gjorde så att man inte kan trycka på “roll” samtidigt som man väntar på en tidigare roll. Jag fastnade ett tag på hur jag skulle kunna göra ett roulette-hjul istället men gav upp efter ett tag när jag insåg hur pass krångligt det hade varit att få siffrorna att ligga i en cirkel istället för ett bord. Det finns lösningar där ute dock men jag känner inte för att ge mig på det just nu.

  • Vilka funktioner har du lagt till i din variant av mos.js?
    • Endast random funktionen.
  • Gjorde du något extra arbete på spelplanen med Boulder Dash, eller gjorde du kanske en egen spelvariant?
    • Jag ändrade som sagt en del, så som jag beskriver ovan.
  • Gjorde du något extra på Roulettespelet?
    • Inte mer än vad jag redan beskrivit.
  • Länkar

  • Kursmoment 3

    Nytt kursmoment med jQuery denna gång. Jag följde övingen så gott jag kunde så mina exempel ser likadana ut som övningen, även om koden skiljer sig något på vissa av exemplen. De första övningarna var inga större problem att göra på egen hand efter de instruktioner man fick av mos. Välja element och “toggla” mellan dem blir ju löjligt enkelt med jQuery, t.ex.

    Övningen med event propagering var lite konstig men jag antar att den bara visar ett användningsområde för den funktionen. Lägga till och ta bort element var heller inga problem; jQuery gör det jätte enkelt. I övningen med att läsa och ändra storlek hade jag förvånansvärt stora problem. Jag trodde att det skulle gå hur enkelt som helst men jag fick titta på mos exempel här och kopiera det mesta. Så här i efterhand känns det lite pinsamt att jag hade problem med den övningen för det är verkligen inte svårt, men ibland fungerar min hjärna och jag inte så bra ihop. Femte övningen var simpel, inga problem.

    Med lightbox-övningen försökte jag själv i början men jag kom ingen vart så jag gick tillbaks och använde mig till stor del av mos kod. Jag försökte använda mig av den kod som finns i min jQuery-bok men jag lyckades inte få ihop det. Hade framförallt problem med storleken på bilden i kombination med fönstret. Det funkar nu i alla fall.

    För bild-galleriet hade jag verkligen ingen aning ens hur jag skulle börja så jag gjorde som mos. Lite synd att de här övingarna inte var i “tutorial-form” som tidigare utan snarare “gör din egen, om du kan, annars sno min-form”. Hade gärna följt med på hur mos har tänkt här. För slideshow-övningen så kände jag att jag ville följa en tutorial för att göra det från grunden. Så jag följde den här. Den fungerar lite konstigt om inte bilderna är i exakt rätt storlek men annars funkar den som jag hade tänkt.

    För min egen plugin gjorde jag först en animerad header, där bakgrunden rör sig, men jag insåg att den förmodligen inte kan räknas som en jQuery plugin eftersom den använder sig av och är beroende av lite för mycket css och det hade varit svårt att inkorporera den css:en i själva funktionen. Istället gjorde jag en enkel plugin som slajdar en bild upp och ner när man klickar på den.

  • Vad tycker du om jQuery, hur känns det?
    • Jag gillar jQuery. Det underlättar sådana saker som är krångligt med ren javascript och förenklar för sådana som mig som helst bara vill sitta med front-end saker och fippla. Det är väl därför som jQuery haft sådan genomslagskraft som det ju faktiskt har haft. Väldigt imponerande att ett enda bibliotek nu används på så många webbplatser, trots att jQuery bara funnits i sju år.
  • Vilka är dina erfarenheter av jQuery inför detta kursmoment?
    • Det är som med javascript i allmänhet; jag har använt det men inte skrivit något själv tidigare. Vissa gånger har jag säkert använt jQuery utan att veta det.
  • Berätta om din plugin.
    • Min plugin är alltså en jätte simpel sak som gör en liten animation på en bild. Den kan förmodligen användas på andra element också men det har jag inte testat. Den använder sig helt enkelt av jQuerys slideUp och slideDown-funktioner. Man kan ställa hur fort animationen skall ske genom att sätta ‘duration’ i millisekunder.
  • Länkar

  • Kursmoment 4

    Intressant kursmoment. Känns relevant och nödvändigt och själva Ajax-delen var inte alls så svår som jag hade trott att det skulle vara.

    Jag hade lite problem under den här övningen med att överhuvudtaget visa någonting vid betalningen. Jag tror att det är något problem med php includes. Jag försökte använda mig av mos kod och göra en egen variant utan att få det att fungera först. När jag sedan bara kopierade mos kod helt och hållet hade jag fortfarande samma problem. I Firebug stod det att det var ett nätverksfel, vilket var väldigt konstigt eftersom jag var i localhost. Hursomhelst så gick jag vidare och letade hjälp i forumet och använde mig av en blandning av tidigare studenters lösningar och sedan lite små fix för att få den lösning jag ville ha. Det funkar ganska bra nu.

    På grund av de problem jag hade så använder jag inte CForm överhuvudtaget utan det är bara vanlig, hederlig html. Shopping cart är i princip exakt som mos, med vissa små ändringar. Jag sysselsatte mig lite med att försöka komma på en lösning där man kan ta bort ett specifikt objekt från kundvagnen men jag kom inte på något bra. Vill man kunna ändra något på ett element borde man ju kunna ändra antalet istället för att ta bort alla element av samma typ. Jag har ingen lust att fundera mer på det nu.

  • Vad tycker du om Ajax, hur känns det att jobba med?
    • Ajax var ju otroligt smidigt att arbeta med, i alla fall tillsammans med jQuery. Nästan så att det blir för smidigt; det blir nästan så att man känner att man inte har full koll på vad som faktiskt sker i bakgrunden. Men det är väl inte så viktigt, så länge som det fungerar.
  • Vilka är dina erfarenheter av Ajax inför detta kursmoment?
    • Absolut ingenting. Det är möjligt att något ramverk eller template jag använt har Ajax i bakgrunden men då är det utan min vetskap.
  • Berätta om din webbshop på din me-sida, hur gjorde du?
    • Min webbshop är alltså starkt inspirerad av mos, åtminstone kundvagnen. Betalningen sker på ett lite annorlunda sätt men de påminner starkt om varandra. Det är nog en hel del som skiljer sig i koden i betalningsdelen. Jag hade velat haft en smidigare lösning på form valideringen, som jag antar sker i CForm. Nu har jag en massa if-satser i min javascript. Det är inte så snyggt i koden men det blir å andra sidan överskådligt. Jag kände mig lite begränsad av att använda shop.php. Den hade varit svårt att använda fristående från den övriga filerna, vilket ledde till att i princip hela kundvagnen är exakt som mos. Jag borde försökt mig på en egen lösning av shop.php och göra en tydligare uppdelning och separation av filerna där men det får bli en senare uppgift. Betalningslösningen är jag nöjd med, speciellt att den blinkar medan man kopplar upp sig mot banken.
  • Lyckades du göra extra-uppgiften och paketera din kod?
    • Vet inte riktigt vad som menas med paketeras i sammanhanget. Jag har inte gjort någon jQuery plugin här. Koden ligger ju i två olika mappar så de är inte paketerade tillsammans. Man borde haft en lösning där man lägger böckerna (eller vad det är man vill sälja) i en databas och hämta dem därifrån. Så jag antar att svaret på frågan ovan är nej.
  • Länkar

  • Kursmoment 5

    Det här var ett ganska utmanande kursmoment. Mycket att ta in med en hel del tekniker som har varit nya för mig. Jag har läst mycket i de artiklar som ingick i övningen och försökt förstå allting men jag kommer nog att få återkomma och läsa om artiklarna senare för att verkligen få grepp om allting.

    Jag vet inte om jag fått fullständigt grepp om prototyp-baserad programmering. Jag förstår konceptet någorlunda men det känns som att det är lite forcerat. Om det var tanken att språket skulle vara så här från början, det vet jag inte, men det känns som en lösning man kommit fram till p.g.a. att man insåg att man behövde en mer objekt orienterad lösning men att man ville göra på ett nytt sätt. Jag har väldigt svårt att se fördelarna med prototyp-baserad gentemot traditionell objekt orienterad programmering. För mig blev programmeringen mer logisk och lättförståelig när objekt orientering introducerades och det här känns som att man infört en ny nivå av abstraktion istället för att förenkla, vilket borde ha varit målet med en modernt språk. Men jag behåller fortfarande ett öppet sinne och kanske kommer jag att uppskatta prototyp-baserad programmering mer ju mer jag använder det.

    Efter att jag gått igenom mos övning kände jag att det var ganska svåra saker om man verkligen ville göra ett riktigt spel. Så jag bestämde mig för att följa en tutorial så jag letade en som hade just nyckelorden “HTML5”, “canvas”, “prototyp-baserad javascript” och gärna också med “HTML5 Audio”. Jag lyckades också hitta en tutorial som gör en klon på spelet “Galaxian” och som använde sig av alla dessa begrepp och att arbeta med den kodbasen har varit mycket lärorikt.

    Problemen jag haft har mest bestått av att hastigheten på spelet har hoppat och varit lite buggigt. Man vill ju att hastigheten skall öka till viss del för att spelet skall bli lite svårare men det har varit lite svårt att få till då hastigheten är olika för de olika elementen i spelet. Det är fortfarande lite buggigt så det är möjligt att jag fortsätter med spelet senare, kanske i projektet.

    Jag hade också problem med ljuden, speciellt i Firefox. Jag vet inte om Firefox har problem med HTML5 Audio men när jag spelar i Firefox blir spelet efter ett tag helt omöjligt då det blir alldeles för ryckigt, men det funkar utan problem i Chrome. I Opera blir spelet väldigt långsamt och i Safari blir det också ryckigt, även om det funkar lite bättre än i Firefox. Jag har inte undersökt de här problemen men uppfattningen jag får är att det har med ljuden att göra. Den som önskar spela hänvisas alltså till Chrome.

  • Vilka möjligheter ser du med HTML5 Canvas?
    • Canvas är ju uppenbarligen användbart, speciellt i kombination med bilder och för att kunna rita upp dessa. I spelet använder jag tre nivåer av canvas med olika z-index, där de två översta nivåerna är transparenta vilket gör att man kan lägga element på dem och få det att se ut som en enda nivå. Jag kan inte låta bli att tänka att det förmodligen kommer att komma en annan typ av lösning på canvas i nästa version av HTML. Det är lite begränsat som det är just nu och det finns utrymme för förbättringar.
  • Hur avancerat gjorde du din spelfysik (om du överhuvudtaget har någon i ditt spel)?
    • Det är ju inte jätte avancerad fysik i mitt spel men det händer i alla fall en hel del. Fienderna flyttar sig i sidled tills man skjuter ner dem. Kulorna får högre fart ju längre spelet pågår, upp till en nivå. Skeppet kan man flytta i sidled och upp och ner.
  • Beskriv och berätta om ditt spel. Förklara hur du använder objekt och prototyper.
    • Först och främst har spelet ett imageRepository som lagrar och läser in bilderna som hör till elementen. Spelet har en lite väl avancerad kollisions kontroll som använder sig av ett quad träd. Det är överdrivet i ett spel som är så här pass enkelt men det gör att spelet blir effektivare och får bättre frame rate. Jag har en function Drawable som alla andra objekt “ärver” från (vet inte om det kallas ärver i javascript eller om man har ett annat uttryck). Konstruktionen för att göra objekten Drawable ser ut t.ex så här för objektet Ship: Ship.prototype = new Drawable(); Objekten Ship och Enemy har en Pool av Bullets som lagras för varje objekt. Denna Pool fylls på när objekten får slut på Bullets. Det finns mer kommentarer i koden om hur programmet faktiskt fungerar.
  • Gjorde du något på extrauppgiften?
    • Jag har som sagt hållit på en hel del med ljuden för spelet, då spelet hade varit riktigt tråkigt om det inte hade haft några ljud alls. Problemen jag haft med detta har jag redan beskrivit ovan så det är ingen mening med att älta det igen.
  • Länkar

  • Kursmoment 6

    Bra kursmoment med saker som kan vara bra att ha på diverse webb applikationer. Jag har arbetat lite med node.js tidigare så jag behövde inte installera någonting initialt utan det var bara att köra på en gång. Jag kommer dock knappt ihåg vad det var jag gjorde med node.js då men jag minns i alla fall att jag försökte göra någon slags chat på min egen webbsida en gång, dock utan att lyckas den gången. Kanske att jag försöker igen, nu när jag faktiskt vet hur man gör.

    Jag följde mos övning till punkt och pricka så koden för sockets ser nog väldigt lika ut som i exemplen. Jag har tittat lite på andra lösningar från andra exempel också och testat lite olika men valde för den här övningen att följa det som gavs i exemplen. Jag har testat alla tre delarna mot min egen server men för enkelhetens och testningens skull så körs alla nu mot dbwebb.

    För chat servern känner jag väl att det fortfarande är lite oklart om en chat server skall ha någon annorlunda funktionalitet än vad en broadcast server skall. En chat server sänder ju också till många. I min version så blev i alla fall chatten väldigt lik broadcast servern, med bara några mindre ändringar. Den fungerar alltså inte alls om en riktig irc-chat, men jag hade heller aldrig som mål att det skulle bli så. Jag har i ärlighetens namn inte så jättestort intresse av att bygga en sådan chat, även om det säkerligen skulle vara lärorikt.

  • Vilka möjligheter ser du med HTML5 Websockets?
    • Det är smidigt med websockets och det verkar enkelt att använda. Det öppnar ju för stora möjligheter att bygga chat funktioner på webben utan att krångla till det alltför mycket. Kan se vissa säkerhetsrisker om man inte säkrar upp den input som man får från t.ex. en chat dock. Men man skapar förstås alltid en möjlighet för utomstående att komma in på ens webbplats när man skapar interaktion på det här sättet, på gott och ont.
  • Vad tycker du om Node.js och hur känns det att programmera i det?
    • Jag har tidigare tyckt att det har varit lite halv klurigt att koda med node.js och det tycker jag nog fortfarande. Jag vet inte exakt vad det är som gör att det känns krångligt men det känns som att det är mycket som försiggår i bakgrunden som man inte har koll på vilket skapar en viss ovisshet. Kanske behöver jag bara jobba lite mer med det. Det börjar ju bli de-facto standard för att bygga chat-program på webben så man är väl så illa tvungen.
  • Beskriv hur du löste echo-servern och broadcast-servern.
    • Precis som mos egentligen. Jag har alltså följt övningen ganska slaviskt och när jag avvikt från den vägen har jag följt andra exempel som i princip ser likadana ut.
  • Beskriv och berätta om din chat. Förklara hur du byggde din chat-server och förklara protokollet.
    • Som jag nämnde så tycker jag att det är lite oklart om en chat server skall fungera på ett annat sätt än vad broadcast servern gör. För mig blir funktionaliteten densamma då ju broadcast servern sänder till många, vilket väl måste vara tanken med en chat server också. Sen vore det förstås bättre om en användare kunde associeras på ett annat sätt mot servern också så att det kan bli mer likt en riktig chat. För mig så ligger nu det som sätter namn på en användare i chatten i main.js filen och inte i själva server delen. Detta kanske borde fungera annorlunda. Men som sagt; lite osäker på hur tanken egentligen är med detta. Jag har inte sett någon i forumet som löst det på något annat sätt än att använda sig av broadcast protokollet heller så det får duga för stunden.
  • Gjorde du något på extrauppgiften?
    • Nej.
  • Länkar

  • Kursmoment 7

  • 1.1.
  • 1.2.
  • Krav k1: Paketera, presentera och produktifiera

      Jag har lagt en hel del tid på att paketera och presentera min lightbox på ett snyggt sätt. Jag har sett till att använda mig av Github från första början, även om den mesta av koden blev skriven före första commiten. Jag spenderade lite tid med att se hur liknande produkter presenteras och valde själv att använda mig av en bootstrap variant där det mesta finns färdigt. Få bilder på presentations-sidan men däremot får man fler exempel bilder om man hämtar hem Airbox från Github. Där finns en index sida som bara har ett gäng bilder för att visa att olika slags bilder faktiskt fungerar.

      Jag har också tänkt på hur jag skriver koden, snarare än att bara välja den enklaste lösningen. Jag har tittat på många andra lösningar och jämfört med dem, använt lösningar som jag själv inte hade tänkt på och verkligen försökt att använda de saker som vi pratat om under kursen (t.ex. prototypes) och även jQuery-specifika lösningar (t.ex. proxy). Jag har också skrivit mer kommentarer än vad jag normalt gör och därmed har jag kunnat automat-generera dokumentationen vilket har varit mycket smidigt och det blir ett snyggt komplement och ett överskådligt sätt att kunna använda sig av koden i framtiden. Tanken är ju att vem som helst enkelt skall kunna ändra och lägga till saker vart eftersom.

      Jag har förstås också minifierade varianter av javascript koden och css koden.

      Krav k2: Ha koll på konkurrenterna och lär av dem

      Det här kravet har jag lagt en hel del tid på. Innan jag började hämtade jag hem flera olika lightboxar som jag testade och tittade på koden för att få inspiration och för att att börja tänka på ett speciellt sätt. När jag sedan var klar med min lösning så gick jag tillbaks och började googla igen för att hitta ännu fler lightboxar som uppenbarligen är populära och har bra funktionalitet. Jag ville också hitta varianter som skiljer sig en del från varandra, och dessutom jämföra mellan sådana som man måste betala för och sådana som är helt open source. Jag var lite osäker på hur jag skulle presentera min undersökning; om jag skulle lägga den på presentations-sidan eller om jag bara skulle skriva om vad jag hittat här i redovisningstexten. Nu står det ju faktiskt att man skall göra “analysen tillgänglig” för kunderna så jag har lagt den som en del av presentations-sidan. Tycker att det blev en ganska bra lösning, framförallt en lösning som går i öppenhetens tecken och som uppmuntrar till kamratskap online!

      Krav k3: Kvalitet och omfattning

      Det är förstås svårt för mig att bedöma hur kvaliteten på min produkt är. Jag har testat så gott jag har kunnat, på iPad och en Android telefon, förutom på min laptop då förstås, men det är förstås saker jag hade kunnat gjort bättre. Jag var nybörjare på javascript när kursen började och hade turen att få vara involverad i ett projekt utanför skolan där vi också använde oss av javascript, vilket har varit otroligt lärorikt. Tidigare hade jag bara använt mig av några plugins och sådana saker som ingår i diverse templates, men aldrig skrivit egen javascript kod, förutom på CodeAcademy.

      Jag ligger förmodligen i den lägre änden av skalan vad gäller omfattning på projektet, även om jag inte haft någon större koll på hur mycket tid jag lagt. Jag skulle tro att “omvärlds-analysen” totalt sett har tagit ungefär lika lång tid som det tagit att skapa produkten, så jag kommer nog upp i drygt 20 timmar totalt sett. Det är i alla fall min uppskattning.

      Vad gäller de optionella kraven så var det lite för diffust för att jag skulle kunna göra någonting extra. Jag har heller inte haft någon dialog med läraren så jag förväntar mig inte att bli bedömd på någonting utöver de obligatoriska kraven.

  • 1.3.
    • Projektet har gått bra att genomföra, det har inte varit några större problem. Det jag har lagt tid på är som sagt att få en särskild kodstandard, vilket har lett till att jag få läsa en hel del kod, mer än att skriva så väldigt mycket.

      Jag hade lite problem med hur jag skulle lösa det om man skickar in en någonting som inte är en bild. Nu görs en koll så att det verkligen är en bild som innehåll till den korrekta funktionen. Jag använder också jQuerys proxy funktionalitet för att kunna få en existerande funktion och använda rätt innehåll som parameter till funktionen.

      Jag har också suttit en del tid med stylingen via css och funderat på vad som ser bäst ut. Det gäller också när skärm storleken blir mindre. Jag använder media all och sedan används procent på height och width för att storleken alltid skall vara korrekt och anpassas efter skärmens storlek.

      Projektet har inte varit särskilt svårt och har inte heller tagit alltför mycket tid. Jag inser att jag kunde lagt till mer funktionalitet och lagt mer tid men efter att ha jobbat väldigt mycket under december har jag velat vara lite ledig över jul och nyår.

      De senaste dagarna här efter jul har jag suttit och försökt lära mig mvc-ramverket AngularJS. Så efter att ha gått igenom en tutorial för det tyckte jag att jag skulle försöka göra någonting med Angular och min lightbox. Hittills har jag använt mig av ett pussel jag hittat och lyckats gjort det pusslet mer irriterande genom att lägga på en lightbox effekt varje gång man klickar på pusslet, vilket man alltså gör varje gång man ska flytta en del på pusslet. Fortfarande ett pågående arbete.

      Tycker att det har varit ett bra och rimligt projekt för den här kursen, med mycket frihet och goda möjligheter att göra lite vad man vill. Dock hade de optionella kraven kanske kunnat varit tydligare.

  • 1.4.
    • Tycker att det här har varit en riktigt bra kurs, med bra material och handledning. Bra blandning av tutorial och läsanvisningar, där man ges möjlighet att gå sin egen väg om man vill, eller följa instruktioner. Själv har jag bara haft jQuery boken att läsa (som är riktigt bra, för övrigt) men det finns många bra artiklar online som ingår i övningarna. Vi på campus har ju också fått föreläsningar varje vecka vilket har underlättat en del i inlärningen.

      Överlag är jag mycket nöjd med den här kursen och kan absolut rekommendera den till alla som vill lära sig javascript från grunden, men också om man vill kunna använda sig av jQuery på ett effektivt sätt. Det finns förstås mycket mer som skulle kunna ingå i kursen men tiden räcker förstås inte till. Kan nästan känna att man skulle kunna ha två kursmoment till och skippa projektet helt och hållet men jag antar att man vill ha projektet som examination. Personligen hade jag dock hellre lärt mig fler saker som man kan göra med javascript (Angular.js t.ex. som jag börjat lära mig på egen hand).

      Högt betyg blir det på kursen: en åtta.

  • Länkar