Java EE czy Java SE?

0

Witam, dziś zaczynam naukę programowania w Javie, mam w planach stworzyć grę 'Wojny obcych' (ktoś mi zasugerował bym zrobił ją w Javie a nie w C++) zarówno w postaci apletu na przeglądarkę jak i programu w postaci wersji darmowej dostępnej po zalogowaniu się na stronie i pobraniu go. Ta gra będzie oparta na OpenGL. I powiedzcie też czy powinienem pobrać SDK? Oraz też mam w planach powstawianie czatów, kalkulatorów i innych apletów... Ta gra będzie 3D. No i tu nasuwa się pytanie czy lepiej zrobić ją w J2EE czy Java SE? I powiedzcie czy lepiej edycje na przeglądarkę zrobić w postaci appletu czy w JavaFX? Z góry dziękuję!

1

Java EE jest przeznaczona do aplikacji enterprise i jest rozszerzeniem Javy SE. Jest sporo innych bibliotek, które z powodzeniem zastępują Javę EE w pisaniu aplikacji klasy enterprise. Klasa enterprise to MSZ aplikacje przeznaczone dla dużej grupy użytkowników naraz względnie mające skomplikowane procesy biznesowe. Nie widzę tutaj zastosowania Javy EE, tzn w twojej aplikacji.

Java ME jest dla pisania dla słabych komórek. Pisze się w niej topornie.

Jeśli chcesz zrobić coś trójwymiarowe w OpenGL pod desktop, zarówno jako samodzielna aplikacja jak i aplet (z poziomu Javy niewiele się te scenariusze różnią, oprócz tego, że aplet ma sporo ograniczeń np w dostępie do dysku jeżeli nie jest podpisany) polecam http://jmonkeyengine.com/sdk/ - specjalne IDE, framework i bindingi do OpenGLa pod wiele systemów operacyjnych (nie wiem nawet czy pod Androida i desktopa robić grę jednocześnie bez przerabiania kodu).

2

Java EE czy Java SE?
JEE jest backendem i nie nadaje się na clienta gry.

hubot napisał(a):

Ta gra będzie oparta na OpenGL. I powiedzcie też czy powinienem pobrać SDK?

Trudno będzie programować w Javie bez JDK, jak sądzę (choć Eclipse ma własny kompilator)
http://www.oracle.com/technetwork/java/javase/downloads/index.html - pobierz JDK (lepiej 1.6, gdyż 7 nie jest jeszcze taka popularna, oraz bywają problemy z pisaniem pod androida)

hubot napisał(a):

I powiedzcie czy lepiej edycje na przeglądarkę zrobić w postaci appletu czy w JavaFX? Z góry dziękuję!

JavaFX to trochę osobna platforma i nie ma większego sensu jej używać, skoro grę tworzysz w OpenGL.

W Javie z OpenGL bezpośrednio można skorzystać na dwa sposoby: przez JOGL i przez LWJGL; oraz OpenGL ES przez api androida i LibGDX

http://www.lwjgl.org/ - jest to binding do Javy: OpenGL + OpenAL + input, etc.
Jeśli chcesz korzystać z OpenGL bezpośrednio, to użyj właśnie tego. (lub LibGDX, jeśli dodatkowo chesz mieć appa na Androida)

Większość (jeśli nie wszystkie) silników 3D w Javie korzysta pod spodem właśnie z LWJGL.

http://libgdx.badlogicgames.com/ - jest to framework do pisania pod Androida, PC (windows,linux,mac), HTML5 (GWT)
Korzysta z OpenGL ES i pozwala również z niego korzystać bezpośrednio. Na PC korzysta z LWJGL, na Androidzie z własnego bindingu przez JNI. w HTML5 korzysdta z WebGL i GWT. Ma załączony silnik fizyczny Box2D w C++, również część funkcjonalność jest napisana w c++, ze wszystkiego korzystać można(powinno się) z poziomu Javy.
Posiada wysoko poziomowe api pomagające w pisaniu aplikacji 2D (w tym GUI), w budowie jest również api do 3d. (nie jest skończone i raczej korzystałbym z opengl es bezpośrednio)
Ten sam kod można odpalić na desktopie, jak i na androidzie - różni się tylko kilkoma linijkami kodu startowego.

Kilka wysokopoziomowych silników 3D:

http://jmonkeyengine.com/ - Najpopularniejszy engine 3D Javy, ostatni raz go widziałęm gdy był w wersji 2.0, później zrobił się "ciężki"

http://www.jpct.net/ - Pisany przez jedną osobę, nie jest open source, oprócz renderera sprzętowego posiada też softwarowy, jest lekki.

http://ardor3d.com/ - fork jmonkeyengine 2.0 - autorzy byli współautorami jmonkeyengine, gdy uznali, że w jme robi się bałagan, odeszli forkując go.

1 użytkowników online, w tym zalogowanych: 0, gości: 1