Essentials of Web Application Frameworks

1. Web Frameworks

a) Explain how web frameworks facilitate the development of web applications.

Web application frameworks are crucial software tools that help in the creation of dynamic websites as well as supporting other web applications and web services. They primarily comprise of a library of codes that enable web developers to achieve quicker web development, since they give the developer basic patterns that can be scaled up or down during web development. Without web frameworks, the complex process of developing a website would be repetitive, overwhelmingly long, and highly prone to errors. The virtual database platform provided by a web framework, therefore, speeds up the web development process. The different common web frameworks available in the market today make it possible for web developers to use different dynamic approaches to web development. Programming frameworks comprise of two main categories, including the multi-page applications and single-page applications. The difference between these two approaches to web application development lies in the kind of programming language supported by either. When choosing the appropriate web framework to support particular web application development needs, it is important to consider, among other factors, the level or type of database interaction required within the web application, as well as the routing capability of the web frameworks (Pilar Salas-Zárate et al., 2015).

b) Web frameworks utilizing MVC architectures are becoming ubiquitous. What does the acronym MVC stand for? Examine its implementation in modern web frameworks, using a suitable diagram to illustrate your points.

MVC stands for Model View Controller. It is the architectural pattern that defines an application into its three main logical components. The principal components thereof include the application model, the application view and the application controller. These three components are designed to operationalize specific application development aspect to ensure that the final product runs with integrity. The model view controller framework helps separate between the back-end logic and the front-end component of the web application. The three-level MVC architecture is crucial as it helps support the specific characteristics and operations of an application. The model aspect of the MVC architecture is important as it acts as the interface between the application's data and the user. By acting as the interface, the model defines where the application’s data object has to be stored for ease of retrieval during processing. Whereas the model does not have an active control over views and controllers it serves the important role of making automatic notifications in cases of changes.

An illustration of the MVC pattern Whatsapp

The view component of the MVC model creates the interface that shows the actual output designated for the user. This component, however, does not make the actual display to the user but rather controls the displays to be made. It also acts as the mediation between the user and the controller by handling any requests and communications performed between the two. The last component of the MVC model, the controller, serves as the brain of the entire MVC system. The controller serves as the actual link between the user and the entire system and provides the application’s user with a platform to very inputs by fetching information from the database. The controller is a crucial component that helps support the functioning of web applications as it converts data and information into a form that makes sense to the user (Pop & Altar, 2014).

2. Mobile websites

a) Explain the statement above. Discuss the limitations and benefits of modern web-enabled ‘smartphones’ and the implications for web developers.

The concept of web context revolves around ensuring that applications have a clearly defined methodology of assessing the initialization parameters, objects, values, attributes, and resources associated with the particular web content. Without web context, it is virtually impossible to get the desired search results upon using the web on mobile platforms. Web context, therefore, ensures that mobile devices can effectively log in to particular service interfaces and fetch the right data (Dean, 2018, p. 274-5). Modern web-enabled smartphones are of great benefit to web developers and web users alike. Firstly, the web-optimized smartphones ensure optimal user experience while not compromising on context and content. It allows web users to access the internet on a mobile platform just as they would unconventional devices. In addition, these smartphones are also important in providing the required portability and connectivity, thereby facilitating communication beyond the obvious barriers of convenience. Lastly, the concept of smartphone-optimized web content allows web developers to expand the audience that can access web services, which is a crucial aspect for businesses that intend to reach out to customers. The idea of web-enabled smartphones may also be of concern to web developers. Firstly, optimizing web content for smartphones requires an added effort of programming, which translates to the necessity of more resources. Secondly, web enabled smartphones require content to be formatted for accessibility via the mobile platforms. This translates to the loss of certain information, particularly during the process of optimizing web applications for mobile access.

b) Compare the following mobile support strategies, what are the pros and cons of each? Dedicated mobile websites, several mobile websites, responsive websites, progressive web applications and native applications.

Dedicated mobile websites

Dedicated websites are designed primarily for mobile phone accessibility. Pros: They are optimized for mobile access and user experience. They are also optimized for navigation. Cons: They require too many redirections, thereby making them slow (Budiu, 2016).

