Thymeleaf: ползва ли се някъде?

108 views
Skip to first unread message

Svetlin Nakov

unread,
Oct 29, 2020, 7:18:23 AM10/29/20
to bg-...@googlegroups.com
Здрвейте,

С колеги спорим дали един junior Java dev трябва да знае Servlets / JSP / custom tags или альтернатива Thymeleaf.

Ние учим Spring Boot, Spring Data и Spring MVC много задълбочено. Обаче колегите са се подвели навремето (според мен) и са направили цялото учебно съдържание с Thymeleaf вместо с JSP.

Някой ползвал ли в реален проект Thymeleaf?

Ако вие наемате junior Java dev, какво ще искате от него:
  • Spring MVC + Thymeleaf
  • Spring MVC + JSP
Моля дайте съвет: да заменим ли Thymeleaf view engine с JSP технология?

Regards,

Svetlin Nakov

Software University https://softuni.bg 

Blog: https://nakov.com

LinkedIn: https://linkedin.com/in/nakov

Nayden Gochev

unread,
Oct 29, 2020, 7:31:42 AM10/29/20
to bg-...@googlegroups.com
Здравей, да обясня моето виждане:
Thymeleaf мега много го бутаха от Spring… с разните глупости Make Jar not War … цялата идея беше, че thymeleaf може да си го рендеръваш директно без да ти трябва компилация и контейнер.. т.е. супер удобен е като алтернатива на velocity дори. Отделно има и супер гениални идеи с natural templates, а бе като цяло е яка идея.

Проблема обаче е че е "фенски, опън, без профит" проект.. поддържа го един Испанец(няколко ама най вече един).. и от 2 години няма ъпдейти .. според мен е умрял проект. Отделно и не е супер удобен и лесен за ползване и не е много популярен. И като цяло е по бавен от JSP .

Та с 2 думи аз не бих преподавал Thymeleaf .. принципно server side рендъринга умря.. обаче за тия дето още го ползват.. по скоро ползват JSP най малко е най познати, най бързо и най-ясно. Thymeleaf щеше да е супер ако още се пишеше Server side и ако още го поддържаха ама в този случай.. за мен е грешна инвестиция.

Ако някой толкова мрази JSP винаги може да ползва и Freemarker и Velocity и квото иска.. просто thyemeleaf Спринг го изрекламираха доста през 2014-17та и разни хора го ползват.. :) включително в nemesis.io имаме един acceelerator на thymeleaf - polarapparel.com ама тоя на JSP-тата със сигурност е по лесен и за писане и за поддържане и като бързина.

Та на твоя въпрос -  … игнорирайте го тоя thymeleaf :) 
 

Regards,
Nayden
--
Получихте това съобщение, защото сте абонирани за групата „Bulgarian Java Users Group“ в Google Групи.
За да се отпишете от тази група и да престанете да получавате имейли от нея, изпратете имейл до bg-jug+un...@googlegroups.com.
За да видите тази дискусия в мрежата, посетете https://groups.google.com/d/msgid/bg-jug/CABqK76PAjwtFoKZxC58CsimtWk_aZMXMVVxTYwz29NmMEBPGTQ%40mail.gmail.com.

Kaloyan Gangov

unread,
Oct 29, 2020, 7:32:54 AM10/29/20
to bg-...@googlegroups.com
Работя от една година и никъде, в никой проект на фирмата не съм виждал да се ползва thymeleaf. С две ръце съм за jsp, а защо не и ползването на някой java framework като GWT или Vaadin

--

Doychin Bondzhev

unread,
Oct 29, 2020, 7:37:25 AM10/29/20
to bg-...@googlegroups.com
Здравейте,

Съдейки от факта, че последния release на Thymelaef е от 2018г. и няма развитие след това бих препоръчал да се заложи на стандартизирани решения, които търпят развитие и имат сериозна поддръжка от индустрията като цяло  вместо на нещо, което някога е било hype но към момента явно не търпи развитие.
--
Получихте това съобщение, защото сте абонирани за групата „Bulgarian Java Users Group“ в Google Групи.
За да се отпишете от тази група и да престанете да получавате имейли от нея, изпратете имейл до bg-jug+un...@googlegroups.com.
За да видите тази дискусия в мрежата, посетете https://groups.google.com/d/msgid/bg-jug/CABqK76PAjwtFoKZxC58CsimtWk_aZMXMVVxTYwz29NmMEBPGTQ%40mail.gmail.com.


