Náhrada PHP nebo ASP.NET Core

PanVP

Náhrada PHP nebo ASP.NET Core
« kdy: 15. 02. 2021, 20:10:56 »
Ahoj,

PHP je řekněme ...luk (ehm)
https://www.youtube.com/watch?v=EjSFesxiB6Y

ASP.NET Core je jako náckovský flak...8 lidí to obsluhuje, ale poradí si to se vším...
https://www.youtube.com/watch?v=IeqeUyPlRRs
No nemám 8 lidí...

Java je krásná a čistá, ale dnes použít Javu na nový projekt ???...
https://youtu.be/NQj-d6KWSnU?t=60

Python je dobrý na prototypování, ale nemá výkon (požadavky zpracovává v jednom vláknu).
Node.js je dost daleko od toho, co umím.

Co použít?
Líbilo by se mi použít MongoDB a Nginx...


Re:Náhrada PHP nebo ASP.NET Core
« Odpověď #1 kdy: 15. 02. 2021, 20:27:32 »
To je úplně jedno co si vybereš. Stejně za 5-10 let přijde něco nového - David Grudl: https://youtu.be/rXjHCFz0UTI?t=1353
 :)

Re:Náhrada PHP nebo ASP.NET Core
« Odpověď #2 kdy: 15. 02. 2021, 20:42:27 »
hm, divný dotaz.

php je slušný jazyk, zlepšuje se a dá se v něm něco dělat.

Python má spoustu rychlostního kódu pro práci s daty nebo sítí v C, jeho pomalost je spíše teoretická. Můžeš použít i jiný interpret, např. cpython, ironpython aj.

ASP.NET s .NET 5.0 vypadá dobře, WPF také není špatné, netuším odkud bereš informaci, že na to potřebuješ 8 lidí. Spousta projektů vč. např. hlidacstatu.cz dělají skoro jednotlivci.

V Javě začínáme projekty každý půl rok, ten jazyk pořád žije. Krom toho nad JVM je více zajímavých jazyků jako např. scala, kotlin, haskell, clojure.

V nginx si můžeš programovat přímo v js nebo v lua, jen bacha, není to thread safe.

Zrovna zmíněné Mongo je dost kontroverzní databáze. Vypadá to, že vlastně nechceš dělat v ničem a jen si potřebuješ najít důvod a trochu zabít čas na fóru.

PanVP

Re:Náhrada PHP nebo ASP.NET Core
« Odpověď #3 kdy: 15. 02. 2021, 21:02:30 »

BoneFlute

  • *****
  • 1 987
    • Zobrazit profil
Re:Náhrada PHP nebo ASP.NET Core
« Odpověď #4 kdy: 15. 02. 2021, 22:45:36 »
Krom toho nad JVM je více zajímavých jazyků jako např. scala, kotlin, haskell, clojure.
Haskell?


PanVP

Re:Náhrada PHP nebo ASP.NET Core
« Odpověď #5 kdy: 15. 02. 2021, 23:09:25 »
Haskell?

Haskel neznám, ale dostal jsem tenhle typ:

https://falconframework.org/#sectionDesign

PyPy3 7.0.0
  • Falcon (2.0.0)         75x
  • Bottle (0.12.16)         37x
  • Werkzeug (0.15.4)         11x
  • Flask (1.0.2)                   8x
  • Django (2.2.1)           1x

Napráskat to v pythonu a urychlit to vhodným způsobem.
Django se svou ...svižností... nebo použít Bottle (je snazší než Falcon) zbytek dohnat hardwarem...hmmm

Re:Náhrada PHP nebo ASP.NET Core
« Odpověď #6 kdy: 15. 02. 2021, 23:53:22 »
Krom toho nad JVM je více zajímavých jazyků jako např. scala, kotlin, haskell, clojure.
Haskell?

aj, sorry, haskell samozřejmě není nad jvm, zkracoval jsem větu až jsem to zkrátil moc.

PanVP: rychlost jazyku je chiméra, zpravidla největší brzda je stejně sám programátor a spíše vyber jazyk, který ti vyhovuje z pohledu použití, funkcí a tvých znalostí. Pomalý kód dokážeš napsat v čemkoliv, stejně tak rychlý. Stejně tak bude nějakou dobu trvat než se dostaneš do situace, kdy ti rychlost bude vadit, málokdy děláme optimalizace rychlosti dříve než je napsaná nějaké funkční část.

BoneFlute

  • *****
  • 1 987
    • Zobrazit profil
Re:Náhrada PHP nebo ASP.NET Core
« Odpověď #7 kdy: 16. 02. 2021, 03:34:24 »
Krom toho nad JVM je více zajímavých jazyků jako např. scala, kotlin, haskell, clojure.
Haskell?

aj, sorry, haskell samozřejmě není nad jvm, zkracoval jsem větu až jsem to zkrátil moc.

Škoda :) Už jsem si říkal, že je nějaká implementace Haskellu pod JVM.

Re:Náhrada PHP nebo ASP.NET Core
« Odpověď #8 kdy: 16. 02. 2021, 08:50:59 »
Já bych doporučil Rust. Na web buď frameworky Actix-web (docela si rozumí s actixem, actor modelem) nebo Rocket.

Re:Náhrada PHP nebo ASP.NET Core
« Odpověď #9 kdy: 16. 02. 2021, 09:34:37 »
Citace
dnes použít Javu na nový projekt ???

Proč ne?

Frameworky jsou rock solid, komunita obrovská (spring (boot), hibernate,..). Java je dobrá a komu nesedí, může použít jiný jvm jazyk (kotlin, scalu..).

