Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

lekki web framework - co polecacie?

6 views
Skip to first unread message

kitikat

unread,
Dec 27, 2009, 5:09:01 PM12/27/09
to
Witam wszystkich Grupowiczów,
Mam zamiar przystąpić do nowego projektu, będącego niedużą aplikacją
webową (baza MySQL). Jakie frameworki polecalibyście, jako główne
kryterium biorąc pod uwagę wydajność (jeśli chodzi o funkcjonalność
nie ma żadnych udziwnień - kilka prostych crudów)?
Pozdrawiam,
Kitikat

Jacek Czerwinski

unread,
Dec 27, 2009, 5:18:30 PM12/27/09
to
kitikat pisze:
> Witam wszystkich Grupowicz�w,
> Mam zamiar przyst�pi� do nowego projektu, b�d�cego niedu�� aplikacj�
> webow� (baza MySQL). Jakie frameworki polecaliby�cie, jako g��wne
> kryterium bior�c pod uwag� wydajno�� (je�li chodzi o funkcjonalno��
> nie ma �adnych udziwnie� - kilka prostych crud�w)?

Kto� z sarkazmem odpowiada�: ten framework, kt�ry znasz najlepiej.

W kwestii podstawowej. Wsparcie CRUD-�w w og�le jest niewielkie a zerowe
w tzw. lekkich frameworkach. Mo�e JSF, ale do bazy danych ma sam w sobie
stosunek do�� daleki (abstrakcja).

O jaki sens s�owa wydajno�� chodzi? Ma�o ale szybkich sesji? Du�o sesji?
Du�o r�nych stron czy ma�o? O jakich liczbach w og�le mowa?

Nos mi m�wi, �e po drodze do wydajno�ci spotkasz si� z designem
obiektowym (zw�. obiektowy model danych, struktury obiekt�w itd), wi�c
chyba przyzwyczaj siďż˝ nie patrzeďż˝ aďż˝ tak mocno przez bazďż˝ danych.

maczech

unread,
Dec 28, 2009, 3:24:17 AM12/28/09
to

Popatrz na Grails, co prawda nie jest to czysta Java ale pisze się
naprawdę szybko. Co do wydajności to niestety nie wiem jak wypada przy
dużych projektach i dużych ilościach danych.

wojtassj

unread,
Dec 28, 2009, 4:17:24 AM12/28/09
to

Dokładnie Grails :-) Poza tym RoR, Django lub Playframework (ten
osttani jest dla czystej Javy).
Z tym, że zaden nie jest "lekki", chyba, że chodzi o lekkość nauki :-)

Pozdrawiam,
Wojtek

fv

unread,
Dec 28, 2009, 4:37:09 AM12/28/09
to
kitikat wrote:
> kryterium bior�c pod uwag� wydajno�� (je�li chodzi o funkcjonalno��
> nie ma �adnych udziwnie� - kilka prostych crud�w)?

Czysty HTML jest chyba najwydajniejszy ;P Ostatnio s�ysza�em �e z poziomu javascript mo�na puka� do
bazy danych... Tak�e szed�bym w t� stron�.

Wydajno�� na javie to raczej klastrowanie, cache, przemy�lana architektura - og�lnie rzeczy ma�o z
frameworkiem zwi�zane.

�atwiej jest przyspieszy� jav� stosuj�c mod_cache/mod_proxy/reverse proxy ni� pisz�c aplikacj� w
jaki� konkretny spos�b czy w "szybkim" frameworku.
Przede wszystkim dlatego, �e java ma obni�a� koszty developmentu i kieruje si� na minimalizacj�
burdelu w kodzie...

Je�li si� myl�, prosz� o naprowadzenie na s�uszn� �cie�k�.
--
fv

Jacek Czerwinski

unread,
Dec 28, 2009, 5:09:29 AM12/28/09
to
fv pisze:

> kitikat wrote:
>> kryterium bior�c pod uwag� wydajno�� (je�li chodzi o funkcjonalno��
>> nie ma �adnych udziwnie� - kilka prostych crud�w)?
>
> Czysty HTML jest chyba najwydajniejszy ;P Ostatnio s�ysza�em �e z poziomu javascript mo�na puka� do
> bazy danych... Tak�e szed�bym w t� stron�.

Rzuďż˝ jakims info... co z tym JS jest?

> Wydajno�� na javie to raczej klastrowanie, cache, przemy�lana architektura - og�lnie rzeczy ma�o z
> frameworkiem zwi�zane.

