Visual Studio is an integrated development environment.

Visual Studio: It is used to develop computer programs for Microsoft Windows, as well as web sites, web applications and web services. Visual Studio uses Microsoft software development platforms such as Windows API, Windows Forms, Windows Presentation Foundation, Windows Store and Microsoft Silver light. ModelViewController: The Model-View-Controller is an architectural pattern that separates an application into three main logical components: the model, the view, and the controller.

Visual Studio:

Programming for the Windows User Interface is extremely complicated. H Other Graphical User Interfaces (GUI) are no better. H Visual Basic provides a convenient method for building user interfaces. H Visual Basic can interface with code written in C,efficiency.Visual Basic is not, a powerful programming language that enables you to do anything you want. H Visual Basic is not, elegant or fast. H Visual Basic is not, a replacement for C. H Visual Basic is not, anything like any other programming language you have ever used.

Introduction to Visual Studio:

Visual Studio is a Integrated Development Environment(IDE) developed by Microsoft to develop GUI(Graphical User Interface), console, Web applications, web apps, mobile apps, cloud, and web services etc. With the help of this IDE, you can create managed code as well as native code. It uses the various platforms of Microsoft software development software like Windows store, Microsoft Silverlight, and Windows API etc. It is not a language specific IDE as you can use this to write code in C#, C++, VB(Visual Basic), Python, JavaScript, and many more languages. It provides support for 36 different programming languages. It is available for Windows as well as for macOS.

Evolution of Visual Studio: 

The first version of VS(Visual Studio) was released in 1997, named as Visual Studio 97 having version number 5.0. The latest version of Visual Studio is 15.0 which was released on March 7, 2017. It is also termed as Visual Studio 2017. The supported .Net Framework Versions in latest Visual Studio is 3.5 to 4.7. Java was supported in old versions of Visual Studio but in latest version doesn’t provide any support.

Visual Studio is an integrated development environment(IDE). It is used to develop computer programs, as well as website, web apps, web services and mobile apps. Visual Studio uses Microsoft software development platforms such as windows API, windows form, windows presentation foundation, windows store and It can produce both native code and managed code

Visual Studio includes a code editor supporting intellisence as well as code refactoring. The integrated debugger works both as a source-level debugger and a machine-level debugger. Other built-in tools include a code profile, forms designer for building GUI applications, web designer, class designer, and database scheme designer. It accepts plug-ins that enhance the functionality at almost every level—including adding support for source control systems and adding new toolsets like editors and visual designers for domine specific language or toolsets for other aspects of the softwre development lifecycle (like the team foundation server client: Team Explorer).

Visual Studio supports 36 different programming language and allows the code editor and debugger to support (to varying degrees) nearly any programming language, provided a language-specific service exists. Built-in languages include c,c++,c++/CVI, Visual basic .net, C#F#. Javascript, Typescript, XML, XSLT, HTML, and css. Support for other languages such as Python, Ruby, Node Js, and M among others is available via plug ins. Java (and J#) were supported in the past.The most basic edition of Visual Studio, the Community edition, is available free of charge. The slogan for Visual Studio Community edition is "Free, fully-featured IDE for students, open-source and individual developers".

The Visual Studio integrated development environment is a creative launching pad that you can use to edit, debug, and build code, and then publish an app. An integrated development environment (IDE) is a feature-rich program that can be used for many aspects of software development. Over and above the standard editor and debugger that most IDEs provide, Visual Studio includes compilers, code completion tools, graphical designers, and many more features to ease the software development process.

  1. Solution Explorer  (top right) lets you view, navigate, and manage your code files. Solution Explorer can help organize your code by grouping the files into solutions and projects
  2. The Editor Window (center), where you'll likely spend a majority of your time, displays file contents. This is where you can edit code or design a user interface such as a window with buttons and text boxes.
  3. Team Explorer (bottom right) lets you track work items and share code with others using version control technologies such as Git and Team foundation version control.

Programming languages supported by Visual Studio:

  • C
  • C++
  • C#
  • Visual Basic .NET
  • F#
  • Fossil
  • M
  • PYTHON
  • HTML/CSS
  • Javacript

Visual Studio is an integrated development environment (IDE) from Microsoft. It is used to develop computer programs for Microsoft Windows, as well as web sites, web applications and web services. Visual Studio uses Microsoft software development platforms such as Windows API, Windows Forms, Windows Presentation Foundation, Windows Store and Microsoft Silverlight. It can produce both native code and managed code.

Visual Studio supports different programming languages and allows the code editor and debugger to support nearly any programming language, provided a language-specific service exists. Built-in languages include C,C++ and C++/CLI, Visual Basic .NET, C#, and F#.Support for other languages such as Python, Ruby, Node.js, and M among others is available via language services installed separately. It also supports XML/XSLT, HTML/XHTML, JavaScript and CSS. Java were supported in the past.

