The client side programs run on the machine of the end user which contains the web browser. Client side programs interact with the user with help of user interfaces on the display devices. They utilize various client side technologies and interact with the local storage as well with help of cookies.
Below are the main concepts of client side programming:-
Client side programs run on the web browser of the user's machine and rely on storing some data locally for various purposes. These range from cached display to the storing of cookies and other information to maintain sessions between the client and server. A good client side programming language must have a good mechanism for interaction with temporary storage of the computer that is running the browser.
The web pages must be interactive for the end user. They must provide adequate success and failure messages display, error validation, input guidance and visual indications for certain operations that get completed in the interface. A good client side programming language provides elements and features to facilitate this.
Client side programs that run on the web browser fetch data from a web server on a continuous basis along with pushing of some data to the server when the user wants to submit it. A good client side programming language must have synchronous and asynchronous methods of submitting data to the server using the standard GET, POST, DELETE methods and a good HTTP request-response mechanism.
The pages must be responsive. That means they should adapt themselves to fit properly on devices of varying widths and heights, irrespective of the orientation of the device. A good client side programming language provides ways for the designers to use certain features of the language for writing responsive web pages.
A good web page must adhere to the W3C accessibility guidelines which are listed on the W3C website. These guidelines provide suggestions on how a web page can be made highly accessible and usable by end users of all types. A good client side programming language must provide ways for web developers to adhere to the accessibility guidelines.
Below are the main concepts of object oriented programming:-
Class is the most important feature of object oriented programming. It is a collection of variables and methods. Class acts as a blueprint which defines the behaviour and the data of a certain type of real-world objects.
Inheritance is an important feature of object oriented programming. It allows reusability of code by allowing developers to use child classes that have access to all the properties of their parent classes. For example, if “car” is the parent class,“audi car” can be the child class which can inherit properties and behaviour from the general “car” class but can contain its own specific properties and behaviour.
Objects are instances of classes. Objects are created on runtime. A class is a blueprint whereas an object has physical existence. For example, a certain Audi car with serial number and physical existence can be an object of the “audi car” class.
Abstraction is a feature that hides unnecessary and detailed things from the outside world while displaying only the essential things that are required for the world to interact with the object in question. A very good example of abstraction is the human body where its exterior is required for the outside world to interact with it, but the outside world doesn't have to know about the internal mechanism of the body.
Encapsulation is a feature of object oriented programming that provides bundling of data and functions that work on that data in a single container. This supports creation of containers that operate independently from each other and can interact only via function calls without knowing the internal details of each other.
Polymorphism is an object oriented programming concept. It allows redefinition of the way certain things work. It does so by changing the way of doing it or by changing the elements used for getting it done. The two types of polymorphism are overriding and overloading. Overloading allows us to use the same method name with different parameters and return types for different scenarios. Overriding allows the child classes to have their own methods and fields which completely override the parent’s methods and fields.
The four languages that can be used for server-side object oriented programming are Java, PHP, Python and Node JS.
Accessibility is one of the most important concepts involved in web programming. There are types of users who have certain impairments and cannot access information in text form, either completely or partially. Therefore, good use of audio should be provided wherever required, as an alternative. The content of the web pages must be self explanatory, assisted with headings, paragraphs, mouse controls, tooltips, help sections, translations and phonetic help wherever required.
Device compatibility becomes a very important concept especially in the modern age where there are multiple operating systems, screen widths, heights, resolutions available in the market. Compatibility with different devices is mainly achieved using responsive programming with frameworks like Bootstrap, good orientation change support and high definition elements in the web pages for high definition screens to avoid pixelation.
There are various purposes behind creation of a prototype for the user interface before jumping into development:-
● A prototype acts as an analysis artefact and makes it easy to discuss it better with the stakeholders involved and get the feedback without spending much time on the actual development.
● Prototypes act as design artefacts. They enable easy explanation of the system’s solution space.
● Prototypes act as a basis on which the exploration of system’s usability can be based.
● They act as suitable vehicles for developers to communicate the design of the user interface to people outside the team.
● They act as a foundation on which the continuous development system can be based. It is very easy to discard a prototype and start afresh as compared to throwing a well developed web page away.
Documenting requirements for UI development is a very important step towards creation of user interfaces that meet the needs of the stakeholders and create a clean state of mind for the user interface developers, as the web designers and developers tend to overdo things due to their imagination level being higher than the backend developers. Also since design is very subjective, there is always a possibility of scope creep after the review by the client. Therefore, the following documentation artefacts must be produced before the development of UI design can start:-
Wireframes: Wireframes are the most basic presentation of the layout of the web pages. They are easy to discard and start afresh than the prototypes, if required.
Prototypes: Prototypes are more detailed and near replicas of the actual web pages to be developed. Prototypes are created when wireframes are totally agreed upon with the stakeholders. In most cases, the prototype design is exactly translated into web pages.
Color codes: The colour scheme of the web pages to be created must be documented before development starts and includes primary and secondary colours to be used.
Font Specifications: The font families to be used in the website at different levels must be documented in advance. There must be a secondary font family specified to back the font up if it is not available in a certain environment.
Mobile Responsiveness Specifications: For every page created in the prototype for the desktop environment, there must be respective pages created for tablet and mobile environments, to avoid issues due to assumptions by developers about what will be appropriate design to make for mobile resolutions. In fact, mobile layouts should be made first.
Remember, at the center of any academic work, lies clarity and evidence. Should you need further assistance, do look up to our Computer Science Assignment Help
Proofreading and Editing$9.00Per Page
Consultation with Expert$35.00Per Hour
Live Session 1-on-1$40.00Per 30 min.
Doing your Assignment with our resources is simple, take Expert assistance to ensure HD Grades. Here you Go....