Chyba tak to jest.
Tradycyjnie J-framerowrki sďż˝ dedykowane do warstwy (np View - wtedy nic
im do bazy). Nie ma lub sďż˝ nieliczne "wielowarstwowe".

> �atwiej jest przyspieszy� jav� stosuj�c mod_cache/mod_proxy/reverse proxy ni� pisz�c aplikacj� w
> jaki� konkretny spos�b czy w "szybkim" frameworku.

JVM jako taka nie musi siďż˝ wstydziďż˝ w stosunku do np PHP. Na pewno jest
wolna jak si� rozgrzewa, lub jak ewidentnie co� programi�ci spieprzyli,
nie wiem, mo�e np. powo�uj�c miliony obiekt�w (tu PHP ma podobno kiepski
od�miecacz, ale akurat dobrze pasuj�cy do sposobu uzycia), lub operacje
IO (PHP maj�cy persistetne po��czenia do BD mo�e by� lepszy od naiwnego
kodowania w Javie, jakie w realu widzia�em).


> Przede wszystkim dlatego, �e java ma obni�a� koszty developmentu i kieruje si� na minimalizacj�
> burdelu w kodzie...

100% popieram. Mozna utrzymac gigantyczny projekt bez popadania w burdel
(lub dziwne konwencje utrzymania porz�dku) , mo�na da� innym �rodki do
eleganckiego rozwoju (i dodatk�w) nie burz�cego koncepcji.

Osobi�cie uzywam Wicket, za to �e ma du�e mozliwo�ci i design OO, w
kontek�cie tego w�tku nie mam zdania co do "wydajno�ci" ani nie b�de
poleca�, zw�aszcza �e pytaj�cy nie poda� sposobu mierzenia wydajno�ci. W
tym r�wnie� ma bezstressowy, zintegrowany z ide� g�own�, AJAX.

MZ

unread,
Dec 28, 2009, 5:20:05 AM12/28/09
to
fv pisze:

> �atwiej jest przyspieszy� jav� stosuj�c mod_cache/mod_proxy/reverse proxy

jak mod_proxy mo�e "przyspieszy� jav�"?

--
Pozdrawiam
Mateusz
http://na-jawie.blogspot.com

maczech

unread,
Dec 28, 2009, 6:40:02 AM12/28/09
to
On 28 Gru, 11:20, MZ <mat...@op.usun.to.pl> wrote:
> fv pisze:
>
> > Łatwiej jest przyspieszyć javę stosując mod_cache/mod_proxy/reverse proxy
>
> jak mod_proxy może "przyspieszyć javę"?
>
> --
> Pozdrawiam
> Mateuszhttp://na-jawie.blogspot.com

Do listy można dodać jeszcze Spring Roo i to już jest czysta Java.

kitikat

unread,
Dec 28, 2009, 7:41:16 AM12/28/09
to
Dziękuję za odpowiedzi,
--
Pozdrawiam,
Kitikat

fv

unread,
Dec 29, 2009, 7:58:08 AM12/29/09
to
MZ wrote:
> fv pisze:
>> �atwiej jest przyspieszy� jav� stosuj�c mod_cache/mod_proxy/reverse proxy
>
> jak mod_proxy mo�e "przyspieszy� jav�"?

Chodzi mi o og�lny pomys� reverse proxy, czyli:


Klient (internauta) <----> Server reverse proxy, kt�ry cachuje odpowiedzi backendu java
|
|
V
Jaki� backend w javie, kt�ry generuje stron� przez 3s


Je�li pytasz o to jak to zrobi� konkretnie za pomoc� mod_proxy to nie wiem ;-)


--
fv
Xbox gamertag: fastviper PL
Moto: Suzuki GSX 650F
Auto: Nissan Primera 2,0

Jacek Czerwinski

unread,
Dec 29, 2009, 8:11:54 AM12/29/09
to
fv pisze:

> MZ wrote:
>> fv pisze:
>>> �atwiej jest przyspieszy� jav� stosuj�c mod_cache/mod_proxy/reverse proxy
>> jak mod_proxy mo�e "przyspieszy� jav�"?
>
> Chodzi mi o og�lny pomys� reverse proxy, czyli:
...
I tak, i nie.
Rozgrzana aplikacja javowska wykonuje kod stosunkowo szybko. Hamulcami
moga by� intensywne IO (lub SQL). Proxuj�c to, jest ryzyko
nieaktualno�ci danych. Dopuszczalne dla og�lnych serwis�w
informacyjnych, podawania sta�ych element�w (obrazki, style) ale dla
pracy z danymi (pytaj�cy powo�a� si� na CRUD) ju� niekoniecznie.
Jak siďż˝ zgra cachowanie z wysoko dynamicznymi aplikacjami (np. AJAX, te
sprawy), tego najstarsi g�rale nie wiedz�, mo�e tak, mo�e nie.