-- 
Doychin Bondzhev
Mobile: +359888243116
doychin.vcf

Ivan St. Ivanov

unread,
Oct 29, 2020, 7:40:03 AM10/29/20
to bg-...@googlegroups.com
Само да кажа, че JSP леко е депрекирана технология и не се развива в рамките на Jakarta EE

Но то JSP си е вечено, винаги ще се поддържа. То това не е като някаква Spring бозичка, дето днес я има, утре я няма (сори не се сдържах :D)

За да видите тази дискусия в мрежата, посетете https://groups.google.com/d/msgid/bg-jug/6c58b5c8-bab3-9c8e-71be-b63619c91be0%40dsoft-bg.com.

Stefan Angelov

unread,
Oct 29, 2020, 8:00:31 AM10/29/20
to Bulgarian Java Users Group
Аз подкребяп Найден като цяло че Server side рендерирането е леко умряло, ние ползваме Thymeleaf като темплейт engine за майли, но се стремим да го премахнем защото няма съпорт и упдейти.

Lachezar Balev

unread,
Oct 29, 2020, 8:01:25 AM10/29/20
to bg-...@googlegroups.com
Проблемът не е само в технологията, а в самата идея за курса. Прави се курс за Spring - супер яко звучи и се продава добре, допускам. И фокуса на курса е точно там - почват се контролери, REST API-та, AOP, ивенти, Spring Data и какво ли не, материалът може да стане безкрайно голям и със сигурност им става нанагорно.

Всяко отклонение от този основен материал в различна посока причинява болка и откровено раздразнение у курсистите. Най-малко болка със сигурност ще им носи Thymeleaf и в това не се съмнявам. Обаче пък... server side rendering-a е почти мъртъв - гадно. Ще е супер ако има нещо като react/angular/andoid/нещо куул, обаче удряш греда - 90% от курсистите не са наясно с тази технология и курса приключва :-)

Аз лично никога не съм работил по истински проект с Thymeleaf, а по проект с JSP - преди 10 години. Едното е "вечно", както каза Ванката, другото ще ги боли по-мъничко и може да се фокусират повече върху основния материал в курса :-)

За да видите тази дискусия в мрежата, посетете https://groups.google.com/d/msgid/bg-jug/CACYLA9F7fmmEkPUXN3gOLNaVJab-tMB3_1oKe8R4NkcQz73VpA%40mail.gmail.com.

Stefan Angelov

unread,
Oct 29, 2020, 8:08:21 AM10/29/20
to Bulgarian Java Users Group
Аз като цяло не харесвам  и JSP и го хейта много защото е старо, но като цяло ако се прави курс които да се продава Spring сам по себе си е неубятен. Не му трябва Thymeleaf ....

Svetlin Nakov

unread,
Oct 29, 2020, 8:37:19 AM10/29/20
to bg-...@googlegroups.com
Благодаря ви на всички за отговорите. Най-вероятно ще ползваме Spring + JSP в новите издания на Java Web обученията, а пък REST / Reactive + JS front-end така или иначе преподаваме и в момента.

Regards,

Svetlin Nakov

Software University https://softuni.bg 

Blog: https://nakov.com

LinkedIn: https://linkedin.com/in/nakov


On Thu, Oct 29, 2020 at 2:08 PM Stefan Angelov <cef...@gmail.com> wrote:
Аз като цяло не харесвам  и JSP и го хейта много защото е старо, но като цяло ако се прави курс които да се продава Spring сам по себе си е неубятен. Не му трябва Thymeleaf ....

--
Получихте това съобщение, защото сте абонирани за групата „Bulgarian Java Users Group“ в Google Групи.
За да се отпишете от тази група и да престанете да получавате имейли от нея, изпратете имейл до bg-jug+un...@googlegroups.com.
За да видите тази дискусия в мрежата, посетете https://groups.google.com/d/msgid/bg-jug/CACYLA9F7fmmEkPUXN3gOLNaVJab-tMB3_1oKe8R4NkcQz73VpA%40mail.gmail.com.

