Wednesday, May 22, 2019

Client-side development 2 - RiWAs



Distinguish the term "'Rich Internet Applications" (RIAs) from "Rich Web-based Applications"

Asynchronous means that you can make request to a server via Hypertext Transfer Protocol (HTTP), and process the other data while waiting for the response. It is not a new programming language but it is a group of interrelated web development techniques used on client side to create interactive web applications. It is a way of using existing standards such as JavaScript and XML to create interactive web applications. Browser based applications and platform independent applications use Ajax.
With AJAX, we can move data from web page to server and web applications can send data to and receive data from server without interfering with existing page and without making the user wait while reloading the whole page. This is accomplished through a kind of HTTP request. Web pages which do not use AJAX must reload the entire page to change the contents of the web page. There are many web applications running on Ajax technology such as Gmail, Yahoo, Facebook, Twitter and YouTube etc. Ajax uses XHTML for content, CSS for presentation and Document Object Model (DOM) for content display.


Key features of RiWAs


  • AJAX.
  • Adobe Flash, Flex and Adobe Integrated Runtime (AIR)
  • Microsoft Silverlight.
  • Curl (an object-oriented language with embedded HTML markup)
  • Google Gears.
  • OpenLaszlo and Webtop.
  • Oracle WebCenter



Technologies and techniques used to develop the client-side components of the RiWAs

J2EE (wiki)
Java Platform, Enterprise Edition (Java EE) is the industry standard for developing portable, robust, scalable and secure server-side Java applications. Building on the solid foundation of the Standard Edition, Java EE provides web services, component model, management, and communications APIs that make it the industry standard for implementing enterprise-class web applications.
JSP (wiki)
JavaServer Pages (JSP) technology enables Web developers and designers to rapidly develop and easily maintain, information-rich, dynamic Web pages that leverage existing business systems. As part of the Java technology family, JSP technology enables rapid development of Web-based applications that are platform independent. JSP technology separates the user interface from content generation, enabling designers to change the overall page layout without altering the underlying dynamic content.
Servlets (wiki)
Servlets are the Java platform technology of choice for extending and enhancing Web servers. Servlets provide a component-based, platform-independent method for building Web-based applications, without the performance limitations of CGI programs. And unlike proprietary server extension mechanisms (such as the Netscape Server API or Apache modules), servlets are server- and platform-independent. This leaves you free to select a “best of breed” strategy for your servers, platforms, and tools.
AJAX (wiki)
Ajax is a web development technique used for creating interactive web applications. The intent is to make web pages feel more responsive by exchanging small amounts of data with the server behind the scenes, so that the entire web page does not have to be reloaded each time the user requests a change. This is intended to increase the web page’s interactivity, speed, functionality, and usability.
Ajax is a cross-platform technique usable on many different operating systems, computer architectures, and Web browsers as it is based on open standards such as JavaScript and XML, together with open source implementations of other required technologies.
Adobe Flash (wiki)
Adobe Flash technology is used to create content for the web applications, games and movies, and content for mobile phones and other embedded devices. The Flash Player is a client application available in most common web browsers.
Since its introduction in 1996, Flash technology has become a popular method for adding animation and interactivity to web pages; several software products, systems, and devices are able to create or display Flash. Flash is commonly used to create animation, various web-page components, to integrate video into web pages, and more recently, to develop rich internet applications.
Model-view-controller (wiki)
Model-view-controller is an architectural pattern used in software engineering. In complex computer applications that present a large amount of data to the user, a developer often wishes to separate data (model) and user interface (view) concerns, so that changes to the user interface will not affect data handling, and that the data can be reorganized without changing the user interface. The model-view-controller solves this problem by decoupling data access and business logic from data presentation and user interaction.

Libraries

