Varför inte göra allt i Vaadin(Java) istället för HTML+JS+PHP+CSS+SQL?

Permalänk

Varför inte göra allt i Vaadin(Java) istället för HTML+JS+PHP+CSS+SQL?

Jag har en nyfiken fråga. Jag är Vaadin-frälst av en anledning. Jag använder bara ETT programmeringsspråk för att utföra samma jobb som HTML+JavaScript+PHP+CSS+SQL. I detta fall är det Java jag använder med Spring Boot. Allt bara fungerar. Så otroligt enkelt. Allt är bara färdigt.

CRUD:
https://vaadin.com/directory/component/crud-ui-add-on
https://alejandro.app.fi/crud-ui-demo/filter

CHARTS:
https://vaadin.com/directory/component/apexchartsjs
https://appreciated-collection.herokuapp.com/apexcharts/

COMPONENTS:
https://vaadin.com/components

Allt är så enkelt och dessutom blir det mobilanpassat. Vill jag ha databas utan att ens skriva SQL kod så importerar jag Spring JPA istället. Då låter jag Hibernate göra min SQL kod, men jag styr Hibernate via Java.

Så då är min fråga till er, varför ska man knacka HTML+JS+PHP+CSS+SQL för att bygga hemsidor när jag kan göra allt i ett enda verktyg? Jag har inte riktigt förstått varför vissa värderar att "dela" upp arbetsuppgifterna till olika grupper där varje grupp kräver unikt programmeringsspråk. Varför inte göra allt i ett?

Hade man kunna göra alla webbapplikationer i C så hade jag kör det också. Så varför är Vaadin bra/dåligt enligt dig?

Permalänk
Medlem

Antagligen för att det skulle kosta sjuka mängder pengar att träna om ett helt företag till ett nytt språk, bygga om alla ramverk och verktyg till ett nytt språk och allt detta i hopp om att det blir lite enklare med bara ett språk. Det är dessutom inte första gången man hör om något nytt och fantastiskt inom webben, många har bränt sig på liknande sätt tidigare då det visar sig att det bara täcker 85% av usecaset.

Permalänk
Hedersmedlem

Så fort du behöver göra något som inte finns som färdiga UI-komponenter så kommer du behöva knacka HTML, JavaScript, och CSS oavsett, men då som "komponenter" inom ditt ramverk. Samma sak om du behöver göra SQL-frågor som inte går att uttrycka enligt ditt ramverk, eller kanske att du behöver integera med en befintlig databas på ett specifikt sätt.

Men ja, det finns ju ett antal olika ramverk man kan använda för att göra sitt jobb enklare, och om de gör ditt jobb enklare så bör du så klart använda dem. Just Vaadin har jag ingen åsikt om.

Sedan är det ju inte direkt så att alternativet till Java och Vaadin är PHP med manuellt knackad HTML/JS/CSS heller, det finns många andra språk och ramverk också.

Permalänk
Skrivet av bagfalls:

Antagligen för att det skulle kosta sjuka mängder pengar att träna om ett helt företag till ett nytt språk, bygga om alla ramverk och verktyg till ett nytt språk och allt detta i hopp om att det blir lite enklare med bara ett språk. Det är dessutom inte första gången man hör om något nytt och fantastiskt inom webben, många har bränt sig på liknande sätt tidigare då det visar sig att det bara täcker 85% av usecaset.

Du menar att köra på det gamla "old school"-sättet fungerar ändå lika bra, trots att det är smidigare att göra allt i ett verktyg?

Permalänk
Medlem
Skrivet av heretic16:

Jag har en nyfiken fråga. Jag är Vaadin-frälst av en anledning. Jag använder bara ETT programmeringsspråk för att utföra samma jobb som HTML+JavaScript+PHP+CSS+SQL. I detta fall är det Java jag använder med Spring Boot. Allt bara fungerar. Så otroligt enkelt. Allt är bara färdigt.

CRUD:
https://vaadin.com/directory/component/crud-ui-add-on
https://alejandro.app.fi/crud-ui-demo/filter

CHARTS:
https://vaadin.com/directory/component/apexchartsjs
https://appreciated-collection.herokuapp.com/apexcharts/

COMPONENTS:
https://vaadin.com/components