Responsive websites

Responsive websites are sites that are optimized for different screen sizes and devices and which automatically adjust their layouts for viewing on different device sizes. Pros: They are optimized for a wide client base. They also involve less work as only one website needs to be developed from where each device configuration can be based on. Cons: They are slower in performance and have usability related issues (Yadav, and Barwal, 2014).

Progressive web applications

Progressive web applications are a hybrid of the regular and the mobile-optimized web applications. Pros: They work for every browser type and run in different environments for a wider audience. Cons: They are often 'heavy' as they burden the devices by consuming too much power and RAM (Ater, 2017).

Native applications

Native apps are built for a particular running environment, mainly a given device. Pros: They work offline and with optimal speeds. They are also optimized for functioning in the host environment. Cons: They are resource-expensive to custom to a given device. They are also inflexible in terms of customizations, even within the host device (Langrial et al., 2012).

3. Rich Internet Applications

a) Explain what the acronym Ajax stands for and how it utilizes the following technologies: HTML/CSS, JavaScript, XML/JSON.

AJAX stands for Asynchronous JavaScript and XML. Whereas this is not a programming technology on its own, it describes a new kind of approach utilized where different coding technologies, including HTML, XHTML, JavaScript, XML, CSS, and DOM programming are used together. The AJAX model, when used in web applications, enables quicker incremental updates to be effected on a given user interface without having to refresh the entire application. Applications developed using the AJAX model are, therefore, generally faster and more responsive to user inputs. The relation between AJAX and the different programming environments is specific such that each component does a different designated function. AJAX, for example, uses XHTML to help with the content aspect of the web application and the CSS component for presentation purposes. On the other hand, AJAX uses XML or JASON to help with the formatting of data received from the server, especially in cases where a specific formatting, other than plain text, has been used. This ensures that data transported to and from the web server is appropriately formatted and stored. AJAX also utilizes JavaScript to maintain the web application’s interactivity. Making a web application interactive to the user ensures that the application retains its usability and user-friendliness. JavaScript is what facilitates the application’s smooth-running from the end user’s point of view. HTML is also essential in defining the general structure of the web application (MacIntyre et al., 2011).

b) One use case for AJAX might be to perform partial page updates, evaluate five other potential use cases. For each, explain the potential benefits and how these features might be implemented in a web application.

Among the various additional uses of AJAX include the following:-

Facilitating secure connections – AJAX provides a peer-to-peer interface connection between a client application and the server. This one-on-one interface connectivity is highly essential in ensuring the integrity of data exchanged between the server and the application. AJAX, therefore, acts as an additional layer of security that is guaranteed in addition to the user-defined protective measures that may be applied. By facilitating secure connections, AJAX increases the efficiency of web applications.

Enhancing application functionality – being an open source AJAX can be implemented in virtually every supported application to advance its functionality. The fact that AJAX can be updated on a regular basis implies that the user can enjoy the latest functionalities incorporated within the application, thereby enhancing the smooth functioning of the product. Being an open source program, AJAX is freely available for integration in web applications.

Auto reloading of content – AJAX is also applicable in facilitating the auto reloading of web pages without user intervention. The auto reloading capability is important in ensuring seamless communication between a web application and the server and thus ensures that the user has a smooth experience with the application. This functionality comes in handy in platforms, such as the live streaming of textual-content based updates on websites or web apps.

Speeding communication – the real-time updates capability of AJAX increases the performance and speed of AJAX-based applications. Since the response time is much faster, applications get to perform and refresh much quicker while preventing bug-based lags. The speedy-communication aspect of AJAX is also made possible by the reduced bandwidth usage as only the latest data gets updated without having to refresh the entire application.

Increased compatibility – as pointed out above, AJAX combines different compatible languages and facilitates the smooth interaction of various technologies, including HTML, CSS, JavaScript, JSON, and XML, among others. The combination of these technologies and programming languages implies that applications designed using AJAX can run on different browsers, including Internet Explorer 5 and above, Apple Safari 1.2 and above, Opera 7.6 and above, and Mozilla Firefox 1.0 and above (Xie, 2009).

