2011-12-21 12 views
9

Opracowaliśmy kilka aplikacji internetowych dla różnych klientów, od prostych, nudnych wyglądających stylów GUI w stylu CRUD dla tych biednych administratorów, po zaawansowane, ulepszone interfejsy graficzne AJAX dla tych użytkowników Internetu. Wszystko opierało się na JSF 1.2 w połączeniu z JBoss Seam 2, wykorzystując Facelets i RichFaces jako warstwę prezentacji.JavaFX w aplikacjach internetowych dla przedsiębiorstw - dobra alternatywa dla klasycznych stron internetowych?

Wiemy o ograniczeniach JSF 1.2 i (mam takie smutne), że nie udało nam się jeszcze przejść na Java EE 6, ale z definiowaniem tej konfiguracji jako stosu technologii, zdobyliśmy pewne doświadczenie z tę technologię, czując się komfortowo, aby niezawodnie tworzyć aplikacje internetowe dla naszych klientów.

Więc, dlaczego do cholery mam ci to powiedzieć? Ponieważ coraz częściej doświadczamy, że klienci, którzy słyszeli o "Web 2.0", chcą mieć bogatą funkcjonalność klienta, a jednocześnie akceptują przeglądarkę jako drzwi do wszystkich aplikacji. Chociaż wiemy, że można to zrobić za pomocą technologii, której używamy, uważamy, że dobrym pomysłem byłoby użycie czegoś innego po stronie klienta, aby wesprzeć te potrzeby. A ponieważ jesteśmy głównie programistami Java, a my wciąż trzymamy się tego gościa, który podsłuchuje nas swoim Adobe Flex, uważamy, że JavaFX w jego nowej wersji może być dobrym pomysłem.

Z trudem udało mi się zagłębić w głębiny zasobów JavaFX, które udało mi się znaleźć - ale jedna rzecz, która przyszła mi do głowy dość często, to że JavaFX przedstawia się jako technologia, która potrafi zrobić ładne efekty graficzne , jednak podczas gdy odbijane kolorowe, zacienione bąbelki mogą wyglądać fajnie, są one zasadniczo bezużyteczne w zastosowaniach biznesowych.

Krótko mówiąc - lubimy używać Java EE 6 w backendach, mając jednocześnie bogatą i ładną funkcjonalność na kliencie. Czy JavaFX to dobra alternatywa dla klasycznych stron internetowych, czy nawet dla nadchodzących nowoczesnych stron HTML 5 podczas tworzenia biznesowych aplikacji internetowych i gdzie można znaleźć na to przykłady?

Dziękuję za poświęcony czas przeczytaniu tego i odpowiedziach, które miejmy nadzieję.

+0

Myślę, że to raczej alternatywa dla „klasycznej Swing lub. NET tworzy aplikacje ". – Thilo

+0

Oczywiście jest to alternatywa (jeszcze bardziej dzisiaj). Nie jest to optymalna alternatywa dla prostych przypadków korzystania z sieci WWW, szczególnie gdy wdrożenie jest bardzo złożone (podpowiedź: zwykle w przypadku "przedsiębiorstwa", ze względu na wewnętrzne mechanizmy, wdrożenie jest stosunkowo łatwe). Ale w przypadku skomplikowanych przypadków użycia lub wysoce wystandaryzowanych środowisk jest z pewnością użyteczny. Flex było świetne (najlepszy, łatwo) z powrotem w dzień (i łatwe do nauczenia dla deweloperów Java ...), aż jabłko leży zniszczony Flash, więc z perspektywy czasu patrząc na FX był dobry rozpoczętej rozmowy wbudowane w JDK teraz .. – User

Odpowiedz

9

Możesz przyjrzeć DataApp próbki z próbek JavaFX pakiet na http://www.oracle.com/technetwork/java/javafx/downloads/index.html

Jest przykładem aplikacji korporacyjnych z JavaFX UI w przeglądarce. Da ci to dobry przykład tego, co można zrobić na JavaFX dla klientów korporacyjnych.

Być może będziesz musiał poświęcić trochę czasu na zainstalowanie MySQL, EE i innych rzeczy dla tego przykładu (całkiem proste, wystarczy wykonać README), ale zobaczysz, jak pełny stos jest obsługiwany z DB do interfejsu klienta.

Mały zrzut ekranu z pierwszego ekranu:

DataApp Sample

+0