W miar� dobrego projektu, np. mo�na wykry� k�opotliwe wolne fragmenty, i
je cachowa� selektywnie w javie (praktyczny przyk�ad np. panel z kursami
walut NBP). Ale to juz zupe�nie inne cachowanie.

fv

unread,
Dec 29, 2009, 8:11:50 AM12/29/09
to
Jacek Czerwinski wrote:
> fv pisze:
>> kitikat wrote:
>>> kryterium bior�c pod uwag� wydajno�� (je�li chodzi o funkcjonalno��
>>> nie ma �adnych udziwnie� - kilka prostych crud�w)?
>>
>> Czysty HTML jest chyba najwydajniejszy ;P Ostatnio s�ysza�em �e z
>> poziomu javascript mo�na puka� do
>> bazy danych... Tak�e szed�bym w t� stron�.
>
> Rzuďż˝ jakims info... co z tym JS jest?

Podobno kto� bibliotek� napisa�, kt�ra otwiera po��czenie do bazki i normalnie zapytania mo�e
wysy�a�. Parsuje te� podobno odpowiedzi. Nie znam szczeg��w, gdy� to rozwi�zanie wymaga
bezpo�redniego dost�pu ka�dego u�ytkownika do bazy danych (port wystawiony na �wiat) czyli ma
zastosowanie raczej w�skie. Nie interesowa�em si� g��biej.

Dosta�em linka w tym temacie: http://persvr.org/

> lub operacje
> IO (PHP maj�cy persistetne po��czenia do BD mo�e by� lepszy od naiwnego
> kodowania w Javie, jakie w realu widzia�em).

A ten.. tomcat czasem nie ma zarz�dzalnej, zar�bi�cie szybkiej i skutecznej puli po��cze� DB?

Jacek Czerwinski

unread,
Dec 29, 2009, 8:25:53 AM12/29/09
to
fv pisze:

>
> Dosta�em linka w tym temacie: http://persvr.org/

The Persevere Server is an object storage engine and application server
(running on Java/Rhino) that provides persistent data storage of dynamic
JSON data in an interactive ****server side JavaScript*** environment
with the following key features:

Server Side !!!!!

Client Side JS nie ma mozliwo�ci np. wej�c na po��czenie BD.

>
>> lub operacje
>> IO (PHP maj�cy persistetne po��czenia do BD mo�e by� lepszy od naiwnego
>> kodowania w Javie, jakie w realu widzia�em).
>
> A ten.. tomcat czasem nie ma zarz�dzalnej, zar�bi�cie szybkiej i skutecznej puli po��cze� DB?

Ma, ale "programista" (przyj�� si� do roboty z b.dobrym CV, a firmie
zale�a�o wypu�ci� cho�by knota ale za to Enterprajz) przekleja�
bazodanowe "Hello World" ;)

Po drugie (inaczej ni� w skryptach) nie ka�dy obiekt (dan�) trzeba
pozyskiwa� w ka�dym requescie. Jak kto� fajnie zrobi architektur�, ma
du�e zyski.

Marx

unread,
Dec 30, 2009, 3:34:53 AM12/30/09
to
A moze Weld? :) Tyle ze lekkie to raczej nie jest...
Cos juz w tym powstalo?
Marx

copernic777

unread,
Dec 30, 2009, 3:49:03 AM12/30/09
to

Dlaczego uważasz że sam Weld (CDI) nie jest lekki?

Marx

unread,
Dec 30, 2009, 4:41:54 AM12/30/09
to
copernic777 pisze:

> On 30 Gru, 09:34, Marx <M...@nospam.com> wrote:
>> A moze Weld? :) Tyle ze lekkie to raczej nie jest...
>> Cos juz w tym powstalo?
>> Marx
>
> Dlaczego uwa�asz �e sam Weld (CDI) nie jest lekki?

Sam Weld to nie wszystko. Jak sie dolozy EJB3 i jakies RichFaces to juz
lekko nie jest.
Marx

Witold Szczerba

