Angular eller Sinatra?

Den hälsosamme ekonomisten, Saturday 4 January, 2020
Bild: 2017-09/dsc01062.jpg

Har ägnat delar av julen åt att översätta en app från Typescript/Angular till Ruby/Sinatra. Det är en rätt intressant operation, då strukturen blir så olika i de bägge ramverken. Appen i fråga är ganska lik WhapsApp - med interaktiv videokommunikation. Så den är en naturlig kandidat för Angular.

Samtidigt känns det på många sätt enklare att arbeta i Ruby - trots att vissa funktioner som finns i Angular inte med automatik inkluderas när man gör om en serverless app till en serverbaserad.

Först och främst måste man hitta en ersättare till RxJS och koncepten "observer" och "observable". Där vill jag rekommendera en molntjänst som heter "Pusher". Med Pusher kan man skapa events som initieras från servern.

Eftersom det är en "one page application" använder jag javascriptramverket Unpoly. Det gör att länkar kan uppdatera segment av webbsida, utan att man behöver ladda om sidan.

Nackdelarna med serverlösningen är alltså behovet av en extern molntjänst och att Angular trots allt måste ersättas med ett eller flera lättare ramverk. Men jag upplever också fördelar. All programkod för servern ryms nu i ett block. I Angular var man ofta tvungen att leta efter mappar där typescriptkod, SCSS och HTML samsades.

Rubyversionen består så här långt av 259 filer i 10 mappar. Antalet filer kommer säkert att öka, men jag tror att antalet mappar förblir ungefär detsamma. Angularversionen består av 220 filer i 53 mappar. Apparna gör ungefär samma sak, med skillnaden att Angularversionen använder Firebase, medan Rubyversionen använder SQLite (för tillfället).

Den platta strukturen i Ruby gör det faktiskt lättare att hitta. Bör väl noteras att jag kanske hade fått en djupare struktur om jag använt Rails i stället för Sinatra. En stor fördel är att all rubykod ligger i en fil på drygt 600 rader. En större app skulle säkert bestå av fler filer, men kompaktheten i Ruby gör att det är väldigt lätt att hitta rätt.

Får också en känsla av att det är mer kod i Angularappen, även om jag inte mätt skillnaden. Det är en massa include som inte finns i Rubyappen. I Rubyappen ligger beroenden dels i Rubyfilen (app.rb), dels på indexsidan (index.html) - men i övrigt är det inte mycket sådant.  Det finns 17 SCSS-filer i Angularversionen, medan det bara finns en längre custom.css i Rubyappen. Antalet templates och subtemplates i de bägge apparna är likartat, men sannolikt kommer Rubyappen att ha fler templates när den är klar. I Angularappen ligger de utspridda över många foldrar - i Rubyappen finns de på samma nivå.

Så frågan om underhåll. Har en känsla av att det finns rätt många beroenden som kan strula i Angular. Ruby som sådant är stabilt och nästan underhållsfritt - liksom de gems jag använt. Hjälpbibliotek som Pusher, JQuery och Unpoly kan säkert förändras över tid, men det kan ju även Firebase.

Kan av den här analysen inte dra någon definitiv slutsats om vad en utvecklare bör använda. Jag väljer Ruby därför att jag kan programspråket bättre än Typescript. Det är lättare att skriva objektorienterad kompakt kod i Ruby, även om man givetvis är beroende av Javascript på klientsidan. För mig är det också avsevärt enklare att hålla reda på Pusher, Unpoly, JQuery och Ruby (samt Rubys gems) - även om jag inser att detta säkert inte gäller alla.

Appen känns så här långt snabbare i Ruby, men det beror nog på att jag nu använder TokBox i stället för att sätta upp WebRTC själv. Skalbarheten är givetvis en senare fråga - det kan möjligen hanteras med Kubernetes. Den tunga trafiken går dock över Tokbox så det problemet slipper jag nu.

Slutsatsen så här långt är att det går utmärkt att skriva den här typen av appar i både Angular och Ruby och är man betydligt bättre på ett av ramverken tror jag det bör avgöra valet - inte att den ena eller andra lösningen är den "... enda lämpliga".

Alexanderhugget som räddar svensk sjukvård

Den hälsosamme ekonomisten

När man frågar patienter i Sverige om vad de tycker om sjukvården blir resultatet inget vidare. Ändå har Sverige rätt goda vårdresultat överlag.  Min teori är att detta beror på att svensk sjukvård är organiserad utifrån ett producentperspektiv och att patienterna har begränsad möjlighet att påverka vården - annat än genom att rösta i politiska val eller att byta landsting. Vårdvalet, säger ni då. Det fria vårdval som infördes 2009 innebär ju att man fritt kan välja vårdcentral. Vet …

Läs mer!

Blir Sverige mer eller mindre korrumperat?

Den hälsosamme ekonomisten
Bild: 2017-09/dsc01062.jpg

Förr fick man guldklocka efter lång och trogen tjänst hos staten. Numera f år man ett litet bolag med ljusa framtidsutsikter . Expressen skriver om SMHI:s avknoppning av ett bolag som sysslar med sjöväderinformation.  "Den 24 april bildade Tom Sandberg företaget Gale Force som 1 juli köpte affärsverksamheten för 5,5 miljoner kronor. Priset sattes inte av en oberoende utvärderare, verksamheten såldes inte i konkurrens." Frågan är - har den här typen av korruption alltid …

