68 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			68 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
|   | --- | ||
|  | title: Internet Applications | ||
|  | --- | ||
|  | ## Internet Applications
 | ||
|  | 
 | ||
|  |  | ||
|  | 
 | ||
|  | ### Overview
 | ||
|  | 
 | ||
|  | Internet Applications are applications that are enabled by connecting a local device to a remote application server or cloud services. | ||
|  | Internet applications run on desktops and thin clients such as smart devices and other internet appliances. | ||
|  | Desktops commonly use web browsers to facilitate a connection. | ||
|  | Smart devices use either a web browser or a dedicated 'app' or Rich Internet Application. | ||
|  | Web applications are a kind of internet application. | ||
|  | 
 | ||
|  | ### Full Stack
 | ||
|  | 
 | ||
|  | Internet applications consist of a full stack of layers. | ||
|  | The stack is sometimes divided into two parts or layers: The Front End and the Back End. | ||
|  | However the stack is divided, an application consists of software unique to itself, and a bunch of dependent software. | ||
|  | Dependent software consists of libraries and other software that provide services. | ||
|  | 
 | ||
|  | ### Full Stack as system of subsystems
 | ||
|  | 
 | ||
|  | A useful way to view each component is as a part of a system of subsystems, where each subsystem is a system of subsystems. | ||
|  | As an analogy, the human body is a system of subsystems. | ||
|  | The body has an immune subsystem, a digestive subsystem, a nervous subsystem, a skeletal subsystem, a muscular subsystem and the like. | ||
|  | The digestive system includes the liver subsystem aka "liver" for example. | ||
|  | Each subsystem is a system in its own area of activity or function. | ||
|  | 
 | ||
|  | ### Front End of Stack
 | ||
|  | 
 | ||
|  | The 'Front End' is the software unique to the application that performs work on a local device. | ||
|  | A local device has all the functional components of a computer.  software applications installed in an operating system running on hardware (or virtual hardware running on hardware or other virtual hardware.) | ||
|  | 
 | ||
|  | ### Back end of Stack
 | ||
|  | 
 | ||
|  | The 'Back End' is the software unique to the application that performs work on a remote server. | ||
|  | A remote server has all the functional components of a computer: software applications installed in an operating system running on hardware (or virtual hardware running on hardware or other virtual hardware.) | ||
|  | 
 | ||
|  | ### Application Bias to Front or Back End
 | ||
|  | 
 | ||
|  | Applications seeking to work consistently across devices or requiring security in data storage and access will tend to have most business logic in the back end. | ||
|  | This is because software at the Front End is subject to many more modes of attack from malicious agents such as viruses, malware, and insider threats aka "inside hackers". | ||
|  | Also, web browsers standardize rendering of web content sent to the Front End. | ||
|  | 
 | ||
|  | Applications seeking speed and efficient use of project resources move as much software as possible into the Front End. | ||
|  | By moving resources to the Front End, a project can share its limited Back End resources with more end-users. | ||
|  | 
 | ||
|  | ### Application Server
 | ||
|  | 
 | ||
|  | An application server or software framework provides the core required dependencies for an internet application. | ||
|  | 
 | ||
|  | 
 | ||
|  | ### More Information:
 | ||
|  | 
 | ||
|  | [FreeCodeCamp Full Stack Development Certification](https://guide.freecodecamp.org/meta/free-code-camp-full-stack-development-certification) | ||
|  | 
 | ||
|  | [Rich Internet Application (Wikipedia.org)](https://en.wikipedia.org/wiki/Rich_Internet_application) | ||
|  | 
 | ||
|  | [Software Framework (Wikipeida.org)](https://en.wikipedia.org/wiki/Software_framework) | ||
|  | 
 | ||
|  | [Web Application Framework (Wikipedia.org)](https://en.wikipedia.org/wiki/Web_framework) | ||
|  | 
 | ||
|  | [Application Server (Wikipedia.org)](https://en.wikipedia.org/wiki/Application_server) | ||
|  | 
 | ||
|  | 
 |