Currently viewing the category: "Programmering"

Nu är jag då äntligen klar med den nya versionen av KalkyleraMera.se som jag har hållt på med (till och från iofs) sedan i februari i år. Den är helt ombyggd till RubyOnRails och har blivit uppgraderad på alla möjliga sätt, fler kalkyler, smartare kalkyler, bättre funktioner etc. Därtill har jag även gjort en version på engelska under domänen CountCalculate.com.

Det är mitt största projekt någonsin och absolut det som tagit längst tid. Nu hoppas jag att sidan bär sig ett tag så jag kan släppa projektet ett litet tag. Man blir lätt lite trött på det till slut 🙂

Hoppas ni gillar den!

kalkylera mera

 

 

Jag har precis utvecklat klart ett projekt i Ruby on Rails och det är en ny version av KalkyleraMera.se. Det är ett projekt som jag startade med under PBC 2011 men som sedan varit halvt vilande under större delen av tiden. Under september satte jag mig ned med ambitionen att göra klart projektet och nu är det alltså äntligen klart. Eller, projektet är inte lanserat än eftersom jag håller på att konfigurera upp server och så vidare.

Jag tänkte dela med mig lite av mina lärdomar och erfarenheter av Ruby on Rails för dig som eventuellt funderar på att köra ett projekt och vad du kan förvänta dig.

Anledningen till att jag valde att utveckla i Ruby on Rails var att jag blev påverkad av två vänner under PBC och tidigare att prova på det. Jag gjorde en testapplikation lokalt för att hålla reda på att göra-listor, webbsidor, fakturor etc och det var riktigt smidigt så jag fortsatte med KalkyleraMera 2.0 som andra projekt.

De stora fördelarna som jag snabbt upptäckte med Ruby on Rails var:

  • Det är roligare att programmera – koden är helt enkelt smartare
  • Man kan åstadkomma mycket mer i funktionalitetsväg. Det är tex relativt enkelt att göra en sida flerspråkig. Med hjälp av plugins, s.k. gems, så kan man lätt ta del av andras funktioner och snabbt bygga smarta lösningar.
  • Koden blir mycket mer strukturerad – Själva “rails”-delen av Ruby on Rails är ju ett ramverk (precis som Cake för php) vilket gör att allt hamnar där det ska. Mycket går också att återanvända. Ganska stor skillnad från mina php-projekt.
  • Det är lättare att felsöka

Några av de nackdelar jag upptäckt är:

  • Tröskeln för att lära sig framförallt ramverket Rails är ganska hög. Jag har varit ganska beroende av support under den första tiden.
  • Ibland vill man bara “lösa problemet” och inte göra det The Rails Way, vilket kan vara något frustrerande. Rails tvingar en att göra det på rätt sätt.
  • Det är inte lika lätt att bara ladda upp på ett webbhotell – tuta och köra. Det finns tex inga webbhotell i Sverige (rätta mig om jag har fel) som har Rails rakt av.

Just det sista är en av anledningarna till att jag inte lanserat projektet jag blev klar med förra veckan. Jag kommer att prova två lösnigar parallellt: Heroku.com och en VPS hos CityCloud.se. Heroku är den något lättare varianten (om än inte superenkel) men lite dyrare. VPS innebär att jag måste installera en Ubuntu-server (Windows-servrar är inte att rekommendera för Rails tydligen) och jag kan inte Ubuntu. Detta leder till att jag anlitat en killa till att konfa den åt mig. I slutändan är det dyrare att hosta ett rails-projekt än ett simpelt php-projekt.

De senaste veckorna har jag arbetat kopiöst mycket med det här projektet för att få klart det (~12 h per dag) och hade jag skrivit det här inlägget då så hade jag nog varit mer skeptisk till att göra om det. Det bör dock påpekas att KalkyleraMera 2.0 var ett ganska dåligt nybörjarprojekt då det helt enkelt var ganska komplext.

Nu har jag dock bestämt mig för att köra vidare på Rails och i princip överge php. Detta framförallt för att jag vill göra bättre och smartare applikationer i framtiden och jag vill inte sitta och fulhacka på samma sätt som jag till viss mån gjort. Mitt nästa Rails-projekt blir att göra en vettig version av Köpa.se, som i ärlighetens namn inte är en speciellt bra sida idag.

Jag återkommer med lite mer om Rails när jag lanserar nya KalkyleraMera (och den engelska varianten CountCalculate.com). Kom gärna med frågor om du är nyfiken på Rails.

Slutligen, ett stort tack till Manuel Meurer som hjälpt mig ofantligt mycket med detta. Tack också till Sebastian Johnsson och StackOverflow.

 

 