--
Получихте това съобщение, защото сте абонирани за групата „Bulgarian Java Users Group“ в Google Групи.
За да се отпишете от тази група и да престанете да получавате имейли от нея, изпратете имейл до bg-jug+un...@googlegroups.com.
За да видите тази дискусия в мрежата, посетете https://groups.google.com/d/msgid/bg-jug/3131b69e-9a4f-4fd8-88e8-52a08736344cn%40googlegroups.com.

Daniel Dimov

unread,
Oct 30, 2020, 4:43:39 AM10/30/20
to Bulgarian Java Users Group
IMHO рендването на сървъра е много далеч от "умряло". Има си случаи в които си трябва и е хубаво студентите да знаят как се прави.

Конкретно за Thymeleaf - действително не се ползва много (освен за генериране на мейли). Най-често за алтернатива се посочва Freemarker - той е около 2 пъти по-бърз, но има два големи недостатъка: 1. темплейта не се вижда нормално в браузър и 2. не поддържа вложени цикли.

Според мен един junior dev трябва да е запознат принципно какво е темплейт енджин и как се ползва. Знаейки тези първоначални неща - когато/ако му потрябва - той бързо ще си научи сам останалото.

Nayden Gochev

unread,
Oct 30, 2020, 5:01:10 AM10/30/20
to Bulgarian Java Users Group
Здравейте,
аз само искам да споделя, че може би Daniel Dimov е прав.
Светлине може би трябва да сложите просто една лекция за ViewEngines и там просто да обясните, че освен JSP може да се регистрират и други. Все пак и аз бих избрал JSP просто защото е най разпространено и би било най полезно на курсистите.

Regards,
Nayden
За да видите тази дискусия в мрежата, посетете https://groups.google.com/d/msgid/bg-jug/a58dce0a-8ca4-4e25-ac40-9d5e2d46717bn%40googlegroups.com.

Mitia Alexandrov

unread,
Oct 30, 2020, 5:21:48 AM10/30/20
to Bulgarian Java Users Group
От моя опит ще кажа, че не винаги е нужно да се прави ЮАй на реакти ангуляри и т.н.
Те са относително сложни, като "начална инвестиция" и разделяне между фронта и бека. Ваадин Primefaces и тн. предлагат много готови компоненти които са абсолютно достатъчни за 90% от неща, особено за "вътрешно-корпоративна" употреба. Да не забравяме, че много неща като секютити и т.н. ти идват от кутийката...

Та, както казват "истинските" програмисти  - it depends. 

пт, 30 окт. 2020 г. в 11:01, Nayden Gochev <goc...@gmail.com>:
За да видите тази дискусия в мрежата, посетете https://groups.google.com/d/msgid/bg-jug/466d6269-6905-4f3f-a4d2-873dc0c306aa%40Spark.

Svetlin Nakov

unread,
Oct 30, 2020, 7:07:24 AM10/30/20
to bg-...@googlegroups.com
View engines в SoftUni се учи на 2 пъти, доста задълбочено:

1) Като част от front-end модула (в JS Apps курса): там ползват Handlebars като client side view engine + AJAX + Backendless и си правят front-end приложения с Vanilla JS.