c) Discuss the limitations of AJAX in modern website design, as well as possible solutions to overcome these problems.

Whereas AJAX is a competent component of programming, it does have various downfalls and limitations that may render applications running on it experience limited usability. One of the key limitations of AJAX is the fact that the user has no ability to bookmark a particular view of a web page containing relevant content. The dynamic loading capability of pages and applications that support AJAX implies that the page changes by the minute or the second, depending on the preset refresh rate. The constant communication between the application and the server implies that the changes made on the application platform are not reversible. Such a problem can be resolved using unconventional strategies, such as freezing the application’s communication with the server or even screen-grabbing content for future reference. The second key limitation of AJAX is the fact that it increases the amount of load time that a web application and a web server experiences. The auto-update option, which takes place every few seconds of the application’s running, increases the volume of requests made between the application and the server. Whereas this may not be a problem for applications that are not in high demand, running AJAX applications with high volumes of demand and users may substantially impact the application’s efficiency, leading to high-latency rates and even application crashes. Such a problem may be overcome by considering the use of powerful servers that can support the high-traffic features. The third potential limitation of the use of AJAX in web applications is the fact that the applications cannot run on pages and browsers that do not support JavaScript. Since AJAX is based on JavaScript, specific browsers with the correct browser version have to be utilized to facilitate smooth running. This problem extends to mobile browsers that rarely receive AJAX-based browser updates, thereby limiting the extent of applicability of applications on mobile platforms. Conquering this challenge requires the user to apply the correct browser and ensure that it is appropriately updated and that JavaScript is enabled.

Continue your journey with our comprehensive guide to Final Year Project Research Report.

Lastly, AJAX does not effectively support locally hosted data and files without the correct configuration or environment. For instance, when requesting a local file that is not hosted in a server, fetching the file causes the application to return a ‘request fail’ error. Overcoming this challenge requires the user to install a local server, such as by using XAMPP to set up a local development environment, where are files intended to be exchanged between the application and the server can be hosted. Whereas this may not be a problem for an individual with basic programming skills, it may be a major nightmare for persons who do not know how to go about setting the local server (Tickoo and Abhijeet, 2010).

4. HTML5 and the Semantic Web

a) HTML 5 introduced new semantic elements. What is the purpose behind semantic elements and what problems do they aim to solve?

The newly-released HTML5 semantics are primarily geared towards describing the purpose of web content elements, which enables web browsers to be appropriately formatted and optimized for the kind of content inside them. The new HTML5 semantic tags generally define the purpose of a given content, thereby providing an additional layer of clarity, which enables search engines to understand content within a page for better navigation and display. The consistent list of semantic elements ensures uniformity in the manner in which search engines display content after searching for it across the web. The semantic elements that were recently added in HTML5 include tags, such as

,
Sitejabber
Google Review
Yell

What Makes Us Unique

  • 24/7 Customer Support
  • 100% Customer Satisfaction
  • No Privacy Violation
  • Quick Services
  • Subject Experts

Research Proposal Samples

Academic services materialise with the utmost challenges when it comes to solving the writing. As it comprises invaluable time with significant searches, this is the main reason why individuals look for the Assignment Help team to get done with their tasks easily. This platform works as a lifesaver for those who lack knowledge in evaluating the research study, infusing with our Dissertation Help writers outlooks the need to frame the writing with adequate sources easily and fluently. Be the augment is standardised for any by emphasising the study based on relative approaches with the Thesis Help, the group navigates the process smoothly. Hence, the writers of the Essay Help team offer significant guidance on formatting the research questions with relevant argumentation that eases the research quickly and efficiently.


DISCLAIMER : The assignment help samples available on website are for review and are representative of the exceptional work provided by our assignment writers. These samples are intended to highlight and demonstrate the high level of proficiency and expertise exhibited by our assignment writers in crafting quality assignments. Feel free to use our assignment samples as a guiding resource to enhance your learning.

Live Chat with Humans