Struts (wiki)
Apache Struts is a free open-source framework for creating Java web applications.
Web applications based on JavaServer Pages sometimes commingle database code, page design code, and control flow code. In practice, we find that unless these concerns are separated, larger applications become difficult to maintain. One way to separate concerns in a software application is to use a Model-View-Controller (MVC) architecture. The Model represents the business or database code, the View represents the page design code, and the Controller represents the navigational code. The Struts framework is designed to help developers create web applications that utilize a MVC architecture.
Apache Tiles
Apache Tiles is a templating framework built to simplify the development of web application user interfaces. Tiles allows authors to define page fragments which can be assembled into a complete page at runtime. These fragments, or tiles, can be used as simple includes in order to reduce the duplication of common page elements or embedded within other tiles to develop a series of reusable templates. These templates streamline the development of a consistent look and feel across an entire application. Tiles
Hibernate (wiki)
Hibernate is a powerful, high performance object/relational persistence and query service. Hibernate allows develop persistent classes following object-oriented idiom – including association, inheritance, polymorphism, composition, and collections.
WebORB
WebORB is a server technology enabling development, deployment and runtime execution of Rich Internet Applications. The product provides universal connectivity between rich clients and server-side applications created with .NET, Java or XML Web Services. Supported client-side technologies include Flex, Flash Remoting and AJAX
DWR (wiki)
DWR is a Java open source library which allows you to write Ajax web sites.
It allows code in a browser to use Java functions running on a web server just as if it was in the browser.
DisplayTag
The display tag library is an open source suite of custom tags that provide high-level web presentation patterns which will work in an MVC model. The library provides a significant amount of functionality while still being easy to use.
PD4ML
PD4ML is a powerful PDF generating tool that uses HTML and CSS (Cascading Style Sheets) as page layout and content definition format. Written in 100% pure Java, it allows users to easily add PDF generation functionality to end products
FCKEditor
This HTML text editor brings to the web much of the power of desktop editors like MS Word. It’s lightweight and doesn’t require any kind of installation on the client computer.
ANT (wiki)
Apache Ant is a Java-based build tool.

Software

Tomcat (wiki)
Apache Tomcat is the servlet container that is used in the official Reference Implementation for the Java Servlets and Java Server Pages technologies. Apache Tomcat is developed in an open and participatory environment and released under the Apache Software License.
Apache Tomcat powers numerous large-scale, mission-critical web applications across a diverse range of industries and organizations.
MySQL (wiki)
MySQL is a fast, stable and true multi-user, multi-threaded SQL database server. The main goals of MySQL are speed, robustness and ease of use.
MySQL runs on virtually all platforms, including Linux, Unix, and Windows. It is fully multi-threaded, and provides application program interfaces for many programming languages.
MySQL is used in a wide range of applications, including data warehousing, e-commerce, web databases, logging applications and distributed applications. It is also increasingly embedded in third-party software and other technologies.
Apache HTTP server (wiki)
Apache supports an optional module that configures the web server to act as a proxy server. This can be used to forward requests for a particular web application to a Tomcat instance, without having to configure a web connector.

 Delta-Communication is
Delta Communications, LLC, doing business as Clearwave Communications, provides local, long distance, data, and Internet telecommunications services to residences and businesses in Southern Illinois. It offers service plans, which include mobile, dial up and high speed Internet, and telephone systems
  1. Since, the delta modulation transmits only one bit for one sample, therefore the signaling rate and transmission channel bandwidth is quite small for delta modulation compared to PCM .
  2. The transmitter and receiver implementation is very much simple for delta modulation. There is no analog to digital converter required in delta modulation.

 Synchronous and asynchronous communication in the context of DC

In synchronous communication multiple parties are participating at the same time and wait for replies from each other. One way to visualize the concept of synchronous communications is to imagine a real-time online chat session in which you exchange messages with a live customer support specialist to get help for your broken toaster oven.
Before message exchange in this synchronous scenario can begin, the sender and receiver must establish a communications session and agree which party is going to be in control. Once the session is established, the two-way, give-and-take conversation occurs in actual time. When you type and send a chat message, the party at the other end is present and actively waiting to receive or hear your message and then immediately respond to it. Both parties are working together at the same time with their clocks in lockstep (time zone differences notwithstanding) -- in other words, synchronized.
Asynchronous communication is different. For example, it occurs when that toaster oven manufacturer doesn't offer real-time chat, forcing you instead to send an email message to a company's tech support department. The recipient is neither expecting nor waiting for an incoming message and therefore may not get to it right away.

 History and the evolution of the XHR and AJAX

