In GWT I used to implement the mock implementation in "development time" and remove it in "production time" by using GWT options for different "sourcepath" and "entry point" with help of DI. It works very well. So I never have to run the "server / REST APIs" part to be able to develop the whole UI. Very productive.
.... and to try to answer your question: "what are the obstacles for you to use JS or TS (possibly mixed with Java through J2Cl) for frontend development?" here you are: 😉
(1) JS sofar is difficult to use for a bit complex UI.
Quote from Anders Hejlsberg:
This interview is a must read: http://bit.ly/AndersHTypeScriptInterview
Eclipse Che moved from GWT to Eclipse Thea (also TS based): https://developers.redhat.com/blog/2018/12/19/eclipse-che-7-is-coming-and-its-really-hot-2-4
The reason: "Theia is a framework to build web IDEs. It is built in TypeScript and will give contributors a more enjoyable experience with a programming model that is more flexible and easier to use, and makes it faster to deliver their new plugins." But I'm not sure why they could not build plugins based on GWT which is flexible and easier to use. As we know we all like to begin from scratch and don't like the idea of maintenance 😀😅
Introducing TypeScript to a Java team is a different story. The language is the smallest problem but the ecosystem, library, build, CI/CD pipeline, dependencies management, artifacts scanner, etc.(see the presentation of Netflix above). For many companies you mostly have some intelligent forms and for this purpose I don't see that TypeScript has advantages in comparison with Java / GWT / J2CL (of course we need to address the UI frameworks based on TS or GWT / J2CL as well). One thing you should not forget, on-boarding process of new developers and the ability to be a full-stack team. A team which all the developers can do everything, from frontend to server-side implementation (not to have separation between frontend and backend developers).
Just my 2 ct.
t.br...@gmail.com schrieb am Dienstag, 29. September 2020 um 13:45:56 UTC+2:
- We use Java as the languageIs Java objectively the best language out there to be used as an argument that way?
- We have the best ecosystem like libraries, frameworks, build system and IDEs.Please define in which way they're "the best".In terms of dependency management, NPM and Yarn are probably better than Maven (but not Gradle, which looks unrivaled on that point).In terms of build systems, I hope you're not trying to compare anything to Maven; but I also wonder how you're going to do things like PostCSS, Imagemin, SVGO, etc. do with a J2Cl toolchain. GWT does some of those (not all), but the JS frontend ecosystem is the clear winner on that point.VS Code, and probably (I never used them for non-JVM projects) IntelliJ IDEA / WebStorm, and I suppose Visual Studio too, are absolutely great IDEs too for JS and/or TypeScript (and Go, and probably many others).
- We know best design patterns to make our apps maintainable like Dependency Injection, Mock Testing and many other just take a look at: http://bit.ly/DesignPatternsJavaWow, how condescending!BTW, as already pointed by Rodolfo, design patterns are language independent. The "GoF" Design Patterns book has all its examples in C++ and Smalltalk, not Java; and that link you give lists exactly those patterns from the book.I do miss Dependency Injection from time to time in JS devs, but if you really want/need it, there are ways to do it (React Context for example); and Angular does DI: https://angular.io/guide/architecture-services#dependency-injection-diMocking is overrated, but far from impossible in JS, including for network access: https://mswjs.io/ and even though I personally rarely do automated testing of frontend devs (and that's true of GWT too), the JS ecosystem has some quite good libraries as well (testing in a browser environment with GWT is quite "outdated" in comparison: HtmlUnit or the defunct SeleniumRC, or manually launching your browser; fortunately we're doing better with J2Cl by leveraging Selenium/WebDriver).
You received this message because you are subscribed to the Google Groups "GWT Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to firstname.lastname@example.org.
To view this discussion on the web visit https://groups.google.com/d/msgid/google-web-toolkit/1ba184d5-60cc-4e76-8c05-1b3e8fb55e76n%40googlegroups.com.