Allt är så enkelt och dessutom blir det mobilanpassat. Vill jag ha databas utan att ens skriva SQL kod så importerar jag Spring JPA istället. Då låter jag Hibernate göra min SQL kod, men jag styr Hibernate via Java.

Så då är min fråga till er, varför ska man knacka HTML+JS+PHP+CSS+SQL för att bygga hemsidor när jag kan göra allt i ett enda verktyg? Jag har inte riktigt förstått varför vissa värderar att "dela" upp arbetsuppgifterna till olika grupper där varje grupp kräver unikt programmeringsspråk. Varför inte göra allt i ett?

Hade man kunna göra alla webbapplikationer i C så hade jag kör det också. Så varför är Vaadin bra/dåligt enligt dig?

Till att börja med, jag har kodat java i ett ental år nu och tycker verkligen inte om Vaadin. Enligt mig handlar det om att använda rätt verktyg för rätt jobb. Java är inte gjort för att utveckla webappar. Det märks med alla eventListeners man måste lägga till överallt. Visst det blev lite renare med JDK8 när lambdas kom. Men det är fortfarande väldigt bökigt. Sen att debugga är också mer komplicerat än det behöver vara eftersom allt du bygger i Vaadin skall någonstans översättas till en hemsida som en webläsare förstår.

Skrivet av heretic16:

varför ska man knacka HTML+JS+PHP+CSS+SQL för att bygga hemsidor när jag kan göra allt i ett enda verktyg

Du blandar ihop lite granna här. Man bygger inte hemsidor med PHP/SQL. De är bakend språk/teknologier för att servera hemsidor. Själva hemsidan sen bygger man med html, css, och (oftast) js. Att bygga sin backend i Java med en SQL databas är mera vad java är ämnat till.

Permalänk
Skrivet av pv2b:

Så fort du behöver göra något som inte finns som färdiga UI-komponenter så kommer du behöva knacka HTML, JavaScript, och CSS oavsett, men då som "komponenter" inom ditt ramverk. Samma sak om du behöver göra SQL-frågor som inte går att uttrycka enligt ditt ramverk, eller kanske att du behöver integera med en befintlig databas på ett specifikt sätt.

Men ja, det finns ju ett antal olika ramverk man kan använda för att göra sitt jobb enklare, och om de gör ditt jobb enklare så bör du så klart använda dem. Just Vaadin har jag ingen åsikt om.

Sedan är det ju inte direkt så att alternativet till Java och Vaadin är PHP med manuellt knackad HTML/JS/CSS heller, det finns många andra språk och ramverk också.

Ja. Sjävlklart. Om inte Vaadin/Spring Boot kan det jag vill göra, så är jag körd och undviker då arbetsuppgiften

Jag tror att Vaadin är inte så populärt i Sverige. I USA och Kanada har jag hört att det används flitigt.

Permalänk
Hedersmedlem
Skrivet av heretic16:

Om inte Vaadin/Spring Boot kan det jag vill göra, så är jag körd och undviker då arbetsuppgiften

Där har du svaret på din fråga. Du inser själv att det inte går att göra allt i Vaadin, därför måste man också använda andra tekniker.

Permalänk
Skrivet av willesakken:

Till att börja med, jag har kodat java i ett ental år nu och tycker verkligen inte om Vaadin. Enligt mig handlar det om att använda rätt verktyg för rätt jobb. Java är inte gjort för att utveckla webappar. Det märks med alla eventListeners man måste lägga till överallt. Visst det blev lite renare med JDK8 när lambdas kom. Men det är fortfarande väldigt bökigt. Sen att debugga är också mer komplicerat än det behöver vara eftersom allt du bygger i Vaadin skall någonstans översättas till en hemsida som en webläsare förstår.

Du blandar ihop lite granna här. Man bygger inte hemsidor med PHP/SQL. De är bakend språk/teknologier för att servera hemsidor. Själva hemsidan sen bygger man med html, css, och (oftast) js. Att bygga sin backend i Java med en SQL databas är mera vad java är ämnat till.

Jag har lämnat OpenJDK8 och kör bara OpenJDK11. Jag håller aldrig på med eventlistener, om jag inte önskar en sådan.