The key technology is used in AJAX is XMLHttpRequest(XHR), firstly invented by Microsoft and then use by other browsers. XHR has capabilities to retrieve data from server-side and populate on client-side with the help of existing technologies.
Explain the role of the DC-Bus
Using the DC bus as a discharge medium in the case of faster braking of load. A resister connected to DC bus can act as a brake resister which dissipates surge power generated by fast decelerating load. This protects the other parts of the VFD. Powering up VFDs directly using DC terminals bypassing rectifier section.

Tuesday, May 14, 2019

Client-side development 1 - jQuery

 JQuery a framework or a library


 J Query is a library.framework is something that usually forces a certain way of implementing a solution, whereas j Query is just a tool to make implementing what you want to do easier. j Query: The Write Less, Do More, JavaScript Library.


Explain the features provided by jQuery

j Query is a write less and do more java script library, it use of java script much easier and  simplifies the complicated things from java script like the AJAX calls.

Features of j Query are :

1. Effects and animations.
2. Ajax.
3. Extensible.
4. DOM element selections functions.
5. Events.
6. CSS manipulation.
7. Utilities - such as browser version and the each function.
8. JavaScript Plugins.
9. DOM traversal and modification.





 Advantages and disadvantages of using jQuery in different project scales

The main advantage of jQuery is that it is much easier than its competitors.IT can add plugins easily, translating this into a substantial saving of time and effort. jQuery community is active and hard work. Competitors such as Flash and pure CSS is its excellent integration with AJAX.


  1. jQuery is flexible and fast for web development
  2. It comes with an MIT license and is Open Source
  3. It has an excellent support community
  4. It has Plugins
  5. Bugs are resolved quickly
  6. Excellent integration with AJAX
Disadvantages
jQuery is easy to install and learn, initially. But it’s not that easy if we compare it with CSS. JQuery is improperly implemented as a Framework, the development environment can get out of control.


 How the jQuery handles the issues related to partial page loads to the browser

I'm recommended follow this link for easy to understand:


Discuss the selectors and their use in jQuery

jQuery Selector is a function which makes use of expressions to find out matching elements from a DOM based on the given criteria.Once an element is selected then we can perform various operations on that selected element.Simply you can say,selectors are used to select one or more HTML elements using jQuery.


The use of CSS advanced selectors in jQuery and jQuery’s DOM traversal API, indicating the pros and cons of them

jQuery is a fast, small, and feature-rich JavaScript library. It makes things like HTML document traversal and manipulation, event handling, animation, and Ajax much simpler with an easy-to-use API that works across a multitude of browsers.


Explain the importance of DOM objects and DOM processing in jQuery

The functions associated with these objects determine how the objects may be manipulated, and they are part of the object model.The DOM is an object-oriented representation of the web page, which can be modified with a scripting language such as JavaScript.The Document Object Model currently consists of two parts, DOM Core and DOM HTML. The DOM Core represents the functionality used for XML documents, and also serves as the basis for DOM HTML.




JQuery event handling over HTML event attributes, providing a list of events supported by jQuery

  1. Mouse Events scroll, click, dblclick, mousedown, mouseup, mousemove, mouseover, mouseout, mouseenter, mouseleave, load, resize, scroll, unload, error
  2. Keyboard Events keydown, keypress
  3. Browser Events load, resize, scroll, unload, error.
  4. DOM Element Events. blur, focus, focusin, focusout, change, select, submit.

Identify a list of advanced features provided by jQuery and explain their use towards improving the user experience

Create an Empty jQuery Object

Creating a new jQuery object can bring significant overhead. Sometimes, you might need to create an empty object, and fill it in with the add() method later.
Use CSS Hooks
The CSS hooks API was introduced to give developers the ability to get and set particular CSS values. Using it, you can hide browser specific implementations and expose a unified interface for accessing particular properties

Saturday, April 27, 2019

Data Persistence

Role of data in information systems indicating the need for data persistence

Data storage is the collective methods and technologies that capture and retain digital information on electromagnetic,optical or silicon-based storage media. Storage is a key component of digital devices, as consumers and businesses have come to rely on it to preserve information ranging from personal photos to business-critical information.Storage is frequently used to describe the devices and data connected to the computer through input/output (I/O) operations,including hard disks,flash devices,tape systems and other media types.

