Here is my take on this,
I think for each argument from one side there is a counter-argument from the other side, and this is natural after all those are just 2 languages and 2 ecosystems, when both used to target the same goal, one will win in a specific area and lose in the other, they share the main concepts and they try to solve the same problems, they are only different slightly with the implementations.
If we take both above developers and let them showcase what they are doing with there best-preferred language for each other, they will impress each other. if you could have a developer who knows both very well, then that's a win.
The actual problem is when someone who knows Java for example very well, and does not actually know JS and out of hype he jumps to building apps with JS without spending enough time to actually learn it ( this is not cheap at all ), the same goes for JS developers.
At work I am building the UI interface for an application with Java/GWT/Dominokit, the UI application is somehow big, keeps growing, maintainable, integrates very well with our infrastructure (micro-services and micro-frontends), we deploy very often (several times per day), different teams working on different micro-frontends, we started as 2 developers now we have only working on the core part and the few microfront-ends and others working on other microfront-ends. we are being very productive.
W also have another project which is as big as the first one, but it is angular based, no microfront-end, large team (10+), the start was very very slow for this one and still until now it does not move as fast as it should be, but the issue was clear from the first few iterations in the project that it was not the language or the ecosystem, but it was the team themselves, they insist on using angular while they didn't actually know angular beyond few tutorials, they didn't know JS too, we had to teach them few things first.
The final result is what we produce in regards to the tool, 2 apps above could have lived the story revered where the Java one would be the one not doing well.
My conclusion is that you can do it with either, just make sure you are not wasting time and money. and spend enough time learning on the other side.
On Tuesday, September 29, 2020 at 7:52:29 PM UTC+3 lofid...@gmail.com wrote:
- 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 email@example.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/google-web-toolkit/c605e3ac-1e77-4f83-93a0-ac1836fabd63n%40googlegroups.com.