AnswerBun.com

What technology stack should I use to create a Web Application with rich GUI experience?

I’m planning to recreate a Windows based desktop application as a web application which will be hosted on Azure.

I wonder what technology stack should be used to recreate this application as a WebApp.. For one, JavaScript, HTML, CSS, C# can be used. What other technology frameworks can be used?

Current desktop application contains rich GUI and has the following capabilities:

Examples of graphical capabilities:

  1. Draw rectangles using the mouse (as in PowerPoint)
  2. Display some pictures and icons on the boxes
  3. Connect rectangles using the mouse
  4. Change positions of the rectangles using Drag and drop
  5. Pan (scroll) the diagram horizontally and vertically
  6. Zoom the diagram
  7. Split the window using a splitter
  8. Display hierarchical information in a tree (pretty much like the folder structure in
    Windows Explorer)
  9. Dynamically (at run time) create screen elements like Push buttons, etc.
  10. Popup windows for user input (User generally provides input by selecting one or more items in a grid control, or by entering values into a table similar to a spread sheet).
  11. Table interface (data displayed in rows and columns, each cell can be edited, or contain controls like list boxes, text boxes, icons, buttons, check boxes, etc.). Also, the table contains fixed rows & fixed columns.
  12. Tabbed dialog interface (similar to sheets in Excel or Property Pages in Windows).
  13. Display 3D scenes (created in Direct3D) with panning, zooming, rotating, animating capabilities.
  14. Based on some front-end event (for example, the user clicks a button), the diagram is computed on the fly by applying some algorithm, which may take a few minutes. While the backend calculations are happening, an hour glass is displayed.
  15. Read files (typically, flat files) from local disk

Examples of Backend capabilities:

  1. Save the whole diagram to the database (like SQL Server/MySQL, etc.). The database table contains columns like the Rectangle position, and dimensions, etc.
  2. Call functions written in other languages (like C++, Java or C#) to apply some business logic.

Now, the new application should have the additional capabilities:

Deployment capabilities:

  1. Application should be platform independent (Windows, Linux, iOS, etc.)
  2. Application should be device independent (laptop/desktop/mobile device/tablet/etc.)
  3. Application and supporting database should be hosted on cloud (Azure, AWS, Google, etc.)
  4. Application should be scalable, High Available, provide DR capability, etc. (which will be taken care by the Cloud infrastructure)

Software Recommendations Asked by user68530 on December 31, 2020

1 Answers

One Answer

As a starting point, you may want to look at https://github.com/jgraph/drawio , as it seems to cover much of what you intend. The usable site is https://app.diagrams.net/.

What other technology frameworks can be used?

If it's going to be a web app, it's almost certainly html, css, javascript on the client side.

The backend could be almost anything. Pretty much every language and server framework could handle this, so it is up to you on what you are comfortable supporting. The diagrams.net example appears to use Java (servlets, etc) as a backend, and serializes information to files.

Answered by cmonkey on December 31, 2020

Add your own answers!

Related Questions

Generic diagram generator from markup language

0  Asked on September 25, 2021 by trevor-keith

     

Android app for logging screentime sessions

1  Asked on February 25, 2021 by hugorune

   

Search for massive offline file collections

0  Asked on February 24, 2021 by grismar

       

C++ constexpr math (header-only) library

3  Asked on February 18, 2021 by einpoklum

       

Alternative package for cheerio

0  Asked on February 15, 2021 by dante-dante

   

Android: open drawer by swipe

0  Asked on February 15, 2021

   

PDF as flip book on website

5  Asked on February 13, 2021

     

Set custom DNS servers in Google Chrome?

3  Asked on February 11, 2021

   

Customisable countdown app

1  Asked on February 10, 2021 by judith

   

File hosting service with simple API

0  Asked on February 9, 2021 by steve-bennett

         

Any photoshop plugin to convert layers to css3

0  Asked on January 31, 2021 by knownow

   

Converting Visual Basic Code to .NET Framework

2  Asked on January 30, 2021 by tasdid_24

   

Client training scheduler

1  Asked on January 28, 2021 by user34347

   

Ask a Question

Get help from others!

© 2022 AnswerBun.com. All rights reserved.