Dzięki za podpowiedź - już ją pobrałem, ale ponieważ DataApp jest tylko w folderze src, nie zauważyłem tego. –

+0

myślę, że to dobry początek, więc zaakceptować tę jedną, allthough Chciałbym wiedzieć, czy ktoś może mieć ściślejszą, system obsługiwany sposób wymiany danych i wywołać działania, jak jestem przyzwyczajony do z JSF i nie tylko przechodząc przez Usługi sieciowe REST. –

10

Wybrałbym HTML 5, chyba że miałem pewne potrzeby, których aplikacja internetowa nie mogłaby zaspokoić.

Jestem pewien, że można tworzyć wspaniałe aplikacje za pomocą JavaFX, ale jest bardzo mało narzędzi, z wyjątkiem standardowych elementów Java. A ponieważ nie jest zbyt szeroko stosowany, będziesz miał problemy ze znalezieniem wsparcia i zatrudnianiem ludzi, którzy są w tym dobrzy. Zawsze istnieje ryzyko, że będzie to tak samo jak jego odpowiednik .Net Silverlight - do kosza na śmieci (Oracle nie jest sentymentalny). Jeśli chodzi o Flex, Adobe just donated Flex to Apache with the explanation that HTML 5 is the "best technology for enterprise application development".

Porównaj to z HTML 5. Jest nie tylko szerzej używane (co oznacza, że ​​będziesz w stanie znaleźć wsparcie i łatwiej będzie zrekrutować czas), ale także zyskuje coraz więcej wsparcia, lepszych narzędzi i nowych funkcji. Myślę, że to raczej oczywiste, co jest bardziej przyszłościowe.

+1

Tak, myślałem także o używaniu HTML 5 z tych samych powodów, o których mówisz. Nie miałem głębokie spojrzenie w nim jeszcze - ale ponieważ HTML 5 nadal jest językiem znaczników, a nie język programowania - co to jest, to są rzeczywiście przy rozwoju kodu klienta - JavaScript z dużą ilością ram na wierzchu? –

+0

Tak, Javascript i jQuery są swego rodzaju standardem programowania po stronie klienta. Większość frameworków internetowych Java (w tym JSF) może generować wiele skryptów JavaScript, które mogą ci pomóc, jeśli naprawdę nie chcesz pisać JS. – gustafc

+0

Brak odpowiedzi na pytanie, to jest skala sprzedaży. Wy, internetowcy, jesteście bezwstydni. Przestańcie próbować "zabijać" inne technologie i pozostawać w waszej własnej półfunkcjonalnej, podzielonej piaskownicy, proszę. – User

4

Większość przykłady „na stronie korporacyjnej” JavaFX znajdziesz będzie klient JavaFX rozmowy z tylnym końcu przez relaksującego usługa.

Ale Java Web Start jest fajna technologia. Dzięki niemu klient aplikacji zostanie uruchomiony przez twoją stronę internetową, automatycznie zaktualizowany do najnowszej wersji i ze wszystkimi nowymi zależnościami pobieranymi automatycznie z serwera. Możesz nawet wykonać wtrysk zależności i wstrzyknąć lokalny serwer proxy klienta do zasobów po stronie serwera; Enterprise JavaBeans, JMS zarządzał obiektami i tak dalej.

Jest to bardzo przydatna technika, który pozwoli swój talk klienta z serwerem w licznej ilości sposobów i nie używać tylko HTTP przewodowych usług internetowych. Jednak JavaFX hamuje ten wzór. Nie ma prostego sposobu na osadzenie klienta aplikacji JavaFX w pakiecie EAR i użycie wtyczki zależności. Ale znalazłem rozwiązanie, które jest dość intuicyjne i łatwe do odtworzenia. Tak, aby dać Ci kolejny przykład aplikacji JavaFX pracuje jako zdalny GUI do tylnego końca, proszę spojrzeć na moje Samouczek:

http://blog.martinandersson.com/the-enterprise-side-of-javafx-the-missing-part/

+0

Bardzo dobry artykuł, dzięki za udostępnienie. –

+0

Szukałem tego bloga, jest to bardzo pomocne, ale nie mogę znaleźć sposobu na przetestowanie go na serwerze Wildfly. Ponieważ tego właśnie brakuje. config: META-INF/custom.jnlp kamel2005

+0

wildfly nie ma tego pliku: glassfish-application-client.xml. – kamel2005

Powiązane problemy