Let's talk about tools for creating client-side web applications using traditional programming languages

Let's make a reservation right away that in this publication we will not touch upon the issues of approaches to creating full-scale applications for the Web, implying the presence of a large code base that makes its server part function. Somehow historically it so happened that the client side of such applications, as a rule, is implemented in JavaScript and languages ​​and frameworks derived from it, and the server side - on what will have to ... In the end, this is not so important - the main thing is so that the corresponding software environment was raised on the server and the code implemented in it could calmly perform its task.





At the same time, over time, the need to write monolithic - as a rule, simple and unpretentious web applications that do not require a server part to work - has become increasingly necessary. Naturally, with the widespread use of HTML5, such applications began to acquire very rich functionality, however ... However, not all developers were ready to accept the existing state of affairs, when all the solutions available to them, in fact, had the same notorious JavaScript as their cornerstone.





In the end, many, as they say, "from a young age" are accustomed to a different approach to the design and creation of applications of a wide profile. These are, first of all, various RAD environments, among which Delphi has always been the most popular in our country (at least in the academic environment). I pulled a couple of buttons on the form, prescribed the necessary event handlers in the familiar Pascal language - beauty! .. What more could you ask for, especially if you are focused on implementing some algorithms you need, and the interface does not play such a fundamental role for you?





This is not the case with traditional web application design and engineering. Here it would be nice for you to remember all the basic details of the descriptions of various HTML markup tags and CSS styles attributes, and to be able to put the whole thing together, and even β€œanimate” with interactive scripts implemented in JavaScript. Obviously, such an approach, focused primarily on design, and not on the development itself, is unlikely to suit our traditional developer, brought up on classical algorithms and data structures, with the possible interspersing of the rudiments of an object-oriented approach. (We remind you that we are talking primarily about developers of small applications where, in theory, one person could manage.)





. - , , . , : Sun Java ( , , – ), Adobe – c ActionScript ( , Adobe Flash, – Macromedia Flash), Microsoft – .NET Framework (Silverlight). . AdobeFlash, β€œβ€œ 2021 . , , Silverlight .





. – , . , , .





, - RAD- (Rapidapplicationdevelopment, .. β€œ ” – , , , BorlandDelphi) . DHTML ( Dynamic HTML) – , , , -, – , , Delphi, VisualBasic RAD- .





DHTML- , - – , Richwebapplication ( –RichInternetapplications, RIA) SPA (Single-page applications– -). DHTML  , , , – , AdobeFlash JavaServlet ( – JavaFX). , - , AJAX ( ).





- RIA- SPA- - WebAssembly ( WASM) . , WASM, , , , β€œ β€œ -- , , , (, C++, , Emscripten). , , ( ), , , - !





, Blazor – , Microsoft β€œβ€ , , Silverlight. , -, , VisualStudio .NET- ( – C# VB.NET)! ... , - JavaScript , . , WASM Blazor JavaScript ( asm.js). Blazor . – MicrosoftSilverlight – 4- ( 2010 .), Blazor β€œβ€ 5- . , , . RIA- SPA-, - RAD-.





Delphi. ( Delphi , ) -. , , ! SmartMobileStudio – Delphi, - ( - , , : https://habr.com/ru/post/528614/). - ( – Smart MobileStudio), -- , - -! Delphi JavaScript, . β€œβ€ .





, - . , .NET, , , - , -. , Ooui ( , Xamarin, , ) UnoFramework ( UWP-). -- , iOS Android (, , – Win, Mac Linux), .





, ASP.NET





Xojo – - - , REALbasic ( VisualBasic– Lazarus BorlandDelphi; , ). Windows, macOS Linux, – RAD. , ASP.NET – , , RAD, -.





, , , – -, HTML5 ( UWP, , , β€œβ€ – progressivewebapplications, PWA, – , ). , , (β€œβ€œ, β€œ ” - ) , - , , . - JavaScript . – ... , , - , HTML-. , , HTML5 JavaScript. – .





Let others now make predictions, but we just tried to give a brief comparative overview of technologies for building applications that work directly in the user's browser (as they say, "out of the box") - both at the moment, rather historical, and still relevant.








All Articles