Explain the Data, Database, Database Server, and Database Management System
Data

In computing data is information that has been translated into a form that is efficient for movement or processing.Relative to today's computers and transmission media,data is information converted into binary digital form.It is acceptable for data to be used as a singular subject or a plural subject.Raw data is a term used to describe data in its most basic digital format.

Database Server

Database server is the term used to refer to the back-end system of a database application using client/server architecture. The back-end, sometimes called adatabase server, performs tasks such as data analysis, storage, data manipulation, archiving, and other non-user specific tasks.

Database Management System

database management system (DBMS) is system software for creating and managing databases. The DBMS provides users and programmers with a systematic way to create, retrieve, update and manage data.

Compare Files and Databases, discussing pros and cons 

Pros of the File System
  • Performance can be better than when you do it in a database.To justify this, if you store large files in DB, then it may slow down the performance because a simple query to retrieve the list of files or filename will also load the file data if you used Select * in your query. In a files stem, accessing a file is quite simple and light weight.
  • Saving the files and downloading them in the file system is much simpler than it is in a database since a simple 'Save As' function will help you out.Downloading can be done by addressing a URL with the location of the saved file.

Cons of the File System

  • Loosely packed,There are no ACID (Atomicity, Consistency, Isolation, Durability) operations in relational mapping, which means there is no guarantee. Consider a scenario in which your files are deleted from the location manually or by some hacking dudes.You might not know whether the file exists or not.Painful. right?
  • Low security,Since your files can be saved in a folder where you should have provided write permissions, it is prone to safety issues and invites trouble, like hacking. It's best to avoid saving in the file system if you cannot afford to compromise in terms of security

Pros of Database

  • ACID consistency, which includes a rollback of an update that is complicated when files are stored outside the database.
  • Backups automatically include file binaries.
  • It's more secure than saving in a file system.

Cons of Database

  • You may have to convert the files to blob in order to store them in the database.
  • Database backups will be more hefty and heavy.

Discuss different arrangements of data, giving examples

Abstract
The representation tasks required learners to arrange and represent data through modelling, focusing on spontaneous representations.Successful trans numeration determine the ultimate success of a representation and the ability to organise data is regarded as critical. Arrangement types increased in sophistication with increased grade level and the hierarchical nature of arrangement types became apparent when regarded in the context of an adapted SOLO Taxonomy framework.A higher level arrangement strategy pointed to a higher SOLO level of statistical thinking.Learners in the two tasks produced a rich variety of representations which included idiosyncratic, unsophisticated responses as well as standard statistical representations. 


Different types of databases, providing examples for their use 

There are several types of database management systems.Here is a list of seven common database management systems:
  1. Hierarchical databases
  2. Network databases
  3. Relational databases
  4. Object-oriented databases
  5. Graph databases
  6. ER model databases
  7. Document databases

Hierarchical Databases

In a hierarchical database management systems (hierarchical DBMSs) model, data is stored in a parent-children relationship nodes.In a hierarchical database,besides actual data, records also contain information about their groups of parent/child relationships.In a hierarchical database model,data is organised into a tree like structure.The data is stored in form of collection of fields where each field contains only one value.The records are linked to each other via links into a parent-children relationship.In a hierarchical database model,each child record has only one parent.A parent can have multiple children.

Network Databases

Network database management systems (Network DBMSs) use a network structure to create relationship between entities. Network databases are mainly used on a large digital computers. Network databases are hierarchical databases but unlike hierarchical databases where one node can have one parent only, a network node can have relationship with multiple entities. A network database looks more like a cobweb or interconnected network of records.

Relational Databases

In relational database management systems (RDBMS), the relationship between data is relational and data is stored in tabular form of columns and rows.Each column if a table represents an attribute and each row in a table represents a record.Each field in a table represents a data value.

Data warehouse with Big data
 Data Warehouse is an architecture of data storing or data repository.Whereas Big Data is a technology to handle huge data and prepare the repository.Data warehouse only handles structure data (relational or not relational),but big data can handle structure,non-structure, semi-structured data.
Preferences
Data Warehouse
If an organisation wants to know some informed decision (like what is going on in their corporation, next year planning based on current year performance data, etc),they prefer to choose data warehousing, as for this kind of report they need reliable or believable data from the sources.
 Big Data