ModelViewController:

MVC is an open source web development framework from Microsoft that provides a Model View Controller architecture. MVC offers an alternative to ASP.net web forms for building web applications. It is a part of the .Net platform for building, deploying and running web apps.

Model :

The Model component corresponds to all the data-related logic that the user works with. This can represent either the data that is being transferred between the View and Controller components or any other business logic-related data. For example, a Customer object will retrieve the customer information from the database, manipulate it and update it data back to the database or use it to render data.

View :

The View component is used for all the UI logic of the application. For example, the Customer view will include all the UI components such as text boxes, dropdowns, etc. that the final user interacts with.

Controller:

Controllers act as an interface between Model and View components to process all the business logic and incoming requests, manipulate data using the Model component and interact with the Views to render the final output. For example, the Customer controllerwill handle all the interactions and inputs from the Customer View and update the database using the Customer Model. The same controller will be used to view the Customer data.

MVC Features:

MVC provides the following features:

 Ideal for developing complex but lightweight applications.

 Provides an extensible and pluggable framework, which can be easily replaced and customized. For example, if you do not wish to use the in-built Razor or ASPX View Engine, then you can use any other third-party view engines or even customize the existing ones.

 Utilizes the component-based design of the application by logically dividing it into Model, View, and Controller components. This enables the developers to manage the complexity of large-scale projects and work on individual components.

 MVC structure enhances the test-driven development and testability of the application, since all the components can be designed interface-based and tested using mock objects. Hence, ASP.NET MVC Framework is ideal for projects with large team of web developers.

 Supports all the existing vast ASP.NET functionalities, such as Authorization and Authentication, Master Pages, Data Binding, User Controls, Memberships, ASP.NET Routing, etc.

 Does not use the concept of View State (which is present in ASP.NET). This helps in building applications, which are lightweight and gives full control to the developers. Thus, you can consider MVC Framework as a major framework built on top of ASP.NET providing a large set of added functionality focusing on component-based development and testing.

MVC Flow Diagram:

Flow Steps:

Step 1: The client browser sends request to the MVC Application.

Step 2: Global.ascx receives this request and performs routing based on the URL of the incoming request using the RouteTable, RouteData, UrlRoutingModule and MvcRouteHandler objects.

Step 3: This routing operation calls the appropriate controller and executes it using the IControllerFactory object and MvcHandler object's Execute method.

Step 4: The Controller processes the data using Model and invokes the appropriate method using ControllerActionInvoker object

Step 5: The processed Model is then passed to the View, which in turn renders the final output.

MVC model or "pattern" is commonly used for developing modern user interfaces. It is provides the fundamental pieces for designing a programs for desktop or mobile, as well as web applications.

Web Application:

A web application enables information processing functions to be initiated remotely from a browser and executed partly on a web server, application server and/or database server. A web application is an application which has been specifically designed to be executed in a web-based environment, it is more than just a set of web pages setup with navigational links.major differences between web applications andconventional software: compressed development schedules; constant evolution with shortened revisioncycles; “content is king”; insufficient requirement specifications; small teams working to very shortschedules; emerging technologies/methodologies; lack of accepted testing processes; user satisfaction andthe threat from one’s competition; minimal management support; criticality of performance; evolvingstandards; understanding of additional disciplines required for web applications; security considerations;legal, social and ethical issues; variety of backgrounds of developers; rapidly evolving implementationenvironment, encompassing various hardware platforms. These differences show the additional complexitiesof web applications and highlights potential characteristics that may impact on its usability.

Web usability is a web application that can be used by the specified range of users, given specified trainingand support, to fulfil a specified range of tasks, within the specified range of environmental scenarios, wherethe interaction is measured by a set of usability attributes. This definition of web usability has been based ondefinitions by Shackel (1981) and AS/NZ Standards-4216 (1994).This research has reviewed the literature to determine characteristics of web applications that impact onusability. Each web application characteristic may represent a spectrum of possibilities with varying degrees of effect on the usability of the web application.

Web Application Charecteristics:

The characteristics presented, represent aspects to a web application that researchers have found to be important to the usability of a web application. The definition of usability, in general, suggests that there are four common factors that impact the usability of the interactive system (Bruno & Al-Qaimari, 2004): users, tasks, technology and context. The characteristics reviewed will be grouped into these four factors.

Web Application Architecture :

The basic architecture of a Web application includes browsers, a network, and a Web server. Browsers request Web pages from the server. Each page is a mix of content and formatting instructions expressed with HTML. Some pages include client side scripts that are interpreted by the browser. These scripts define additional dynamic behavior for the display page and often interact with the browser, page content and additional controls (Applets, ActiveX controls and plug-ins) contained in the page.