unread,
Dec 30, 2009, 6:34:22 AM12/30/09
to
On Dec 30, 10:41 am, Marx <M...@nospam.com> wrote:
> > Dlaczego uważasz że sam Weld (CDI) nie jest lekki?

>
> Sam Weld to nie wszystko. Jak sie dolozy EJB3 i jakies RichFaces to juz
> lekko nie jest.
> Marx

Nie jest? A jak weźmiesz Spring i dołożysz coś od zarządzania
transakcjami i autoryzacją przez interceptory to będzie lżej?
Sprawdź Glassfish v3 Lite, gdzie masz (prawie) cały stos Java EE 6 i
zachowuje się jakby był całkiem "lekki" (CDI w implementacji Weld to
tylko fragment, tak samo jak Spring IoC to tylko mały fragment stosu
Spring).

Jacek Czerwinski

unread,
Dec 30, 2009, 6:47:30 AM12/30/09
to
Marx pisze:

Widz�, �e nie widz�;)

Umkn�� mi ten framework. Rozumiem jaki� nie tyle frontedowy (jednak
takich jest wi�cej) tylko integruj�cy w kup�? (jak si� ma do Seama?)

Kto� co� ogl�da� na jego styku z Wicket'em?

fv

unread,
Dec 30, 2009, 10:03:45 AM12/30/09
to
Jacek Czerwinski wrote:
> fv pisze:
>> MZ wrote:
>>> fv pisze:
>>>> �atwiej jest przyspieszy� jav� stosuj�c mod_cache/mod_proxy/reverse
>>>> proxy
>>> jak mod_proxy mo�e "przyspieszy� jav�"?
>>
>> Chodzi mi o og�lny pomys� reverse proxy, czyli:
> ...
> I tak, i nie.
> Rozgrzana aplikacja javowska wykonuje kod stosunkowo szybko.

Jeszcze zale�y jaka aplikacja. Ja jako� pod�wiadomie od razu wzi��em pod uwag� CMS ze
skomplikowanymi szablonami interpretowanymi na bie��co.

> Hamulcami
> moga byďż˝ intensywne IO (lub SQL).

Albo szablony interpretowanie na bie��co jak w Velocity/Webmacro itp.

> Proxuj�c to, jest ryzyko
> nieaktualno�ci danych.

Fakt, to jest bardzo trudne.

> Dopuszczalne dla og�lnych serwis�w
> informacyjnych, podawania sta�ych element�w (obrazki, style) ale dla
> pracy z danymi (pytaj�cy powo�a� si� na CRUD) ju� niekoniecznie.

Trzeba sobie to jako� zgra� i keszowa� tylko proste elementy albo wysy�a� nag��wki "Last-modified".

> W miar� dobrego projektu, np. mo�na wykry� k�opotliwe wolne fragmenty, i
> je cachowa� selektywnie w javie (praktyczny przyk�ad np. panel z kursami
> walut NBP). Ale to juz zupe�nie inne cachowanie.

Ja tam uwa�am, �e nale�y zrobi� statystyki popularno�ci i optymalizowa� najcz�ciej odwiedzane
adresy. A to najpro�ciej zrobi� mod_proxy. Co nie znaczy, �e prosto.

Marx

unread,
Jan 4, 2010, 3:09:01 AM1/4/10
to
Jacek Czerwinski pisze:
W zasadzie to Weld powstal na doswiadczeniach Seam (pisali go ci sami
ludzie). Seam w wersji 3.0 bedzie oparty o Weld i bedzie go rozszerzal.
Marx

kub...@gmail.com

unread,
Jan 4, 2010, 3:46:58 AM1/4/10
to

Konia z rzędem temu kto mi udowodni, że to cięższe rozwiązanie :) [w
szczególności czepiam się częstości i sposobu wstrzykiwania
zależności]

Kuba

copernic777

unread,
Jan 5, 2010, 3:40:30 AM1/5/10
to
On 4 Sty, 09:46, "kube...@gmail.com" <kube...@gmail.com> wrote:
>
> Konia z rzędem temu kto mi udowodni, że to cięższe rozwiązanie :) [w
> szczególności czepiam się częstości i sposobu wstrzykiwania
> zależności]
>
> Kuba

Mówisz o bijekcji zależności każdorazowo przy wywoływaniu metod beanów
jak było w Seamie 2.x?
Jeśli tak, to Weld, odszedł już od tego schematu i opiera się na
wstrzykiwaniu proxy tylko przy tworzeniu beana.

0 new messages