If organisation need to compare with a lot of big data, which contain valuable information and help them to take a better decision (like how to lead more revenue,more profitability, more customers, etc),they obviously preferred Big Data approach.

 how the application components communicate with files and databases 
Easy understand follow video link
  
Differentiate the SQL statements, Prepared statements, and Callable statements 

The Callable Statement object can use all the three. A parameter whose value is unknown when the SQL statement is created.You bind values to IN parameters with the set abc() methods. A parameter whose value is supplied by the SQL statement it returns.

Statement
Use this for general-purpose access to your database.Useful when you are using static SQL statements at run time. The Statement interface cannot accept parameters.

Prepared Statement
Use this when you plan to use the SQL statements many times.The Prepared Statement interface accepts input parameters at run time.

Callable Statement
Use this when you want to access the database stored procedures.The Callable Statement interface can also accept run time input parameters.

Argue the need for ORM, explaining the development with and without ORM
Object-relational-mapping is the idea of being able to write queries like the one above,as well as much more complicated ones,using the object-oriented paradigm of your preferred programming language.Long story short,we are trying to interact with our database using our language of choice instead of SQL.Here’s where the Object-relational-mapper comes in.When most people say "ORM" they are referring to a library that implements this technique. 
 POJO, Java Beans, and JPA, indicating their similarities and differences  
POJO classes
POJO stands for Plain Old Java Object. It is an ordinary Java object, not bound by any special restriction other than those forced by the Java Language Specification and not requiring any class path.It doesn’'t have special restrictions other than those forced by Java language.It can implement Serializable interface and Fields can be accessed by their names.
It is used when you don’t want to give restriction on your members and give user complete access of your entity
Java Beans
Beans are special type of Pojos. There are some restrictions on POJO to be a bean.
It is a special POJO which have some restrictions and It should implement serializable interface.Fields are accessed only by getters and setters and It is used when you want to provide user your entity but only some part of your entity.


JPA
As a specification, the Java Persistence API is concerned with persistence, which loosely means any mechanism by which Java objects outlive the application process that created them.Not all Java objects need to be persisted,but most applications persist key business objects.The JPA specification lets you define which objects should be persisted, and how those objects should be persisted in your Java applications.
NoSQL indicating the benefits also explain different types of NoSQL databases

Advantages

NoSQL databases have many advantages compared to traditional,relational databases.One major,underlying difference is that NoSQL databases have a simple and flexible structure.They are schema-free.Unlike relational databases, NoSQL databases are based on key-value pairs.Some store types of NoSQL databases include column store, document store, key value store, graph store, object store,XML store,and other data store modes.Usually, each value in the database has a key.This is because it’s done by horizontally scaling and distributing the load on all nodes,which is replacing the main host with a more powerful one.

Disadvantages

NoSQL databases are not perfect, and they are not always the right choice.For one thing, most NoSQL databases do not support reliability features that are naively supported by relational database systems.These reliability features can be summed up as atomicity, consistency, isolation,and durability. In order to support reliability and consistency features, developers must implement their own proprietary code, which adds more complexity to the system.This might limit the number of applications that can rely on NoSQL databases for secure and reliable transactions.Other forms of complexity found in most NoSQL databases include incompatibility with SQL queries. 


 Hadoop is, explaining the core concepts of it

Hadoop ecosystem consists of Hadoop core components and other associated tools. In the core components, Hadoop Distributed File System (HDFS) and the Map Reduce programming model are the two most important concepts.
If any failed node restarts,it automatically joins back to the cluster and than after master can assign it a new task whenever is required.
 If any node fails in between, the master will detect this failure and assign the same task to another node where the replica of the same data block is available.


Explain the concept of IR, identifying tools for IR

As with all spectroscopic techniques,it can be used to identify and study chemicals. Samples may be solid, liquid, or gas.The method or technique of infrared spectroscopy is conducted with an instrument called an infrared spectrometer (or spectrometer) to produce an infrared spectrum.

Introduction to client-side development

What are the main elements of client-side application components of distributed systems

