One of the core competencies at 2K-Software is web development. We utilize a variety of technologies to ensure robust and scalable web projects.
HTML – The foundation of all web programming, HTML provides the structure for web content.
CSS – Cascading Style Sheets describe the visual presentation of HTML elements. While HTML defines the structure of web content, CSS defines how it should look.
CSS Preprocessors– Enhances CSS development by allowing features not available in standard CSS. Popular preprocessors include LESS and SASS.
JavaScript – An interpreted language that enables interactive user interfaces and communication with server-side applications.
TypeScript – Developed by Microsoft, TypeScript adds modern programming techniques to JavaScript. It's backward-compatible with JavaScript and compiles down to JavaScript, thus compatible with all modern browsers.
jQuery – A JavaScript library that simplifies HTML DOM manipulation and provides APIs for working with AJAX and REST services.
SPA фреймворки – Libraries for developing single page application (SPA) web applications. Provide fully dynamic content, a page in a web browser is able to completely change its structure depending on user actions and interaction with the server, without the need for a complete reload and reinitialization in the browser. Provides improved usability, working with dynamic data and structures, URL routing capabilities, caching support, and better response times. The page is loaded only once, then all the logic and all the content work and are loaded as needed while the user is working with the application. Main frameworks: Angular, Vue, React.
WebSockets – A technology enabling real-time two-way communication between server and client, included in the HTML5 specification.
JSON – JavaScript Object Notation, a text format for representing structured data, is fundamental in client-server communication.
REST - Architectural style of interaction of components of a distributed application in the network. It is used both in the development of the server part of a web application (backend) and in the creation of distributed applications on a microservice architecture. In fact, REST is a specification of a set of URL methods, HTTP request types (GET, POST, PUT, DELETE, PATCH), JSON schemes describing the structures of service requests and responses, and possible status codes. As a rule, web services are implemented as RESTful services, previously web services based on SOAP/XML were used - but now they are almost completely replaced, due to the inconvenience of their use, including in web browsers. The OpenAPI (Swagger) or RAML specification is usually used as a standard for describing REST services. The specification allows you to automatically generate a client library for working with a remote API for almost any modern language.
gRPC – a newer standard for interaction between services from Google, which is based on:
Uses HTTP/2 (REST uses HTTP/1.1).
Binary data serialization protocol protobuf, which reduces the load on the network due to the smaller size of the transmitted data and increases the performance of request processing.
Built-in capabilities for two-way communication between client and server.
A disadvantage is the more complex integration for frontend applications (Angular, Vue, React): due to the use of a binary data transfer format and the use of HTTP/2, an intermediate layer is required between the web browser and the gRPC service. The problem is solved by gRPC-Web technology, which is essentially a gateway built into ASP.NET Core to support browsers, or the second option is by recoding to gRPC JSON - in which browsers are able to call service methods using traditional REST approaches.
ASP.NET MVC - A framework for developing web applications that implements the well-known Model-View-Controller design pattern. The MVC architecture diagram divides an application into three main components: a model, a view, and a controller. The ASP.NET MVC platform is an alternative to the ASP.NET Web Forms approach to creating web applications, and is a lightweight display platform with extensive unit testing capabilities.
ASP.NET Core –further development of the framework for creating both classic ASP.NET MVC Core applications and REST or gRPC services used as a backend for a web application or as a standalone service, with support for deploying the solution on Linux and Windows operating systems.
Web development technologies are constantly evolving. The specialists of the 2K-Software company have gone through all the stages from developing projects using classic ASP/ASP.NET, then ASP.NET MVC and a modern approach using SPA frameworks for the frontend and REST services for the backend built on ASP.NET Core, and gRPC/gRPC-Web for building distributed applications based on microservices.