Co myślisz o GWT? [Zamknięte]

11

Ponieważ uczę się języka Java w tym okresie i właśnie ukończyłem samouczki, myślę, że jestem gotowy, aby zacząć przyczyniać się do projektu (ponieważ wiem z doświadczenia, że ​​to najlepszy sposób, aby naprawdę się uczyć).

Widziałem GWT, wygląda interesująco, więc pomyślałem, że powinienem spróbować. Zastanawiam się jednak, skoro GWT wdraża aplikacje Java w JavaScript, dlaczego mam się uczyć GWT, skoro mogę zamiast tego nauczyć się faktycznej rzeczy (to jest JavaScript). Moje pytanie: czy warto? Czy ktoś nie byłby lepszy w nauce JavaScriptu, gdyby chciał budować aplikacje JS zamiast Java i GWT? Zdaję sobie sprawę, że zbudowanie pewnych rzeczy za pomocą GWT może być łatwiejsze, ale czy w końcu jest tego warte?

Dzięki.

Peter Boughton
źródło
3
Jednak ludzie uczą się języka C zamiast programowania systemów bezpośrednio w kodzie maszynowym.
haylem

Odpowiedzi:

6

GWT jest zasadniczo kompilatorem kodu natywnego, podobnie jak Visual Studio kompiluje kody źródłowe do kodów bajtowych lub języka maszynowego.

Pozwala to programiście wyodrębnić różnice w architekturze bazowej, podobnie jak użytkownicy Visual Studio, którzy nie muszą się martwić różnicami w długości słów, liczbą rejestrów i dokładnymi konwencjami wywoływania systemu operacyjnego, gdy kodują dla wersji 32-bitowej lub 64-bitowej -kawałek.

To dobra rzecz, ponieważ pozwala przenieść część ciężaru utrzymania na inne. Ponieważ to jest Google, wiesz, że mają więcej zasobów programistycznych niż ty, więc w zasadzie zapewniasz dodatkową siłę roboczą za darmo.


źródło
2
Kolejną zaletą jest debugowanie w trybie hostowanym. Dzięki temu możesz debugować logikę aplikacji, zarówno po stronie klienta, jak i serwera oraz przy użyciu wszystkich narzędzi na etapie debugowania.
Jeremy
5

nie lubię tego

Wszystko, co możesz z tym zrobić, możesz zrobić czystsze bez niego.

Josh K.
źródło
Zgodzić się. Ale piszesz strony z wieloma obrazami z jednym plikiem na obraz. Dobrze ?
1
@Rocket: Nie rozumiem, co oznacza „wiele obrazów, jeden plik na obraz” .
Josh K
4
@Rocket: Nie widzę, co obrazy mają wspólnego z GWT. Jeśli chcesz włączyć duszki, możesz, w przeciwnym razie masz wiele obrazów.
Josh K
1
@Josh Domyślam się, że dodajesz małe animacje itp. Zamiast pisać duży kompleks. Istnieje powód, dla którego języki skryptowe są ograniczone do małych zadań, a do większych zadań używa się statycznie pisanych języków.
MP01
2
Jednym słowem oprzyrządowanie. Nikt nie napisał prawdziwego porównywalnego edytora dla javascript w porównaniu do wielu dostępnych dla java.
MP01
2

Powodem, dla którego GWT przyjęło Javę jako język źródłowy, jest to, że JS (Ecmascript) jest nieludzko trudny w obsłudze. GWT to po prostu dobry sposób na przeniesienie programowania do przeglądarek internetowych / przeglądarek, w których wcześniej nie było to możliwe.

Przed GWT były daremne próby zaprogramowania czegoś w przeglądarkach (Ajax, dojo, zwykły javascript). Ale siły natury są tam zbyt gwałtowne, więc wszystko się rozpada (przeglądarki się zmieniają, nigdy nie są takie same, ludzie mówią różnymi językami, ludzie myślą, że 15 obrazów to właściwie 15 plików itp.).

Więc odpowiedź brzmi: gdybym kodował internetowy kocioł oceaniczny (co nie jest moją pracą), wybrałbym GWT.

PS Kolejna myśl. JS jest wykonany przez Netscape. Firma od dawna nie żyje, ale język pozostaje tam niedokończony i gnijący


źródło
6
-1 ECMAScript jest stale rozwijany; ECMAScript 5 właśnie ukazał się w zeszłym roku, a ActionScript, język Flash, to ECMAScript.
16
-1. JavaScript nie jest „nieludzko trudny” do zaprogramowania. Jeśli uważasz, że JavaScript jest trudny, prawdopodobnie nie jesteś zbyt inteligentny. Przed GWT byli ludzie, którzy wiedzieli, co robią. Po GWT są ludzie, którzy nie mogą kodować JavaScript (i używać GWT) i tacy, którzy potrafią (i nie używają GWT). Ponadto JavaScript eksplodował w przeglądarce, spójrz na Node.js i MongoDB. Użyj SpiderMonkey lub V8 do pisania niezależnych od platformy skryptów.
Josh K
3
@Josh K. Uważam również, że Visual Basic 6 jest trudniejszy do zaprogramowania niż JS. Java jest łatwiejsza około 50 razy niż podstawowa. A CSharp jest łatwiejszy może być 2 razy niż Java. Przez trudność rozumiem tworzenie praktycznych złożonych aplikacji, które można utrzymywać, tworzone w zespołach i sprzedawane klientom. Nie dbam o różnice w cukrze syntaktycznym. I myślę, że jeśli musisz być bardzo mądry w używaniu języka, wtedy coś jest nie tak z tym językiem.
3
JavaScript jest bardzo łatwy do zaprojektowania dużych, łatwych w utrzymaniu aplikacji zbudowanych przez zespoły. Zrobiłem to. W pisaniu kodu modułowego nie ma nic trudnego, z wyjątkiem ludzi, którzy tego nie robią.
Josh K
Nie myl DOM z JavaScriptem. Problemem nie jest JS.
Andrew T Finnell,
2