The client-server model is basic to distributed systems.It is a response to the limitations presented by the traditional mainframe client-host model,in which a single mainframe provides shared data access to many dumb terminals.The client-server model is also a response to the local area network (LAN) model, in which many isolated systems access a file server that provides no processing power.
Client-server architecture provides integration of data and services and allows clients to be isolated from inherent complexities, such as communication protocols.The simplicity of the client-server architecture allows clients to make requests that are routed to the appropriate server.These requests are made in the form of transactions. Client transactions are often SQL or PL/SQL procedures and functions that access individual databases and services.

The Components of the Client-Server Model

The client server model consists of three parts-
  • The client
  • The server
  • The network



Discuss the Views development technologies for the browser-based client-components of web-based applications

Before moving on to the criteria for choosing a modern web technology stack, you should clearly understand what comprises the process of web application development.
  • HTML (HyperText Markup Language)
  • CSS (Cascading Style Sheets)
  • JavaScript
  • Ajax (Asynchronous JavaScript and XML)
  • jQuery (JavaScript Framework Library - commonly used in Ajax development)
  • Moo Tools (JavaScript Framework Library - commonly used in Ajax development)
  • Dojo Toolkit (JavaScript Framework Library - commonly used in Ajax development)

Server-Side Programming
  • Ruby (Ruby on Rails)
  • Python (Django, Flask, Pylons)
  • PHP (Laravel)
  • Java (Spring)
  • Scala (Play)
Web-based applications are dynamic web sites programmed on the server and delivered to the client through a browser. Any device, whether desktop or mobile, can function as a client. Web-based applications cover all sort of application types.today, it would not be possible to imagine online banking, social networking, e commerce,interactive games, online training and CMS without the existence of web-based apps.
Since the demand for web and mobile applications is growing, new approaches and new technologies are also emerging. In addition to mobile technologies, cloud technologies are also making a rapid and permanent impact on modern business. As businesses are slowly but surely migrating to the cloud, it's inevitable to convert all desktop applications to web-based ones in order to reach the target audience and keep up with the competition.

Controller development technologies for the browser-based client-components of web-based applications 

Model,view and controller (MVC) is a well-known three-layer development architecture used for web applications developments.This paper presents the key insight related to the MVC layers, its uses, advantages and practices concerning MVC during web applications developments.We explain the all three layers in detail and their functionalities.The main objective of the study is to provide holistic view about each layer of the MVC and main functionalities and advantages of the MVC.Specifically, we explain the best practices concerning MVC based web applications developments. Furthermore,we explain the related technologies which are used in conjunction with MVC based web applications.





client-Model development technologies for the browser-based clientcomponents of web-based applications 

In computing, a web application or web app is a client–server computer program which the client(including the user interface and client-side logic) runs in a web browser. Common web applications include web mail,online retail sales,and online auction.
  • HTTP.
  • CGI.
  • SCGI.
  • FCGI.
  • AJP.
  • WARP.
  • Web Socket.
  

Different categories of elements in HTML, proving examples for their use

CSS 3 a new version of CSS or cascading style sheet benefits from technical features and properties. From better maintenance, loading speed, and layout design properties CSS 3 is much more versatile.Designers get to implement the design elements from CSS 3 in a simpler manner.
Multi column layout
Multiple backgrounds
Text shadow 
Border Radius



3 main types of CSS selectors 

Introducing CSS Selectors

A CSS selector is the part of a CSS rule set that actually selects the content you want to style. Let’s look at all the different kinds of selectors available,with a brief description of each

Universal Selector

The universal selector works like a wild card character,selecting all elements on a page. Every HTML page is built on content placed within HTML tags.Each set of tags represents an element on the page.Look at the following CSS example, which uses the universal selector:

Element Type Selector