Detta stämmer inte. Att debugga i Vaadin är hur enkelt som helst. Bara ändra Java-koden och spara så uppdateras hemsidan som det vore CSS. Bara vänta 1 sekund.

Permalänk
Medlem
Skrivet av heretic16:

Jag har lämnat OpenJDK8 och kör bara OpenJDK11. Jag håller aldrig på med eventlistener, om jag inte önskar en sådan.

Detta stämmer inte. Att debugga i Vaadin är hur enkelt som helst. Bara ändra Java-koden och spara så uppdateras hemsidan som det vore CSS. Bara vänta 1 sekund.

Visst ditt hobbyprojekt laddar om så fort. Men när man börjar komma upp till enterprise-storlek på sina projekt så tar det längre. Vi provade göra en del av siten med Vaadin förut (för "alla utvecklare kan ju java redan"). Bara en liten del med ett par tio tusen rader kod. Varje refresh tog 2min+ att ladda om. Gav upp den idén på ett par veckor och gick tillbaks till beprövade frontend verktyg.

Permalänk
Medlem

Låter som valfritt ramverk inom t.ex. Php/C#/Javascript, med skillnaden att det skrivs i Java istället?

Php har Laravel
C# har Blazor
Javascript har... massvis, t.ex. VueJS, Angular, React, you name it.

Vaadin verkar ju vara snarlikt Laravel ändå, där du skapar templates för hur komponenter ser ut, för att sedan bara placera ut dessa. Skillnaden tycks vara att Vaadin då skrivs i Java som inte riktigt anses vara ett "Webb-språk" jämfört med PHP som .. well, i princip samtliga webbutvecklare känner till Lite omständigt att byta språk när motsvarigheten finns i det befintliga.

