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:
och många fler.