Also referred to simply as a "type selector," this selector must match one or more HTML elements of the same name. Thus,a selector of nav would match all HTML nav elements, and a selector of <ul> would match all HTML unordered lists,or <ul>elements.An ID selector is declared using a hash,or pound symbol (#) preceding a string of characters. The string of characters is defined by the developer.This selector matches any HTML element that has an ID attribute with the same value as that of the selector,but minus the hash symbol.
Advanced CSS selectors explaining the specificity 
With it we can completely transform the look of a website in just a couple of minutes, and without even having to touch the markup. But despite the fact that we are all well aware of its usefulness CSS selectors are still not used to their full potential and we sometimes have the tendency to litter our HTML with excessive and unnecessary classes and ids divs and spans.The best way to avoid these plagues spreading in your markup and keep it clean and semantic, is by using more complex CSS selectors,ones that can target specific elements without the need of a class or an id, and by doing that keep our code and our stylesheets flexible.

CSS Specificity


Before delving into the realms of advanced CSS selectors,it s important to understand how CSS specificity works, so that we know how to properly use our selectors and to avoid us spending hours debugging for a CSS issue that could be easily fixed if we had only payed attention to the specificity.

CSS media queries in responsive web development 

  • Responsive web design has exploded in popularity — thanks to the need to create sites that work across numerous devices.
  • responsive design comes with some problems of its own.
  • One of these tricks is the use of media queries,which work to call styles to the user device based on its dimensions.

Additional expalne follw this link


Identify the pros and cons of 3 ways of using CSS (inline, internal, external) 

Internal CSS
Internal CSS code is put in the <head> section of a particular page.The classes and IDs can be used to refer to the CSS code,but they are only active on that particular page. CSS styles embedded this way are downloaded each time the page loads so it may increase loading speed.However,there are some cases when using internal stylesheet is useful.One example would be sending someone a page template – as everything is in one page, it is a lot easier to see a preview. Internal CSS is put in between <style></style> tags. An example of internal stylesheet.
Advantages of Internal CSS:
  • Only one page is affected by stylesheet.
  • Classes and IDs can be used by internal stylesheet.
  • There is no need to upload multiple files. HTML and CSS can be in the same file.
Disadvantages of Internal CSS:
  • Increased page loading time.
  • It affects only one page – not useful if you want to use the same CSS on multiple documents.
External CSS
Probably the most convenient way to add CSS to your website, is to link it to an external css file. That way any changes you made to an external CSS file will be reflected on your website globally.A reference to an external CSS file is put in the <head> section of the page:
Advantages of External CSS:
  • Smaller size of HTML pages and cleaner structure.
  • Faster loading speed.
  • Same .css file can be used on multiple pages.
Disadvantages of External CSS:
  • Until external CSS is loaded, the page may not be rendered correctly.

Inline CSS

Inline CSS is used for a specific HTML tag. <style> attribute is used to style a particular HTML tag. Using CSS this way is not recommended, as each HTML tag needs to be styled individually. Managing your website may become too hard if you only use inline CSS. However, it can be useful in some situations. For example, in cases when you don’t have an access to CSS files or need to apply style for a single element only. An example of HTML page with inline CSS would look like this:
Advantages of Inline CSS:
  • Useful if you want to test and preview changes.
  • Useful for quick-fixes.
  • Lower HTTP requests.
Disadvantages of Inline CSS:
  • Inline CSS must be applied to every element.

 client-side component development related aspects in browser-based web applications 

The internet is steadily moving towards active user engagement and extended functionality offered by web apps. As they are replacing websites, more and more developers are interested in how to develop web apps and attract more visitors to their web resources.
One of the challenges any aspiring developer can encounter before trying their hand in web application development is choosing the type and the component model of web application architecture.Our article will dot the is on the matter and help you choose well.
Discuss the new features in JS version 6 
  • arrows
  • classes
  • enhanced object literals
  • template strings
  • restructuring
  • default + rest + spread
  • let + const
  • iterators + for..of
  • generators
  • Unicode
  • modules
  • module loaders
  • map + set + weak map + weakest
  • proxies
  • symbols
  • subclass able built-ins
  • promises
  • math + number + string + array + object APIs
  • binary and octal literals
  • reflect api
  • tail calls

Arrows

Arrows are a function shorthand using the => syntax. They are syntactically similar to the related feature in C#, Java 8 and Coffee Script. They support both statement block bodies as well as expression bodies which return the value of the expression. Unlike functions, arrows share the same lexical this as their surrounding code.

Classes

ES6 classes are a simple sugar over the prototype-based OO pattern.Having a single convenient declarative form makes class patterns easier to use,and encourages inseparability. Classes support prototype-based inheritance,super calls,instance and static methods and constructors.