The user views and interacts with the content in the page. Sometimes the user enters information in field elements in the page and submits them to the server for processing. The user can also interact with system by navigating to different pages in the system via hyperlinks. In either case, the user is supplying input to the system which may alter the “business state” of the system. From the client’s perspective, the Web page is always an HTML formatted document.5 On the server, however, a Web page may manifest itself in a number of different ways.

In the earliest Web applications, dynamic Web pages were built with the Common Gateway Interface (CGI). CGI defines an interface for scripts and compiled modules to give them access to the information passed along with a page request. In a CGI-based system a special directory is typically configured on the Web server to execute scripts in response to page requests. When a CGI script is requested, the server, instead of just returning the contents of the file (as it would for any HTMLformatted file), processes or executes the file with the appropriate interpreter (usually a PERL shell) and streams the output back to the requesting client. The ultimate result of this processing is an HTML-formatted stream that is sent back to the requesting client. Business logic is executed in the system while processing the file. During that time it has the potential to interact with server side resources such as databases and middle tier components. Today’s Web servers have improved upon this basic design.

Current Web servers are much more security aware, and include features like management of client state on the server, transaction processing integration, remote administration, and resource pooling to name just a few. Collectively the latest generation of Web servers is addressing those issues important to architects of mission-critical, scalable, and robust applications. When looking at the role of CGI scripts, today’s Web servers can be divided into three major categories: scripted pages, compiled pages, and a hybrid of the two. 

To create a Web application follow these steps:

Steps:

1. Log in to Manager or, if you're already logged in, click the Home tab. The account you used to log in must be in the agsadmin group, and it must be an administrator on the machine to create the Web application. If you're not sure if your account is an administrator on the machine, consult your system administrator or use the operating system tools to view the Administrators group.

2. Click Create a web application.

3. In the Name text box, type a name for your application. This is the name by which you will see your application listed in Manager. Optionally, type a Description. Click Next.

4. Now you will choose the map service that your application will display. First, you need to establish a connection with a GIS server. Click Add Layer, click Add GIS Server, then choose ArcGIS Server Internet as the connection type.

5. Type the URL of the ArcGIS Server you want to connect to. The URL will take the form http:////services. For example, if connecting to a machine named myServer using the default instance name of arcgis, the URL would be http://myServer/arcgis/services.

6. When you have entered all the connection information, click Add. A list of map services from the server you just added appears.

7. Choose a map service and click Add to move it into the Current Layers list. Click Close to return to the list of layers. Then click Next.

8. This screen allows you to add tasks to your application. Configuring tasks is beyond the scope of this tutorial, but you can find information on working with tasks in Manager in the topic Configuring tasks. Tasks are optional, so for now, click Next to move to the next screen.

9. Set the values for Title text, Theme, and Web page links.

• The Title text will appear across the top banner of your application and in the title bar of the browser window.

• The Theme specifies the top banner graphic and the color scheme of your application's menus.

• The Web page links will appear in the top corner of your application. You can remove or edit the default links or add your own. When you finish setting these properties, click Next.

10. Choose which map elements will be enabled in your application. Available elements are Table of Contents, Overview Map, Toolbar, Navigation, Scale Bar, Zoom Level, and Map Copyright Text. Each element has a Properties window where you can adjust how the element will look and function in your Web application. For example, you can choose an icon or image that will be used for the Navigation control.

11. When you finish configuring the map elements, click Next to review some information about the application that will be created. Take note of the URL so that you can access it later. You'll also be able to see this URL on the Applications tab of Manager.

12. Click Finish to create the Web application. By default, it will open in a new browser window. If you want to change any of the settings you selected, you can now access the application from the Applications tab in Manager.

To make more advanced edits to your application, you can use an IDE. The Developer Help contains many topics on how you can use the programming libraries included with the Web Application Developer Framework (ADF) to further customize your Web applications.

In this article, we present a model for rapid web application development. This model is based on the Model-View-Controller architecture (MVC) and has several other useful components like security, form generation and validation, database access and routing. This model was implemented using the PHP programming language, but it can be implemented in other development languages and environments using the same concepts. Improvements in both development and maintenance time have been the main objectives of this research, with the added benefit of correct and maintainable code.

The ideas and concepts discussed in this article are an introduction to issues and solutions for modeling Web application specific elements with UML. The goal of this work is to present a coherent and complete way integrate the modeling of Web-specific elements with the rest of the application such that the level of detail and abstraction is appropriate for designers, implementers, and architects of Web applications. A first version of a formal extension to the UML for Web applications is near completion. This extension will provide a common way for architects and designers to express the entirety of their Web applications design with UML.