Portál AbcLinuxu, 30. dubna 2025 09:08
Před hafec roky jsem zde na Ábíčku sepsal blog s tématem ohledně vývoje většího IS :
Na čem a jak postavit vývoj nového firemního IS ?
Relativně nedávno jsem psal o tom, jak je to s vývojem na MS platformě a Oraclem :
Vývoj v C# + Oracle ODP.NET + EntityFramework
MS tlačil .NET Framework a jako ORM Entity Framework (EF). Sám ale v rámci EF podporoval jen pár db, takže se vždy musí čekat na Oracle, až vydá novou verzi knihoven pro nový EF.
OSS řešení a vlastně obšlehnutý Node.js. Je to založeno také na async IO, mikroserverech/mikroslužbách, je to multiplatformní, je port pro linux atd. Oproti Node.js se používá C#. Syntetické výkonnostní testy vycházejí lépe, jak u Node.js, ale je otázka, jak na tom ten systém bude s nějakým ORM, nebo konkrétnějším použitím. Kromě provozu na micro serveru Kestrel, lze .NET Core spustit i pod IIS (nezkoušel jsem).
Nedávno bylo oznámeno vydání .NET Framework 4.8 a v changelogu jsou vidět backporty fcí z .NET Core. Uvidíme, kam klasický .NET Framework dojde, ale zase nepočítám, že by ho chtěl MS v nějaké blízké době zaříznout, ekosystém má kolem něj velký.
Situace ohledně vývoje EF probíhala asi následovně, někdy v roce 2010 vydal MS první použitelnou verzi EF, v roce 2013 jí uvolnil jako OSS a hodil na github. Koncem roku 2017 vyšla poslední verze EF (6.2). Následně měla být vydána verze EF7, ale MS si řekl, že tudy asi cesta nevede a začal relativně na zelený louce a vytvořil EF Core, který není plně kompatibilní s původním EF (není vše naimplementováno a není podporována migrace, musí se část kódu přepsat). A samozřejmě se drží klasiky, podporuje jen pár DB a pro podporu Oracle musí člověk čekat, než to Oracle vydá.
Nabízí se tedy logické srovnání Node.js vs. .NET Core. Pokud bych měl stavět nějaký větší projekt, tak jsem došel k následujícímu :
Přijde mi, že je to s MS větší a větší bída. Je to ostatně vidět i na Win10, kdy neví, jakým směrem skutečně jít. MS prostě nepůsobí, že by měl nějaké jasné vize a dlouhodobé plány. Resp. zbývá asi ten klasický C# nad IIS, kde to ale vypadá s výkonem EF bídně.
Pokud bych si měl tedy vybrat mezi Node.js a .NET Core pro nějaký dlouhodobější projekt, tak nemůže být o .NET core vážná řeč. Předchozí vývoj MS jasně ukazuje, že podpora je prostě bída. V posledních letech obšlehává projekty a čeká, že dožene zpoždění, pokud si nenaplní světové zastoupení projektu do nějakých x procent, tak ho zařízne a jede se jinou cestou.
Pokud bych v současné době měl uvažovat o nějakých rozsáhlých projektech (např. implementace nějakého komplexnějšího IS), tak podobně jako v zápisku z roku 2012 tam stále vidím javu na backendu pro implementaci logiky a na frontend už bych v klidu viděl Node.js / webapp. Prostě db < jdbc > java(+případně hibernate apod.) app < rest > node.js+redis/apod.
Javu do backendu proto, protože hafec odladěných věcí, není problém s automatizací (jenkins,sonarqube,sonatype atd.), obrovská komunita a dobrý support (z hlediska vývoje a udržitelnosti konkrétních verzí javy) a nejsou na místě obavy, že by java za 20 let nebyla.
A jaký že je názor současných devkillerů? Co byste dnes použili za technologie pro nějaký větší projekt, kde by bylo dobré řešit třívrstvou architekturu a relativně neomezené škálování (n+1 serverů na každé vrstvě)?
Zdar Max
Tiskni
Sdílej:
korporátní obdoba BDSM
V konvenčním SSC BDSM jsou docela důležitá safewords. To asi nebude případ „korporátního BDSM“, že?
Co byste dnes použili za technologie pro nějaký větší projekt...
O tomhle mám rozepsaný zápisek... ve zkratce: Java.
ve zkratce: Java.myslim , ze o tom zpiva Joan Osborne v tom svem svetovem hitu, ve kterem je myslim v refrenu
And yeah, yeah, Java is great Yeah, yeah, Java is good And yeah, yeah, yeah-yeah-yeah
Java pochází od Sun Microsystems a je to programovací jazyk, který může implementovat kdokoli (existují různé implementace a ta hlavní/referenční je svobodný software). Zatímco Oracle DB je proprietární software od Oraclu.
může implementovat kdokoliOvšem pozor na patenty.
Jedina implementace skutecne nasazovana v enterprise je ta od Oraclu.A ta od IBM ne? FYI, jiz delsi dobu je referencni implementaci Javy OpenJDK.
Oracle ma Javu zcela v hrsti. Ale klidne si nalhavej dal ze tomu tak neniDoporucuji nahlednou na JCP a na afiliace lidi, kteri stoji za jednotlivymi JSR.
Jak si muze kazdy implementovat Javu si skuste popovidat s lidma z Googlu jak se kvuli tomu nemuseli ani trosku s Oraclem soudit.Jádro sporu AFAIK bylo v tom, že na mobilních platformách Javu (jako technologii) licencoval Oracle. Google je obešel tím, že reimplementoval API (mám za to, že jazyka jako takového se to netýkalo) a to je také jádrem onoho soudního sporu. Viz ten link, co jsem postoval (přiznám se, že jsem líný to číst celé). Jinak Google také v minulosti vyvinul GWT, což je transkompilátor Javy do JavaScriptu. Je to open-source a Google sám na něm má postavené velké služby jako AdWords nebo Blogger. S tím žádné legální problémy nejsou. Dále existuje GNU Classpath, neúplná implementace JRE 1.5. Z alternativních implementací celé JVM už jednu zmínil deda.jabko (dříve J9, nyní OpenJ9). Já se připojím s komerečním Excelsior JET a experimentálním/výukovým JamVM. V minulosti ještě třeba Apache Harmony (která byla původně použitá v tom Androidu).
Oracle ma Javu zcela v hrsti. Ale klidne si nalhavej dal ze tomu tak neniDobré shrnutí je tady. Kdyby Oracle chtěl začít trollit nejhorším možným způsobem, skončilo by to nejspíš forknutím posledního OpenJDK (očekával bych, že se toho zhostí třeba Eclipse Foundation nebo Apache Foundation) a bude se to udržovat. Nesmět z licenčních důvodů dělat změny v jazyce, pokud to správně chápu, tě nějak moc tankovat nemusí, když existují plně interoperabilní jazyky jako Scala nebo Groovy, a API rozšiřovat buď lze, nebo se nové věci mohou vyvíjet jako samostatná knihovna.
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.