Läs mer!

Så tar man fram intyget som krävs för resa till Norge

Den hälsosamme ekonomisten

Lite fascinerad över att inga tidningar skriver om hur man bär sig åt för att skriva ut ett folkbokföringsintyg. Detta krävs ju om man som värmlänning ska resa till Norge , exempelvis. Så jag surfade in på Skatteverkets hemsida för att se om det gick att klara av att skriva ut ett folkbokföringsintyg. Jag lyckades. Det var inte speciellt … Läs mer!

Bank-ID har fått konkurrens av Freja e-ID

Den hälsosamme ekonomisten

Bank-ID har fått status av infrastruktur för identifiering. Faktum är att jag inte ens trodde det var möjligt att starta en konkurrerande tjänst, men läser i Techworld att det finns en konkurrent - Freja e-ID . Att det finns flera ID-tjänster är egentligen en beredskapsfråga och våra myndigheter borde därför se till att stödja åtminstone … Läs mer!

EU har blivit ett nollsummespel

Den hälsosamme ekonomisten

Politiska nivåer fyller i regel något slags funktion. Men nu när Coronapaketet och långtidsbudgeten är klar tvingas vi konstatera att det mesta av pengarna som skickas in i EU faktiskt inte gör någon nytta. Detta innebär inte att EU helt saknar existensberättigande, men att EU:s budget till större delen består av trams och inte syftar till att … Läs mer!

Är polisen det mest effektiva?

Den hälsosamme ekonomisten

Läser i Sydsvenskan att två sociologer vill nedmontera polisen. Ska till att börja med konstatera att sådana tankar inte brukar sluta väl - kanske främst därför att de som föreslår dylika saker i regel inte har något bra förslag om vad de ska ersätta polisen med. Men vad är det i allmänhet som avhåller människor från att begå brott? Jag … Läs mer!

Antoni Fauci får frågan om barn sprider smittan till vuxna

Den hälsosamme ekonomisten

Lyssna gärna på den här intervjun med Antoni Fauci . Han får frågor bland annat om huruvida personer utan symptom sprider smitta och om barn sprider smittan till vuxna. Väldigt intressant. Läs mer!

När uppstår flockimmunitet?

Den hälsosamme ekonomisten

Frågan som många ställer är när flockimmunitet uppstår och spridningen av Covid-19 upphör om myndigheterna inte vidtar några åtgärder alls? Det bästa sättet att ta reda på det är antagligen att studera länder som inte har förutsättningar för att stänga ner ekonomin och/eller idka social distansering på samma sätt som exempelvis de nordiska … Läs mer!

Den stora gåtan med Covid-19

Den hälsosamme ekonomisten

Allt eftersom Covid-19 sprider sig över världen blir underlaget för att göra prognoser bättre. Samtidigt tycks statistiken bli allt mer obegriplig. Den största gåtan tycker jag är den långsamma, men ändå exponentiella, spridningen i länder som  Indien och Sydafrika . Ser vi till parametrarna som beräknats så långt tycks det som om … Läs mer!

Om bloggen

Den hälsosamme ekonomisten är en blogg som handlar om sjukvårdens organisation, incitament och klassisk liberalism - allt skrivet ur ett ekonomistiskt perspektiv. Webbplatsen använder tredjepartskakor (cookies) från Disqus, Piwik, Facebook, Google och Twitter för att anpassa innehållet och annonserna till användarna, tillhandahålla funktioner för sociala medier och analysera vår trafik. Vi vidarebefordrar information om din användning av vår webbplats till de sociala medier och annons- och analysföretag som vi samarbetar med. Du kan läsa mer om webbplatsens kakpolicy här. Denna sida drivs med webbverktyget Bolt. Av Mattias Lundbäck.

VR och Vårdvalssidan

Den hälsosamme ekonomisten finns även tillgänglig i VR. Har man HTC Vive eller Occulus Rift når man hifi://ekonomism genom att först installera appen High Fidelity som ger tillgång till en stor mängd olika virtuella världar. Sedan skriver man bara "ekonomism" i Goto-fältet i HiFi. Fältet motsvarar adressraden i en vanlig webbläsare.

Besök gärna www.vårdval.se - det enklaste sättet att hitta och jämföra vårdgivare.

Läs bloggkollegor

Anybodys Place Carl-Johan Westholm Cornucopia Danne Nordling Eskil Ullberg Fnordspottning Fredrik Malm Fredrik Segerfeldt Gustav Nipe Henrik Alexandersson Janerik Larsson Jonas Grafström Lennart Grundel Maria Abrahamsson Markus Uvell Mina Moderata Karameller Mattias Svensson Niclas Berggren Opassande Per Gudmundson Sjätte Mannen Tanja Bergkvist The Market Monetarist


Creative Commons-licens
Den hälsosamme ekonomisten av Mattias Lundbäck är licensierad under en Creative Commons Erkännande 4.0 Internationell licens.
Based on a work at https://www.ekonomism.us.

Sociala medier

Den hälsosamme ekonomisten är en blogg för dig som är intresserad av ekonomi, politik och teknik. Följ mig på Twitter för regelbundna uppdateringar. Läs mer om Den hälsosamme ekonomisten och Mattias Lundbäck här.


Linkonomism
Googelkonomism
Feedkonomism