Na portálu Root.cz dnes vyšel článek, který upřesňuje technické pozadí Učebnice jazyka Java a tvorba webových aplikací pro samouky — proč jít cestou webových aplikací místo konzole, proč zůstat u čistého Servlet API a jak může typově bezpečný přístup zjednodušit práci v prezentační vrstvě. Text míří hlavně na odbornější publikum a vývojáře, kteří chtějí vidět Javu v praxi, ne jen v učebnicových příkladech.
Ujorm česky
Ujorm je odlehčený Java framework, který umožňuje čtení informací z (nejen) databáze pomocí typově bezpečných objektových dotazů. Framework pracuje s objekty typu key-value.
2026-01-28
2024-11-06
Ujorm release 2.26
Dnes byla uvolněna nová verze knihovny Ujorm verze 2.26. Změny se týkají zejména modulu ujo-web. Cílem vydání bylo odstranit zcela závislost na servlet-api,
Maven závislost:
<dependency>
<groupId>org.ujorm</groupId>
<artifactId>ujo-web</artifactId>
<version>2.26</version>
</dependency>
2023-04-07
Nový ORM framework pro Kotlin?
Pokud máte averzi na vznik nových frameworků, tohle raději dál ani nečtěte. Ostatní laskavé čtenáře upozorňuji, že zde chystám představit především návrh API pro modelování databázových dotazů v deklarativním stylu se silnou typovou kontrolou jazyka Kotlin. Implementovány jsou jen některé třídy kolem entit, napojení na databázi zatím chybí …
Celý článek je zde: https://blog.root.cz/ponec/novy-orm-framework-pro-kotlin/
2021-07-06
Ujorm pro Kotlin?
Prototyp knihovny Kotlin pro modelování filtrů pomocí meta-modelu doménových objektů. Sestavené filtry pracují s běžnými objekty POJO. Řešení bylo inspirováno frameworkem Ujorm, ale tento kód je však zcela nový. Oblastmi použití jsou například:
- dynamické validace
- alerting
- modelování podmínek pro nějaké ORM
Více informací na: https://github.com/pponec/ujormKt
2021-06-21
Mini webová Java aplikace s velikostí okolo 5 MB
Podařilo se mi sestavit webovou aplikaci s velikostí pouhých 5,18 MB. Aplikace obsahuje pouze stručný HTML formulář s podporou jednoduchých událostí AJAX. Projekt je postaven na frameworku Javalin a webovém modulu z frameworku Ujorm.
https://github.com/pponec/demo-ajax/tree/javalin
2021-04-04
HTML report v jazyce Java na pár řádků
Dnes vám představím jednoduchý tabulkový HTML report vytvořený pomocí
pouhých třinácti řádků zdrojového kódu zapsaných do jediného příkazu
jazyka Java. Předpokládejme přitom, že služba pro získání dat už
existuje. Pokud budeme chtít uživatelům nabídnout také jednoduché
(sekvenční) filtrování obsahu tabulky s řazením sloupců, implementace
vezme ještě pár řádků kódu navíc. Řešení stojí na objektech typu Element z frameworku Ujorm ...
2021-03-08
Jednoduché webové stránky s AJAX
Framework Ujorm obsahuje od verze 1.91 nový webový modul ujo-web se třídou Element, která slouží pro sestavení HTML stránky pomocí objektového modelu. Za výhodu takového řešení považuji:
- odolnost vůči překlepům v HTML kódu,
- bezpečný zápis dat včetně speciálních znaků
- vnitřní elementy výsledného HTML kódu se automaticky odsazují mezerami
- vybrané vlastnosti výsledné stránky lze ovlivnit konfigurací, týká se to třeba výběru znaků pro odsazování vnořených elementů, zalamování řádků, národního prostředí, kódové stránky a také možnosti registrace vlastního formatteru datových objektů,
- zápis Java lze přiblížit strukturovanému HTML kódu - pomocí bloků try-catch,
- minimalistické řešení bez dalších závislostí,
- za výhodu považuji také možnost jednoduchého připojení dalších služeb – s veškerým komfortem prostředků jazyka Java
Je dobré vědět, že objekty typu Element posílají svá data rovnou do Writeru a tak je jeho paměťová náročnost minimální (ve výchozí konfiguraci). Pro ilustraci přikládám ukázku kódu jednoduchého formuláře v těle běžného Java servletu:
Od veze 2.13 je podporován AJAX pomocí Javascriptu Vanilla ES6. Popis referenční implementace vyšel dnes na blogu portálu Root.cz .
2019-11-20
Ujorm 1.93 podporuje Stream
PreparedStatement ps = dbConnection.prepareStatement("SELECT * FROM myTable");
new RowIterator(ps).toStream().forEach((RsConsumer)(resultSet) -> {
int value = resultSet.getInt(1);
});
Nějaké další informace lze najít v jUnit testech. Pokud výslovně nepotřebujete pracovat s objektem typu Stream, tak už v předchozích verzích knihovny bylo možné sestavit výraz: PreparedStatement ps = dbConnection.prepareStatement("SELECT * FROM myTable");
new RowIterator(ps).forEach((RsConsumer)(resultSet) -> {
int value = resultSet.getInt(1);
});
Pro Maven projekty přidáte závislost XML výrazem: <dependency>
<groupId>org.ujorm</groupId>
<artifactId>ujo-tools</artifactId>
<version>1.93</version>
</dependency>
2019-03-31
Příběh frameworku Ujorm
Podle měření webu Root.cz - čtenáři dnes dopoledne překročili 10 tisíc zobrazení toho článku, děkuji všem za kultivovanou diskuzi.
Odkaz na text článku přikládám:
https://blog.root.cz/ponec/pribeh-frameworku-ujorm/



