iVipCoin (IVIP)
Comment on page

Desktop Platform- Language

Introduction: IVIP is where traders can access all knowledge from basic to advanced in the financial market. This knowledge is delivered in a simple and targeted manner, and traders earn money for learning the knowledge provided on the platform. Learn more at: iVipCoin Whitepaper

Development and Technologies

What is the best programming language to develop an application?
At first, it may seem like an easy question to answer. After all, we all have our preferred programming language, and if you ask me this question, I will naturally respond based on my preference. The answer becomes more challenging when we consider the question from a strictly technical standpoint; from this aspect, preferences should be set aside, and many factors need to be taken into account to arrive at a correct answer, well, not necessarily correct, but I would say a more suitable answer. When you start developing a new application, you need to decide which technology to use. There is a wide variety of programming languages you can choose from, several database management systems you can utilize, and you also need to decide the style of the user interface. To choose the user interface, you must weigh different factors before making the final decision. Let's consider some scenarios: Recommended interface: Web
  • Application for E-commerce, Portal
  • Website for an online company
  • Remote users with internet access
  • Distributed application among remote users
Recommended interface: desktop
  • Graphic applications
  • Word processors
  • Spreadsheets
  • Games
  • Client/Server applications (two-tier)
  • Applications with integration of various hardware types (cameras, scanners, etc.)
Just as you wouldn't use a web interface to develop a stock control application for your local bakery, you also wouldn't use a desktop interface to create a web portal for a large financial institution.
Advantages and Disadvantages
Web: Advantages
  • HTML interface recognized by a wide range of users already familiar with browser operation.
  • Centralized development, maintenance, and updates of the application. You don't need to install your application on various different devices. Just host it on a server for users to access. (In the case of VB.NET, you would need to distribute the .NET Framework for installation on client machines.)
  • Exporting data between remote users using the HTTP protocol is much easier than using another protocol.
  • Scalability in processing. If there is a need to increase processing power, you can simply do so on the server.
Web: Disadvantages
  • The HTML interface can be problematic as there is no standardization among various browsers, and your application may be displayed differently depending on the browser.
  • Handling large amounts of data input is hindered in the HTML interface as there is no standard way to create data input masks.
  • The HTML interface lacks rich graphical controls and falls short in terms of positioning. The visual appearance of your application may not be as elegant as you imagine.
  • Integration with other components is not as straightforward with HTML.
Desktop: Advantages
  • A wide variety of controls for user interface.
  • Complete control over the positioning of controls in the application.
  • Faster performance for a graphical interface in a desktop application that uses local processing.
  • Easier integration with various hardware components.
Desktop: Disadvantages
  • A heavily loaded graphical interface makes the application heavier.
  • Integration with remote users is more challenging.
  • Application distribution is critical. You need to install your application on different types of machines with different systems, drivers, and peripherals.
  • Maintenance and updates of your application require extra effort.


However, both interfaces can overlap with the arrival of the famous Node.js, an open-source, cross-platform software based on Google's V8 JavaScript engine that allows the execution of JavaScript code outside a web browser. Although JavaScript was initially designed for user interaction with web pages, making them increasingly interactive and seen as part of the front-end layer, with the advent of Node.js, its definitions began to be questioned. Thanks to Node.js, JavaScript can be used for both front-end and back-end development, making JavaScript a full-stack language. It is worth noting that JavaScript has evolved over time, becoming a high-level, object-oriented programming language.
Looking at it from this perspective, we can imagine a hybrid desktop programming situation. But is that possible? Surprisingly, the answer is YES, and there are plugins and technologies that make this possibility a reality. In other words, we can develop a highly interactive system with rich features using the latest NW.js.
NW.js, also known as Node-Webkit, is a runtime application based on Chromium and Node.js. With NW.js, it is possible to develop native applications for Windows, Linux, and Mac using web technologies and taking advantage of Node.js packages. However, a drawback remains in the web part when it comes to integration with other components, which is not as easy with HTML. To solve this problem, we can see that using the React.js library would be a good solution.
React.js is an open-source JavaScript library focused on building user interfaces for web pages. It is maintained by Facebook, Instagram, other companies, and a community of individual developers. It is used on websites such as Netflix, Imgur, Feedly, Airbnb, SeatGeek, HelloSign, Walmart, and others. With React.js, we can optimize, organize, and easily integrate components with the help of the Babel tool for JavaScript preprocessing, which simplifies the developer's life by saving time in converting new code into older versions.
However, React.js uses a more modern JavaScript syntax called JSX, which provides a way to structure component rendering using a syntax familiar to many developers. It looks similar to HTML.