Answer the question
In order to leave comments, you need to log in
How to write web applications with a GUI like in a desktop app?
Good day.
Can you please tell me on what it is possible to write web solutions with the approach as in the development of desktop applications?
Accordingly, I ask you to suggest possible options for tools. At the current stage, I don’t want to delve into JS, CSS, etc. I just want the functionality and speed of front-end development.
How much does jQuery make front-end development easier than writing it yourself from scratch?
About the task - I have an idea to write my own application for working with tasks within the framework of my vision. Something like todoist. I want to do it with minimal effort) I
have development experience in 1C, C #, I wrote a calculator in Java))) I wrote a primitive bonus accounting service in php to a friend. SQL queries are not a problem.
Thank you very much in advance!
I'm used to the approach that you easily throw in the interface in the constructor (windows, buttons, tables, fields, progressbars), and then describe the logic in modules. But I am aware that everything goes to the web. And desktop applications are already dying off. I would like to move to the web while maintaining the desktop approach.
I know that C# has xaml for the web (xbap it seems), but the platform is proprietary and I don't like it. There seems to be something like this in Java, but I can’t find what it’s called (I’ll be grateful if you remind me). Well, she also has difficulties in setting up the server side. A couple of years ago I looked - there were difficulties with the selection of a hoster (you need an installed platform on the server).
Answer the question
In order to leave comments, you need to log in
I'll put in my 5 cents. chaotically, not everything at all on the topic will be stated (but there will be an answer to the question .. sort of), but you need to understand the scope of what comrade wants. Eugene .
His desire to "write on the web as a desktop" is very clear to me, and that's why I actually made my own framework (not in javascript, what are you, java + web sockets, and quite a bit of js). But its scope is heavy enterprise and intranet.
those. writing applications with a web interface, using approaches and concepts "like for a desktop" - this is sometimes simply necessary (nowadays, a web interface in a browser is almost a standard requirement for corporate systems) ... BUT it is absolutely impossible, in no case should it be do if you are going to write a massive website"
and vice versa: a modern fashionable youth approach with heavy js, rest services, microservices, a stateless approach, etc. is good exactly as long as you don’t have heavy business logic, a complex arm of any operator or the need to quickly adapt it .
so. IMHO, there are 2 directions that are difficult to ideologically compatible with each other. (90% of "web developers" will say that there is only one thing ... but nevermind them - they don't know, and I state my opinion of a system architect, whose experience in it is often more than the entire age of those mentioned a little earlier " web developers).
so. "mass web" and "heavy enterprise":
tons of hamsters, thousands of primitive queries, simple logic (business logic). 120% of modern web frameworks are sharpened for this, which compete with each other in syntax-candied, and functional-feature suitability. microservices, stateless, rest services, json round-trip - "... oh how .. everyone is pleased ....", etc. 90% of the followers of these technologies do not even understand the basics of the problems of developing large systems in languages with dynamic typing, they are ready to drown for the most fashionable framework this season, to crush the statistics of new projects on gihab .... but yes, and figs with them, ... enough the fact that the same "headliners" - node.js - screwed up these problems and still sent js away ... ugh - they switched to typeScript (because static typing is not the stiffness of old people, but a forced measure, not at all "from a good life ")...
here it is important to understand that this is the development of sites - namely mass sites - and this is really a different development paradigm - different than in the desktop. and from this, unfortunately or fortunately, there is no escape.
here it will not work to use even half of the principles of the desktop.
examples: vkontakte, forums, and 99% of all websites.
typical technologies: php, one-eyed python-serpent, js, hack miracle, and everything else, etc...
ps: and yes, I don't hate js at all. I love him. but it is extremely risky to use js in an amount larger than a script for 2 pages. The very first refactoring and reworking of the code will break everything nafig. at a certain amount of code, you will get into a situation where trying to fix a bug will result in even more bugs and you will not be able to trace it.
what js and js-based technologies have turned into today is fear and horror, but yes, this is my IMHO.
... and various workstations with a web interface in the local network and complex business logic
characteristic features: not too many users (a few hundred, a couple of thousand at most), complex logic of business processes and complex logic of the form, high requirements to reliability.
fast-changing enterprise processes, regulations changing every six months, constant refactoring under the pressure of a constantly changing environment ...
examples: EDMS (document management systems), arm of various government agencies, arm of various operators, and so on.
here it's just the opposite. just trying to use a stateless approach and heavy fat js threatens you with rework on such a scale that you never dreamed of. those. of course, you will build the first version and everything will be fine with you ... until the first refactoring and working out the customer's comments on the new version of the regulations, which was approved by the management a month ago ... (well, you started work, of course, six months ago, and now it seems like I should have given up in a month)... but the environment has changed and you're starting to have problems, a huge amount of refactoring is looming. simply because it is extremely difficult to make a state machine and complex logic of a dialogue with a web client, in a situation where you constantly lose the state of the process on the server ... and you tried to write an internal arm as if it were a website ...
here you really need the approach and concept of desktop applications. ideally - something close to terminal services but like in the web. and here it is important to understand the following: there are no ready-made mass solutions.
the most promising thing I see is jsf/primefaces, but alas: it is suitable exactly as long as your logic and interface fit into the demo format on the manufacturer's website. believe me - on a real project - you will go beyond the limits of applicability of typical components too quickly, you will start to lack their capabilities catastrophically ... and at that moment sodom-and-gomora will begin ...
I won’t say much about spring, but as far as I’ve seen, it also doesn’t solve the problems of writing complex web interfaces. a lot of tasty things for the server side, but for communication with the webmord, in the end, everything again slides down to rest-services, ajax-json-round-trip, etc. - which, I repeat, when the logic of the work of your arm becomes more complicated, it will hit you hard in the most tender and soft places with a red-hot mace.
in general, here the ideas of a desktop application would be very useful, but there are no ready-made technologies.
I see the prospect of using web-socket, but again, there are no industrial developments and frameworks.
the closest that can do this is c++/Qt, but they rather translate into the web interface of a c++ application. in 1C it is similar - you have the same "managed form" interface both on the web and on the desktop.
we have our own home-made blanks, but, I repeat, until we release them to the mass market, I will not offer them. wait half a year, and everything will be fine.
---------
in general, what am I talking about: do you want to use the desktop on the web? write for example in qt/c++. they have a technology for translating into a web application written in c++. again, everything works on websockets). if you want to write heavy arm in java for intranet-enterprise systems - join our closed testing (for a sim in PM) or wait for a public announcement. I won’t say anything for sharps, IMHO sharps are only suitable for Unity-gemdev (IMHO), but as an enterprise technology they never took place.
if you want to write a massive web - the concepts of desktop applications are completely unsuitable for you. you, corny, will use up too many resources with a relatively small influx of users. no one, for example, does not let the terminal server into the public web anonymous. tear like an ace heating pad.
therefore - , dear topic starter - you decide what you want to do, and understand whether you are ready to abandon the ideas of desktop development or whether you agree to plunge into the unloved world of the "mother-of-the-mother enterprise". those.:
- "mass web" (tons of simple small requests, hundreds of thousands of users) - and no desktop concepts are applicable! but on the other hand, thousands of ideas and approaches, myriads of frameworks, every month something new, trendy and youthful with thousands of hamsters who fap on it ... the seething of the masses, so to speak ... the main thing is not to go on the intranet with this ...
or
- "heavy intranet enterprise" (several hundreds of users maximum, complex logic of each workstation, heavy queries that take ten minutes to complete, complicated business scenarios of the GUI, background processes on the server .... ) - many desktop concepts when the GUI should be considered as if it is local - just vital. attempts to build these systems using technologies from the field of the "mass web" - ... let's just say ... "fraught" and in 90% of cases are either crutch miserable, if they work at all, or clumsy in development and refactoring. in spite of this, there are still practically no ready-made solutions and concepts, everyone is spitting out as best they can. the market is quite closed, relative to the mass web: 99% of these arm and ace work in networks that are tightly isolated from the Internet.
Can you please tell me on what it is possible to write web solutions with the approach as in the development of desktop applications?
I'm used to the approach that you easily throw in the interface in the constructor (windows, buttons, tables, fields, progressbars), and then describe the logic in modules.
I don’t really rummage in the web, but I know that microsoft has such a platform - silverlight. The same Visual Studio, in fact.
C# and xaml and it seems to be free.
Silverlight is a free plug-in.
"I would like to move to the web while maintaining the desktop approach." sounds like
"I would like to become a cook while maintaining the approach of an electric welder" ))))))))))))
You won't go far with minimal effort. I also started with C# (desktop) but things are different on the web.
Use bootstrap for UI. It is great for creating simple concise interfaces. In a couple of days, it is quite possible to master the basic concepts. Next JS.
In theory, you can use it minimally, but this is a dead-end approach. So, as I wrote above - you have to strain. However, everything is so scary. The same jQuery, if you don't get into the jungle - simple and visual. Over time, of course, you still have to climb into the jungle. But for simple things, the specified toolkit is quite enough.
GrapesJS to create the template.
GrapesJS is an open-source, multi-purpose, Web Builder Framework which combines different tools and features with the goal to help you (or users of your application) to build HTML templates without any knowledge of coding.
Now it is fashionable to write a desktop like a web. As before, the web and desktop (in the way you wrote) almost no one writes.
I had a similar task. It was a java GUI application.
I wanted to centralize its receipt in the browser
. At first I gasped, thinking that I would have to climb into JS (there is minimal knowledge).
But luckily, my GUI framework SWT has already been rewritten for the WEB and the move took 3-4 days.
The layout from the GUI turned out to be almost one to one. No change in processing logic
For java, there is also vaadin.
The web will still not have a GUI exactly like on the desktop for the simple reason that the transition to the web is not only a platform change, but also a paradigm shift. From a standalone program to a client-server architecture. Which dictates its own interface construction logic, including.
However, the paradigm of super molds for mouse trucks survived the death of Visual Barsik and Delpheus and is rushing into the new age of the web with might and main, almost without changing its miserable essence...
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question