Sen kan jag själv tycka att ett framework kan vara det bästa som uppfunnits när jag väl upptäcker det... tills ett problem uppstår och man börjar inse att dokumentationen kanske inte riktigt är där än Jämför Vaadins Stackoverflow med PHP/Javascript/HTML så ser du kanske vad jag menar?
Antal frågor under en viss tag i SO brukar vara en bra indikation på hur populärt ett språk/framework är
https://stackoverflow.com/questions/tagged/vaadin - 5 147 frågor totalt
https://stackoverflow.com/questions/tagged/laravel - 158 381 frågor totalt
https://stackoverflow.com/questions/tagged/vue.js - 65 874 frågor totalt
https://stackoverflow.com/questions/tagged/reactjs - 252 652 frågor totalt
https://stackoverflow.com/questions/tagged/angular - 233 936 frågor totalt
(Blazor var inte alls så populärt som jag trodde.. Asp.net/Asp.net core är mycket populärare för C#)

Visa signatur

NZXT H510 Flow MSI B450 Tomahawk MAX
AMD Ryzen 5800X3D RX 7900XTX Kingston Fury 64GB
LG C2 42" 4K@120Hz AOC Q27G2U 1440P@144Hz

Permalänk
Medlem
Skrivet av heretic16:

Du menar att köra på det gamla "old school"-sättet fungerar ändå lika bra, trots att det är smidigare att göra allt i ett verktyg?

Typ så, men antagligen inte på samma sätt som du tänker. Du är frälst och ser inte problemen med att introducera ett tidigare okänt språk i en stor utvecklingsmiljö. Jag tror inte att du räknar in att det redan existerar miljontals rader kod som kommer behöva skrivas om för att det ska bli "smidigare".

Permalänk
Medlem

"Varför gör inte alla bara allt i [infoga favoritramverk/favoritspråk]?" är en fråga som man kan slåss om i alla tider.

Lite som att bråka om religion i många fall. Alla har sin uppfattning om hur projekt och arkitektur ska läggas upp, och då väljer man det som passar bäst för det ändamålet.

Visa signatur

| MSI B650 Tomahawk | Ryzen 7 9800X3D | ASUS RTX 3070 | 64GB DDR5 6000MHz | MSI MPG A1000G | Samsung 970 Evo M.2 1TB + 2x WD Black SN850X 2TB|

Permalänk
Hedersmedlem

Varför inte bara köpa möbler från Ikea? Det finns en stor uppsjö av möbelkomponenter och kombinationer som gör att man kan möblera typ vilket hem eller kontor som helst, utan att behöva plocka fram typ såg, hammare, skruvmejsel, målarpensel, limpistol, etc, eller för den sakens skull behöva garva sitt eget läder.

Ikea är allt som behövs, kasta alla verktygen i sjön bara.

Permalänk

Ni svarar inte riktigt på mitt inlägg.

Jag definierar bäst som att: Använd ETT verktyg till allt.

Om jag hade en ringnyckel som kunde passa alla muttrar. Då har jag den bästa ringnyckeln.

Om jag har ett programmeringsspråk där jag kan göra allt i det. Då har jag det bästa programmeringsspråket. Jag tycker att Python och Java har verkligen uppfyllt till detta. Speciellt Python. Vi ser nu att Python ökar i popularitet och projekt skapas allt mer och mer i Python.

Kanske för att med Python så kan man göra så otroligt mycket. Samma sak när det kommer till Vaadin. Här kan man göra otroligt mycket på kort tid.

Så jag ser inte något behov att lära sig ReactJs, AngularJs, HTML, CSS för att få till en hemsida om man kan göra det i Språket X.

Permalänk
Medlem
Skrivet av heretic16:

Ni svarar inte riktigt på mitt inlägg.

Jag definierar bäst som att: Använd ETT verktyg till allt.

Om jag hade en ringnyckel som kunde passa alla muttrar. Då har jag den bästa ringnyckeln.

Om jag har ett programmeringsspråk där jag kan göra allt i det. Då har jag det bästa programmeringsspråket. Jag tycker att Python och Java har verkligen uppfyllt till detta. Speciellt Python. Vi ser nu att Python ökar i popularitet och projekt skapas allt mer och mer i Python.

Kanske för att med Python så kan man göra så otroligt mycket. Samma sak när det kommer till Vaadin. Här kan man göra otroligt mycket på kort tid.

Så jag ser inte något behov att lära sig ReactJs, AngularJs, HTML, CSS för att få till en hemsida om man kan göra det i Språket X.

"If all you have is a hammer, everything looks like a nail"
Du har måhända den bästa ringnyckeln, men hur mycket hjälp har du av den när du behöver såga till något?

Det finns en rätt stor fara vid att låsa fast sig vid ett specifikt verktyg (ramverk i detta fall) då det inte finns någon garanti för att det ramverket kommer att överleva på sikt. Då står du där med en värdelös kodbas som behöver skrivas om från grunden i något annat språk/ramverk.

Webben bygger på HTML, CSS, och till stor del JavaScript och ju närmare källan du håller dig desto enklare är det att vara flexibel för förändringar (och om det är något vi vet är det att webben är väldigt förändringsbenägen).

React, som du nämner, är ett JavaScript-bibliotek vars stora "selling-point" är att det är effektivt när det kommer till att spara in resurser. T.ex. kan React se att en uppdaterad variabel (state) endast kräver att en pytteliten del av sidan behöver renderas om och ser därför till att sådant är fallet. Tidigare hade denna lilla ändring krävt att hela DOM-trädet behövts ritas om.

Sedan handlar det självklart om kunskap. Jag som främst jobbat med back-end (Java, C#, C++, etc.) har inget öga för design och lämnar därmed hellre över den biten till mer kunniga personer. Dessa personer har ofta vigt hela sitt yrkesliv till att lära sig tidigare nämnda utvecklingsstack och då finns ingen anledning för dom att lära sig Java som till 99 % bara används till utveckling i back-end.

Dessutom kommer det naturligt att bli ett glapp när webben utvecklas fram tills det att ramverk som Vaadin kommer ikapp och kan erbjuda samma funktionalitet.

Om man jobbar som ensam utvecklare, inte behöver ligga i framkant gällande nya tekniker och redan kan Java finns det självfallet en viss poäng med att istället använda Vaadin. Men det finns ju å andra sidan en viss tjusning med att lära sig nya språk och tekniker också, om inte annat bara för att få lite annat perspektiv på saker och ting. Kanske upptäcker du att språk X faktiskt erbjuder vissa funktioner som inte finns i språk Y och som är bättre lämpade till att lösa just ditt problem.

Visa signatur

AMD Ryzen 7 1700X 3.8 GHz 20MB | ASUS PRIME X370-PRO | MSI GeForce GTX 1080 Gaming X 8GB | G.Skill 16GB DDR4 3200 MHz CL14 Flare X | Corsair RM650x 650W

Permalänk
Medlem
Skrivet av heretic16:

Jag definierar bäst som att: Använd ETT verktyg till allt.

Om jag hade en ringnyckel som kunde passa alla muttrar. Då har jag den bästa ringnyckeln.

Om jag har ett programmeringsspråk där jag kan göra allt i det. Då har jag det bästa programmeringsspråket.

Att välja programmeringsspråk och plattform har extremt många fler och avsevärt viktigare aspekter. För enligt ditt resonemang så är assembly det bästa programmeringsspråket då där kan man faktiskt göra allt. Resultatet lär bli förjävligt att förvalta, tag otroligt lång tid att utveckla och ha en extremt hög andel av buggar. Men du kan ju faktiskt göra ALLT (om vi ignorerar eventuell ISA kompatibilitet, så även där kan man faktiskt inte göra "allt") så enligt det resonemanget så måste ju assembly vara det bästa programmeringsspråket för alla?

Sedan så håller ju inte ditt egna påstående då även med Vaadin så behöver man ofta kunna använda Javascript, HTML och CSS. Javascript för att kunna få åtkomst till tredjeparts bibliotek som kan vara kritiska. HTML för att skapa nya komponenter. CSS för att applicera styling.

Hur bra någonting är baseras inte på hur mycket det kan göra. Det baseras på hur bra det är på att göra det du vill göra. Är verkligen din ringnyckel den bästa för att den hanterar alla om det inkluderar följande.

Ringnyckeln hade ju varit så tung att den är helt obrukbar och tagit upp hela ditt hem. Har du något behov av att kunna arbeta med sådana muttrar? Hjälper det dig när du ska använda ringnyckeln?

Skrivet av heretic16:

Jag tycker att Python och Java har verkligen uppfyllt till detta. Speciellt Python. Vi ser nu att Python ökar i popularitet och projekt skapas allt mer och mer i Python. Kanske för att med Python så kan man göra så otroligt mycket.

Python och java kan man verkligen inte göra allt i. Väldigt sällan ett python projekt faktiskt är rent python utan oftast kopplar man in native dependencies från typ C/C++. Python presterar alldeles för dåligt för att köra ren python, primärt pga dess totala avsaknad av trådar. Det är totala motsattsen som är anledningen till att python är populärt. Det är just för att man inte kan göra allt, som exempelvis tråda eller manuellt minneshantera, det är så enkelt och har blivit populärt. Samma sak med Java, det kan göra mycket mindre än det som man hade i avsikt att plocka utvecklare ifrån, C/C++, men det är mycket enklare tack vare det.

Skrivet av heretic16:

Samma sak när det kommer till Vaadin. Här kan man göra otroligt mycket på kort tid.

Du kan säkert uppfylla dina projekts behov med Vaadin, gött om du gillar det och inget fel med det. Men det betyder bara att det är fallet för behoven i dina projekt, inte andras projekt. Skulle personligen vara lite skeptisk till att använda Vaadin för ett större långlivat projekt av flera skäl, och det är bara vad jag har sett baserat på vad jag skumläste på deras webbsida.

  • Applikationslagret blir stateful. Verkar gå att arbeta bort genom att bryta ut HTTP sessionen, men även det har problem med exempelvis skalbarhet och HA.

  • Du bygger ihop frontend och backend.

  • Finner det osannolikt att OpenAPI kommer följas.

  • Cache-Control lär inte fungera för client logik då det ligger i backend.

  • Du behöver köra JVM.

  • SEO är svårlöst.

  • Färre informationsresurser.

  • Högre risk att plattformen dör.

... och mycket mer.

Allt det ovan, precis som Vaadins fördelar, är bara av konsekvens om det spelar roll för projektet i fråga. Så i dina projekt kanske det inte spelar någon roll, men många av dem hade varit deal-breakers för exempelvis projektet jag jobbar med. All teknik har för och nackdelar, det viktiga vid beslut av vad man bör använda är att väga mellan de och inte blint tro att alla frågor har samma svar.

Skrivet av heretic16:

Så jag ser inte något behov att lära sig ReactJs, AngularJs, HTML, CSS för att få till en hemsida om man kan göra det i Språket X.

Om det i dina projekt är viktigare med lägre komplexitet gentemot fördelarna dem ger så är det en övervägning du klart kan tag. Men som jag upprepat flera gånger så är det olika beslut för varje projekt.

Mer personliga åsikter då.
Av de programmeringsspråk du nämnt så avskyr jag, ur ett rent språk perspektiv, PHP & Javascript. Betyder inte att det inte är rätt val i vissa fall. Men som programmeringsspråk är de så sjukt dåliga. Dåliga nog att man behöver bra skäl för att jag ska godkänna de för ett projekt. Än mindre sannolikt att man finner mig arbetande med de språken en längre period då jag troligen lär sluta, stor del av skälet till att jag nästan aldrig arbetar med web frontend. Så skriver inte det jag gör ovan för att jag älskar javascript, html och css precis. Java är inte horribelt, bara dåligt. Vill man köra JVM finns massor bättre ersättare som Kotlin, Scala & Clojure. Även då kan fortfarande java vara rätt svar.

PHP har hundratals legitima alternativ, ovanligt att ett populärt språk inte kan användas som ersättare.
Javascript har inte lika många alternativ då det har varit tills alldeles nyligen (prisa WASM) det enda native webbläsare stödjer. Men även innan dess fanns det gott om saker som transpilerar till javascript.
Exempel:

  • WASM, lite knapert med ramverk bara.

  • Elm

  • Typescript

  • Dart

  • Thin client med runtime transpilering (Vaadin bor här)

och många fler.

Bytte engelskt ord till svenska.
Visa signatur

Citera eller @philipborg om du vill att jag ska läsa dina svar.

Permalänk
Skrivet av noMad17:

"If all you have is a hammer, everything looks like a nail"
Du har måhända den bästa ringnyckeln, men hur mycket hjälp har du av den när du behöver såga till något?

Det finns en rätt stor fara vid att låsa fast sig vid ett specifikt verktyg (ramverk i detta fall) då det inte finns någon garanti för att det ramverket kommer att överleva på sikt. Då står du där med en värdelös kodbas som behöver skrivas om från grunden i något annat språk/ramverk.

Webben bygger på HTML, CSS, och till stor del JavaScript och ju närmare källan du håller dig desto enklare är det att vara flexibel för förändringar (och om det är något vi vet är det att webben är väldigt förändringsbenägen).

React, som du nämner, är ett JavaScript-bibliotek vars stora "selling-point" är att det är effektivt när det kommer till att spara in resurser. T.ex. kan React se att en uppdaterad variabel (state) endast kräver att en pytteliten del av sidan behöver renderas om och ser därför till att sådant är fallet. Tidigare hade denna lilla ändring krävt att hela DOM-trädet behövts ritas om.

Sedan handlar det självklart om kunskap. Jag som främst jobbat med back-end (Java, C#, C++, etc.) har inget öga för design och lämnar därmed hellre över den biten till mer kunniga personer. Dessa personer har ofta vigt hela sitt yrkesliv till att lära sig tidigare nämnda utvecklingsstack och då finns ingen anledning för dom att lära sig Java som till 99 % bara används till utveckling i back-end.

Dessutom kommer det naturligt att bli ett glapp när webben utvecklas fram tills det att ramverk som Vaadin kommer ikapp och kan erbjuda samma funktionalitet.

Om man jobbar som ensam utvecklare, inte behöver ligga i framkant gällande nya tekniker och redan kan Java finns det självfallet en viss poäng med att istället använda Vaadin. Men det finns ju å andra sidan en viss tjusning med att lära sig nya språk och tekniker också, om inte annat bara för att få lite annat perspektiv på saker och ting. Kanske upptäcker du att språk X faktiskt erbjuder vissa funktioner som inte finns i språk Y och som är bättre lämpade till att lösa just ditt problem.

Visst. För mig del så är jag ensam på mitt företag som kan det där med hemsidor. Därför behöver jag göra hemsida snabbt som attan. Hur det ser ut, spelar ingen roll. Funktionen är viktigast.

Permalänk
Medlem
Citat:

Så jag ser inte något behov att lära sig ReactJs, AngularJs, HTML, CSS för att få till en hemsida om man kan göra det i Språket X.

Skrivet av heretic16:

Visst. För mig del så är jag ensam på mitt företag som kan det där med hemsidor. Därför behöver jag göra hemsida snabbt som attan. Hur det ser ut, spelar ingen roll. Funktionen är viktigast.

Skillnad på om man ska göra en hemsida eller en skalbar applikation i form av microservice arkitektur. Ta Spotify som exempel, där har de till och med microfrontends där i princip varje api har ett eget GUI som t.ex. Playlisten är en egen frontend med backend med ett team som sköter allt gällande playlisten. Sen sätts allt ihop till ett gränssnitt med flera små beståndsdelar, vilket ger enkla möjligheter att byta ut vissa delar mot nya utan eller släppa nya features till t.ex. playlisten utan att hela applikationen berörs.
Skulle allt detta vara en gigantisk monolit där du måste deploya hela Spotify applikationen när du släpper en ny version, skulle det innebära att man gör en release max en gång i månaden istället för flera små om dagen/veckan.

Angular, React och Vue används inte till hemsidor utan de används oftast för applikationer där det är krav på separation av frontend och backend, ofta för man har flera olika teams som arbetar i projektet och behöver kunna deploya saker fritt från varandra.
Sedan också för att SPA generellt är mycket mer användarvänligt i en applikation som har mycket användarinteraktion. En hemsida som en blog sitter du bara och läser text, så där är det helt oväsentligt med ett frontend ramverk.

Tänk dig att surfa på reddit och varje gång du klickar på en kommentar så laddar hela sidan om för att hämta den. Gör du inte detta med ett SPA så får du en jäkla massa spaghetti JavaScript. Ett SPA underlättar att hålla någon struktur i din kodbas då du kan skapa små komponenter och återanvända, vilket är mycket svårare i vanilla JS eller med jQuery.

Permalänk
Medlem
Skrivet av heretic16:

Ni svarar inte riktigt på mitt inlägg.

Jag definierar bäst som att: Använd ETT verktyg till allt.

Om jag hade en ringnyckel som kunde passa alla muttrar. Då har jag den bästa ringnyckeln.

Om jag har ett programmeringsspråk där jag kan göra allt i det. Då har jag det bästa programmeringsspråket. Jag tycker att Python och Java har verkligen uppfyllt till detta. Speciellt Python. Vi ser nu att Python ökar i popularitet och projekt skapas allt mer och mer i Python.

Kanske för att med Python så kan man göra så otroligt mycket. Samma sak när det kommer till Vaadin. Här kan man göra otroligt mycket på kort tid.

Så jag ser inte något behov att lära sig ReactJs, AngularJs, HTML, CSS för att få till en hemsida om man kan göra det i Språket X.

"Kan göra all" är oftast inte vad man behöver. Man behöver kanske prestanda, bra dokumentation, erfarna utveckare, spara pengar med mera. Som exempel kan jag ta mitt nuvarande uppdrag där stacken är strikt Microsoft baserad med Visual Basic 6, C# och massor av andra random tekniker och verktyg där många idag är legacy. Och då kommer jag där och ska in och ändra grejer i kodbaser som jag inte förstår mig på vilket inte bara är drygt för mig utan dyrt för företaget då allting tar lång tid att göra och bär med sig stora risker. Tillslut blir det för ohållbart och system förpassa till legacy högen för att aldrig köras igång igen.

Dessutom har jag inte mycket för att vara en "Jack of all trades". Det är bättre att specialisera sig och bli riktigt bra på en specifik sak istället för att göra allt lite halvdant och inte förstå sig på det.

HTML, CSS och framförallt Javascript (som ju brukar räknas som det vanligaste/största språket) är ju säkra kort som vi haft länge och troligen kommer vara aktuella ett bra tag till. Det gör det lättare att hitta folk som kan det. Själv har jag suttit med t ex Razor Pages, ett framework i C# som jag misstänker liknar Vaadin. Det funkar om man bara vill göra något snabbt, kanske ett internt verktyg. Men till kund hade jag nog inte velat använda det, saknar flexibilitet och det är krångligt att jobba med.

Visa signatur

Citera för svar