Sorry if you have no idea about.php is not a backserver language.java is for sure. PHP is a web application script language. read it’s description. Helps
I think @thorstenstueker means “back end server”
Whatever one defines as a frontend or backend, as is so often the case, it is a matter of definition and many authors tinker with the details to suit them in a specific context.
Only HTML, CSS and JS, and the relatively new “WebAssembly” run directly and independently in the browser engine (frontend).
How you create the files for the frontend is up to you. Either all CSS, HTML, JS etc. files are lying on a web server (Apache2, Nginx, Caddy, etc.) or they are generated at runtime (server side rendering - SSR).
Whether you call this “render engine” backend, or a frontend-backend (indeed you can sometimes read about a frontend-middleware for authentication purposes), or something completely different is up to you. The fact is that you can use almost any language for such an “engine”, including PHP, of course, but also Java. A lot is possible, not everything makes sense and preferences are anyways changing over time. Everyone has to find their own way. Ask 5 devs and you will get 10 opinions.
A completely different topic on the web, however, is the need of a strict separation between the code in the browser and data acquisition and storage (if you need it) in the background. Since code in the browser is always readable for everyone, except for the still young WebAssembly, you will never access the database directly from code running in a web browser, but only via APIs, sockets, you name it. Of course performance is another argument for such a strict separation, as you will most likely (hopefully) use async calls to retrieve your data.
How you program those backend APIs and in which language is again up to you. At least no one will re-invent the wheel in 2023 but use some helping frameworks to generate such a “webserver” in the preferred language by using frameworks of their choice and taste.
In principle, you have 2 conceptual options at a high level.
- Own frontend code (Vaadin Hila, vue, angular, react, svelte, vanilla js, etc.) and communication with a backend server (whatever available language / framework you want)
- Just one server that generates the frontend code (ie SSR, like Xojo, Vaadin, and thousands of other tools in all kinds of languages).
Concept 1) is often faster from a frontend usage perspective. Less ping-pong between the front- and the backend.
Concept 2) is more secure and easier to implement securely (as you will keep the full control, what will be send to the browser)
Concept 2) nowadays also overlaps with 1) in the sense that JS code is also generated in order to avoid that every change in the frontend has to be completely regenerated by the backend.
Available languages / Frameworks can be found here: Stack Overflow Developer Survey 2022
Especially on the backend side Java is not dead at all. It often doesn’t appear as Java, as only the most popular framework “Spring” is mentioned.
But what someone wants to use or not is simply up to them. Nobody will be able to make this decision for you, unless you get specifications from customers or an employer .
If you come from the Xojo Web world anyway, I don’t think there’s anything wrong with relying on SSR concepts, because Xojo doesn’t do anything else. As a rule, many of us have simpler applications with a maximum of a few hundred simultaneous users and manageable UI requirements. But nobody will build a new Facebook, Alibaba with such concepts today.
I initially went the other way and developed frontend and backend separately. You can do that and design the most beautiful front ends with pixel precision, but it is lengthy and reduces productivity considerably.
Especially if you design SSR concepts in a modular way, you can still easily separate the frontend from the backend if necessary.
pls check your baselines…
.NET (and in general Microsoft techs) in the Web are since 2017 on retreat. I’ve written something about this…
Stackoverlfow as sole indicator is not really helpful.
That’s true, but does it really matter in this context? I have not and will not intend to write yet another dissertation.
I was just waiting for this reaction. There are no publicly available, reliable statistics about Internet technologies. But yes, I could have put that in a disclaimer. But wouldn’t have helped? I doubt it. It’s like this with statistics: if the reader likes them, you get applause, if the reader doesn’t like them, you get hit.
As my stats prof said in University
Lies. Damn Lies. And Statistics
And this awesome little book : How to Lie With Statistics
If you are going to have large number of users then you should build a web app.
If you are looking for something which is similar to BASIC then I would advice you to check out WinDev, esp. WinDev for Web (WebDev) for web apps and WinDev Mobile for building mobile apps. WX follows the Do Less and Get More ideology and is very easy to learn and build with (one app has support for sending and receiving push notification).
I have built 12 mobile app for various clients using it without having to learn about the nitty-gritty of Android or iOS. I can safely acknowledge that I don’t know JAVA or C++ (and don’t wish to learn them also) but still build mobile apps without any problems.
If you want to travel the low-code way then check out the relatively new but free and open source tool called REI3. It is powered by Go and is blazing fast!
REI3 has a portable version for Windows so all that you need to do is download it and unzip to a folder and run the executable r3.exe.
As we have just received an inquiry for building web and mobile apps in Flutter/Dart am exploring FlutterFlow. It is a no-code/low-code tool that generates human readable source code of the app created in it.
and again we have a low Code announcement of Windel. High price low power. For Java: unusable.
Building and deploying a Webapps with Java and Vaadin is for free, costs nothing and you can deploy also really fast desktop and mobile applications. one toolchain all platforms even without money. Okay, with 50 bucks per year you would have a JFormdesigner for your desktop applications. I can’t understand.
Low code means also: low abilities and low power.
Just had a brief look at FlutterFlow after you mentioning it and it’s pretty dope. For me as a hobby developer who has worked with Xojo for over ten years and fears it will not be around much longer, I’ve made myself a little familiar with Flutter recently. And if you’re adding FlutterFlow to create the UI, this is going to be my replacement tool should Xojo go out of business at some point. Thanks for the suggestion!
This is not the case always. And WX is an exception by all means. Of course one needs to use it to believe it.
Have you ever tired to build app and generate them for JAVA in WX? The apps generated in WX are light years ahead of all conventional JAVA dev tools in the market.
Just look at the Table/Grid component and Reporting tool. They have features that very few dev tools provide out of the box.
True. There are many tools that are free but that does not mean one can be highly productive using them. I have still to come across modern day development tool (free or paid) that increases developers productivity by multi folds.
The only drawback that I see in WX is that its IDE is available only for Windows so if one is using Linux or MacOS then one if out of luck.
But one can write apps in WX that can run on Windws, Linux & MacOS for desktop, Window Mobile, Android & iOS for Mobile platforms and of course web app that can run on any OS on which WebDev Server can be installed and if one develops web app in PHP mode then the app can run on any shared hosting like GoDaddy, Hostinger, etc.
WX is not an Exeption for sure.
I tried and I can say: our tools are lightyears ahead. Since we build Java FX, Java Swing, Vaadin and CodenameOne Applications every day we know what our tools can do. Since we have tested WX we know what it can’t do but we need. So I can say: for Java: unusual. There is no need for such “tool” which is none.
Just have a look on the JavaFX Grid and on the JavaFX Table Component and even the Swing Component. There is nothing I can’t provide as functionality out of the box what you provide with WX.
The drawback is: WX is to old.
This was my assessment in 2002 when I left the dying XBase world for .NET and it hasn’t changed much. I decided though that if people want me to be half as productive at twice the cost, who am I to complain? And that has proven to be the case, for the most part.
looks cool :), any experience to share you used ity already
it produces dartcode ?
looks pretty cool from browsing the doc
it has api interface, a json parser…
nice:) worth trying
C is nearly never used for the server? How about Nginx and Apache, the two most commonly used web servers on the planet?
Well, Yah Boo Sucks …
Search for java programmers jobs while they can program vaadin. So simple
And yes, servers in c are existing. But Webapps? Not so many. So try to follow your own lines when arguing. Nobody needs a vaadin programmer. You need a java Programmer. So please
I am still exploring. But yes it is producing DART code and is using Flutter Framework for UI.
Has a very large collection of Widgets out of the box and one can add complex Widgets from pub.dev.
The best part I like about FF is that it generates source code of the app and one can download it or directly send it to Git repo.
This is very rate in a low-code tool!
It has its own share of problems and personally I feel that running the app in Debug is slow as it seems to take about 1-2 minutes to generate code and build the app and run it.
It is really very versatile and allows one to even write own code if one wants to get adventurous.
Django is a web framework for Python
Vaadin is a web framework for Java
I’m comparing like for like but you don’t want that.
Oh, and by the way…
FastCGI is a server