De senaste dagarna har jag suttit och lärt mig Ruby on Rails. För er som inte känner till det är det ett programmeringsspråk för (bland annat) webbutveckling (=Ruby) med tillhörande ramverk (=Rails). Det är att jämföra med Php (=programmeringsspråk) och tex CakePHP (=ramverk).

Eftersom det är två dedikerade RoR-programmerare här på Paradise Business Camp så har det varit mycket prat om Rails. Därtill har Manuel försökt övertyga mig en längre tid om att börja. Sebastian Johnsson har också varit en aktiv promotor.

Rails är dock inget man bara sätter igång med rakt av utan har en viss uppstartsperiod, framförallt om man inte programmerat med ramverk innan. Detta är ett exempel på vad som är så kul med PBC. Först och främst är det den normala dagliga kontakten som gör att man hör om nyheter, blir inspirerad men sen också spenderar så mycket tid tillsammans att man faktiskt också kan komma igång med det – och få hjälp.

Sen är det också mycket praktiskt att kunna sätta en vecka på att lära sig något nytt. Hemma hade jag nog inte riktigt haft det tålamodet och förmodligen börjat göra nästa sida på samma sätt som den förra. Som jag lovade inför 2011 är det ju inte så jag vill arbeta så PBC fungerar väldigt bra för det.

Som med alla saker så är det ju inte nödvändigt att åka till andra sidan jordklotet för att göra det men ibland kan det vara vad som krävs för att det faktiskt ska ske.

 

Jag håller på att se över mina rutiner inför att kunna skala upp verksamheten under 2011. Mitt mål är under 2012 ha en omsättning som motsvarar 4 ggr den jag hade 2010 ungefär. Detta kräver ju att jag gör saker och ting 4 ggr mer, oftare, smartare, bättre, mer lönsamt osv – vilket är ett ganska tufft, men fullt nåbart, mål.

Ett steg i detta är att jag ska börja göra vissa saker och sluta med andra. Eftersom jag är en ganska medioker php-programmerare och hellre tar genvägar i koden än gör saker och ting strukturerat så behöver jag ett ramverk. Efter lång och enträgen övertalning av Manuel Meurer (ackompanjerad av Sebastian Johnson) så föll valet på Ruby on Rails.

Detta sitter jag nu och lär mig via utmärkta interaktiva guider som TruRuby och RailsForZombies. En sida jag nyligen skapade i php, Privatkliniker.se, kommer jag dessutom snabbt göra om till Rails eftersom det är ett skolexempel på en sida som passar perfekt för Rails. Därtill ska jag även lära mig CakePhp (ett ramverk för php) för att bättre upprätthålla mina andra sidor som redan är byggda i php.

Det är dock en stor utmaning som väntar och en kortsiktig effektivitetsförlust som jag hoppas få igen med råge i framtiden. Dels genom att kunna göra sidor snabbare men också att kunna göra mer avancerade sidor.

I samband med detta har jag också helt gett upp planerna på att lära mig C# och .NET. Sorry, Kim!

Vad kan du och jag lära oss av detta: Php är utmärkt att komma upp i varv snabbt med men om man ska utveckla större sidor är det viktigt med ett ramverk, annars kommer du förlora tid i det långa loppet.

 

Jag har ju alltid gjort mina sidor i php (med mysql) och så självklart html. Det är väldigt smidigt men det finns ju vissa baksidor, tex så är det ibland helt omöjligt att debugga på ett bra sätt. Man kan bara få en helt blank skärm och inte ha en aning om vilken variabel som är felsatt eller vilken måsvinge som saknas.

Delvis därför men också av nyfikenhet skulle jag vilja testa något annat språk som är lite bättre, dels som programmeringsspråk och dels något som har bättre utvecklingsmiljö.

När jag sökte jobb var jag nära att få jobb som C#-programmerare trots att jag knappt kan stava till .NETT. Det är tydligen ett ganska ordentligt sug efter folk som kan C# med .NET och det skulle vara en anledning till att fokusera på just det. Dessutom gillar jag Visual Studio.

Min kompis Manuel-san jobbar dock heltid som RubyOnRails-programmerare på MTV i Berlin. Man skulle kunna tro att han är inhyrd marknadsförare för RnR för han försöker alltid övertyga mig om hur bra det är. Vad jag förstått är Ruby programmeringsspråket och Rails är Frameworket så om man ska jämföra allt rätt så är det nog:

– C# med .NET

– Ruby on rails

– php med CakePhp (ett framework för php som jag ännu inte testat).

Jag lutar nog åt att göra nästa projekt i C#, men hur smidigt är det att göra hemsidor i C#? Ni som kan? Någon här som jobbar med RnR som kan ge nåt input? Någon som testat CakePhp? Någon som har någon form av vettig studio till php?