V javě/springu vývoj odsýpá opravdu hodně rychle, kód je konzistentní, čitelný a snadno udržovatelný. Na backend servisy ideální. Hlavně máte šanci najít lidi, kteří tomu rozumí  a jsou navíc schopni se v kodu rychle zorientovat. Znám to na sobě, přijdu někam, kde se dělá spring, hibernate a začnu se chytat podle nastolených konceptů a pokud je struktura aplikace "standardní", tak většinou hodně rychle.

Někdo by mohl namítnout, že velká konzumace zdrojů. Java ale není jenom spring, je tu víc frameworků (třeba quarkus, který má být jako spring, ale lehčí na paměť a rychlejší). Kdo chce opravdu minimální velikost/nároky aplikace, má různé mikroframeworky.

Přiznám se, že nevím, kam se posunul desktop (java/open fx) a jestli je to použitelné a někdo to na produkční věci používá (to by mne samotného zajímalo).

Re:Náhrada PHP nebo ASP.NET Core
« Odpověď #10 kdy: 16. 02. 2021, 09:54:31 »
java na backend je strasny moloch. Kod sice vyzera super jednoducho, ale mas tam milion roznych kniznic, o ktorych netusis ako vlastne funguju.
Ja som niekolko rokov robil servisy v c#, bezia niekolko rokov bez vypadku a zaberaju minimum prostriedkov. Teraz skusam rok javu (springboot+docker) a katastrofa. Strasne to zabera prostriedkov, ten kod je este ako-tak ok, ale 30 importov, aby som urobil rest service s pripojenim na mssql a chodilo to nejak rozumne.
"Programatori" si to pochvaluju, lebo nemusia riesit nic, ale za aku cenu. Ja osobne mam radsej veci pod kontrolou, aj ked to znamena viac pisania.

Re:Náhrada PHP nebo ASP.NET Core
« Odpověď #11 kdy: 16. 02. 2021, 10:19:01 »
java na backend je strasny moloch. Kod sice vyzera super jednoducho, ale mas tam milion roznych kniznic, o ktorych netusis ako vlastne funguju.
To ale není problém Javy. Klidně to můžete programovat s pár jednoduchými knihovnami, o kterých víte, jak fungují. Java není jen Spring.

Re:Náhrada PHP nebo ASP.NET Core
« Odpověď #12 kdy: 16. 02. 2021, 10:30:36 »
Zalezi, co chces delat.

Jestli oldschool weby pro mensi mnozstvi uzivatelu a silnou podporou business logiky se session a MVC na serveru, pak Spring Boot pres maven starter a zvazit nejake RAD knihovny typu Primefaces, nejlepe v podani Joinfaces, kde to dostanes na stribrnym talire.
K tomu jako bonus OBRI sada funkcionalit z Maven Central, tohe jinde nenajdes, Nuget je parodie, PyPi se jenom blizi.

Jestli chces novy Angular like weby, kde je MVC na klientovi a backend jenom vystavujre REST API, tak pro mensi uzivatelskou bazi opet Spring Boot ze stejneho duvodu - REST api je tam otazkou jedne anotace nad metodou generujici listy beanu.
Pokud pottebujes vyssi vykon ale porad jednoduchou single node server instalaci, pak java netty.io nebo ActiveJ.
 
A pokud hodlas stavet novy google se radove miliony uzivatelu, pak dospod staeless Kubernetes pody v GO.

Re:Náhrada PHP nebo ASP.NET Core
« Odpověď #13 kdy: 16. 02. 2021, 10:34:17 »
java na backend je strasny moloch. Kod sice vyzera super jednoducho, ale mas tam milion roznych kniznic, o ktorych netusis ako vlastne funguju.
Ja som niekolko rokov robil servisy v c#, bezia niekolko rokov bez vypadku a zaberaju minimum prostriedkov. Teraz skusam rok javu (springboot+docker) a katastrofa. Strasne to zabera prostriedkov, ten kod je este ako-tak ok, ale 30 importov, aby som urobil rest service s pripojenim na mssql a chodilo to nejak rozumne.
"Programatori" si to pochvaluju, lebo nemusia riesit nic, ale za aku cenu. Ja osobne mam radsej veci pod kontrolou, aj ked to znamena viac pisania.

Ehm, v mavenu je to pouziti 2 (slovy dvou) maven starteru (webmvc + jpa), pricemz na generovani POMu je na webu klikatko https://start.spring.io/

Weru netusim, co by melo byt jednodussi.

Re:Náhrada PHP nebo ASP.NET Core
« Odpověď #14 kdy: 16. 02. 2021, 10:39:23 »
Citace
30 importov, aby som urobil rest service s pripojenim na mssql a chodilo to nejak rozumne

start.spring.io,  zašrknout spring web, spring data jpa, mysql. Vygenerovaná funkční kostra rest servisy s připojením na mysql ootb..

Holý spring zas tak žravý na resources nebude. Je to pár konceptů na naučení a funguje to spolehlivě.
Větší blackbox je JPA/spring data (za cenu toho, že to hodně akceleruje práci s SQL). Komu to připadá jako moc velký blackbox, může zkusit třeba JDBI (řeší infrastrukturní kód, SQL může mít uživatel pod kontrolou) nebo spring JDBC templates (to už je dost low level, jenom šablonovou metodou obaluje kód kolem JDBC, který by člověk psal pořád dokola nebo by si na to napsal sám podobnou šablonu).

A vedle springu je to třeba quarkus (podobná věc, implementace standardních java API jako JAX-RS, JPA, ale lehčí na zdroje) a nebo různé mikroframeworky (mikronaut, spark java..)