Kilka powodów, dla których warto nadrobić zaległości w GWT:

  • Każda technologia ma cykl życia. GWT jest na dobrej drodze. Nauka GWT zapewni przewagę technologiczną w dłuższym okresie w przyszłości.
  • GWT za pomocą Java, wprowadza strukturę do aplikacji internetowej. JavaScript jest bardziej odpowiedni dla skryptów. Wspierany przez java, GWT jest bardziej odpowiedni dla dużych aplikacji. Jeśli zauważyłeś frameworki / zestawy narzędzi na JavaScript, możesz stwierdzić, że ja sam JavaScript nie wystarcza do poważnych projektów. Wszystkie te framewory wprowadzają struktury do rozwoju aplikacji. GWT jest jednym z tych frameworków i jest tym, który zwycięży.
  • Aplikacja mobilna to rewolucja w świecie oprogramowania. Rewolucja jest obecnie na wczesnym etapie. Coraz więcej oprogramowania zostanie przeniesione na platformy mobilne. GWT jest obecnie najbardziej wszechstronnym narzędziem do tworzenia aplikacji na wiele platform, jakie można znaleźć.

Biorąc to pod uwagę, GWT w rzeczywistości nie jest ściśle związany z ramami usług internetowych Google lub Sun (serwlet). Zintegrowane narzędzia bardziej koncentrują się na integracji ze swoimi serwerami, ze względu na charakter biznesowy Google lub Sun. Aby wykorzystać moc technologii GWT, należy mniej więcej zignorować niektóre hiper integracji serwera. Wystarczy użyć GWT jako narzędzia aplikacji klienckiej, powinno to być bardziej korzystne dla Twojej przyszłej kariery.

minghua
źródło
1

To zależy od tego, co chcesz zrobić (tak jak w przypadku większości narzędzi).

Jeśli chcesz zagłębić się w szczegóły tworzenia stron internetowych, użyj wielu (czasem różnych) sztuczek środowiska przeglądarki, a ich najnowsze funkcje mają odwagę walczyć z małymi sztuczkami, dzięki którym Twoja aplikacja internetowa „wygląda fajnie”, GWT zawsze będzie na twojej drodze: jeśli masz czas i doświadczenie, możesz robić wszystko i więcej własnymi rękami. I tak, istnieje wiele innych zestawów narzędzi, które pomogą ci w programowaniu w JavaScript.

Jednak jeśli chcesz stworzyć „niezbyt fantazyjne”, ale stabilne GUI dla swojej aplikacji, które „powinny”, a w większości przypadków naprawdę robią to samo i wyglądają tak samo w różnych przeglądarkach bez sztuczek, GWT jest dobry wybór, o którym wiem najlepiej. Wyjaśnienie: Google jest zdecydowanie zmotywowane do synchronizacji z większością przeglądarek i najnowszych technologii i zdecydowanie ma wystarczające zasoby, aby to zrobić. Tak, trzymasz się innego giganta zamiast robić własne rzeczy. Pytanie: jaka jest twoja praca? Aby zapewnić tę samą usługę jak największej liczbie użytkowników za pośrednictwem interfejsu internetowego przy minimalnym wysiłku - lub stworzyć błyszczący, wyjątkowy portal internetowy, który ma najfajniejsze funkcje na najnowszych platformach.

+1 powód: Myślę, że warto zachować swoją aplikację w jednej bazie kodu i jednym języku. Możesz zrobić dobrą sztuczkę w skryptach bazy danych - ale zablokujesz się na tym serwerze db. Możesz robić rzeczy zewnętrzne za pomocą skryptów powłoki lub plików wsadowych - ale blokujesz się w systemie operacyjnym. Możesz zaimplementować część logiki kontrolera w JavaScript, aby zapewnić bogaty interfejs klienta w przeglądarce - ale możesz zablokować się w jednej przeglądarce. We wszystkich przypadkach nie jest łatwo zsynchronizować je z podstawową strukturą danych aplikacji i wymaganiami (a być może najtrudniejszym jest ciągle zmieniające się środowisko przeglądarki + narzędzi JS). Jestem przekonany, że jeśli podstawową aplikacją jest Java, wszystkie rzeczy powinny być w Javie - z bardzo małą częścią przypadków, gdy naprawdę trzeba umieścić część logiki w innym środowisku.

Wybrałem GWT z powodu moich odpowiedzi na powyższe pytania - i robi to, co chciałem: w około 2 tygodnie po instalacji miałem akceptowalny interfejs WWW dla wewnętrznego systemu monitorowania serwera - chociaż miałem doświadczenie ze Swingiem. (Nie, nie użyłem domyślnego wyglądu i sposobu działania i tak, użyłem CSS i klas do prezentacji informacji logicznych :-))

Sprawdź swoje bieżące i zaplanowane zadania - i wybierz odpowiednie dla nich narzędzie .

Lorand Kedves
źródło