2) Като част от back-end Web модула (в Java Web / C# Web / Python Web / JS Web): там се ползва server-side view engine + някакъв популярен MVC framework

И в двата курса върху тези теми имат домашно и изпит или практически проект, за да сме сигурни, че са ги научили наистина.

В .NET backend ползваме ASP.NET MVC + Razor.

В Python backend ползваме Django + Django templates.

В JS backend ползваме Express + Handlebars templates.

В Java backend ползваме Spring MVC + Thymeleaf и искаме да минем на Spring MVC + JSP. 


Regards,

Svetlin Nakov

Software University https://softuni.bg 

Blog: https://nakov.com

LinkedIn: https://linkedin.com/in/nakov

За да видите тази дискусия в мрежата, посетете https://groups.google.com/d/msgid/bg-jug/466d6269-6905-4f3f-a4d2-873dc0c306aa%40Spark.

Milen Dyankov

unread,
Oct 30, 2020, 7:52:28 AM10/30/20
to bg-...@googlegroups.com
"Server side рендерирането е леко умряло" 

То и Java е леко умряла. Вече спрях да броя колко пъти умира и възкръсва. А .NET колко пъти умира. Помня времена когато беше много хипстерско да се забрани JS в браузъра и на никой през ум не му беше минавало да ползва JS server side. Python и той бая време беше "умрял". За PHP да не говорим ...  

Казвам само че това че в даден момент, даден човек или група е фокусирана на някаква конкретна технология и/или концепция съвсем не означава че всичко друго е умряло или безсмислено. 



За да видите тази дискусия в мрежата, посетете https://groups.google.com/d/msgid/bg-jug/CABqK76P6%3Dv3D3qs2tbar9yB-4YtG7jAi_puqQ-NFGwvmaoHmrg%40mail.gmail.com.


--

Angel Gruev

unread,
Oct 30, 2020, 9:03:59 AM10/30/20
to bg-...@googlegroups.com
Здравейте

Според мен въпроса трябва да се гледа в контекста на СофтУни и на това кандидатите да имат нужните знания за да могат бързо да си намерят работа след това. И съответно там обещанието е че нещата, които учат ще са най-вече с практическа насоченост.
При нас не сме получавали запитване поне от 3г. (може и повече) за проект с JSP-та (освен запитвания да се мигрират тези проекти към Angular/ReactJS/ViewJS или mobile). 

Поздрави!
Ачо



За да видите тази дискусия в мрежата, посетете https://groups.google.com/d/msgid/bg-jug/CAHkdQYVmCJC_Qo5cOimzTUZpKAsRr7%3D240tvX%2B_Z_cpD%2BQt2Qw%40mail.gmail.com.

Nayden Gochev

unread,
Oct 30, 2020, 11:19:32 AM10/30/20
to bg-...@googlegroups.com
Все пак по темата


В Java backend ползваме Spring MVC + Thymeleaf и искаме да минем на Spring MVC + JSP.

Според мен трябваше наистина да е Spring MVC + JSP още от начало и със сигурност между 2те.. е по добре да преподавате JSP.

Колкото за JS frameworks.. има един факт - в Enterprise света не се ползва нищо дето не е доказано поне от 4 години т.е. да е на 4+ години.. последния път като чеквах имаше само 1 популярен JS framework дето да не е бил пренаписан/рестартиран изцяло в последните 4 години без backward compatability, единствения беше React. В момента може би и Angular вече е прескочил тоя момент ама да вю/мю и етц.. 😅 Та по темата за Thymeleaf поне е на над 4 години и реално е по окей от много други :) 

Бтв Наков може да дропнеш един месидж на @danfenz в twitter ама да както беше вече дискутирано не е фокус вече май.

Regards,
Nayden

Nikolay Vasilev

unread,
Dec 2, 2020, 9:38:45 AM12/2/20
to Bulgarian Java Users Group
@Светлин: На първия ти въпрос - струва ми се, че Servlets е добре да се преподава (макар че не съм виждал да се ползва за нови приложения), т.к. много добре обяснява през какви стъпки една заявка (request) бива обработена - филтри/вериги от филтри, диспатчери, контролери, хедъри, бисквитки и т.н. След това какъвто и фреймуърк човек да хване, има менталния модел как се обработват заявки.
Относно презентационния слой, не мога да коментира, т.к. не съм използвал Thymeleaf (нито съм виждал някой да го ползва). 


--
Получихте това съобщение, защото сте абонирани за групата „Bulgarian Java Users Group“ в Google Групи.
За да се отпишете от тази група и да престанете да получавате имейли от нея, изпратете имейл до bg-jug+un...@googlegroups.com.
За да видите тази дискусия в мрежата, посетете https://groups.google.com/d/msgid/bg-jug/d124d743-2703-4903-a9de-833d71d65157%40Spark.
Reply all
Reply to author
Forward
0 new messages