Slide 1

Slide 1 text

99x.io Angular for Data Visualization +

Slide 2

Slide 2 text

Angular for Data Visualization Presenters Software Engineer, 99X [email protected] Software Engineer, 99X [email protected] Nishan Wickramarathna Rashan Liyanage

Slide 3

Slide 3 text

Web Servers

Slide 4

Slide 4 text

The term web server can refer to hardware or software, or both of them working together. What is a Web Server • On the hardware side, a web server is a computer that stores web server software and a website's component files. (for example, HTML documents, images, CSS stylesheets, and JavaScript files) A web server connects to the Internet and supports physical data interchange with other devices connected to the web. • On the software side, a web server includes several parts that control how web users access hosted files. At a minimum, this is an HTTP server. An HTTP server is software that understands URLs (web addresses) and HTTP (the protocol your browser uses to view webpages). An HTTP server can be accessed through the domain names of the websites it stores, and it delivers the content of these hosted websites to the end user's device.

Slide 5

Slide 5 text

Examples of web server uses Web servers often come as part of a larger package of internet- and intranet-related programs that are used for: • Sending and receiving emails; • Downloading requests for File Transfer Protocol (FTP) files; and • Building and publishing webpages.

Slide 6

Slide 6 text

Common and top web server software on the market • Apache HTTP Server. Developed by Apache Software Foundation, it is a free and open source web server for Windows, Mac OS X, Unix, Linux, Solaris and other operating systems; it needs the Apache license. • Microsoft Internet Information Services (IIS). Developed by Microsoft for Microsoft platforms; it is not open sourced, but widely used. • Nginx. A popular open source web server for administrators because of its light resource utilization and scalability. It can handle many concurrent sessions due to its event-driven architecture. Nginx also can be used as a proxy server and load balancer.

Slide 7

Slide 7 text

Frontend Frameworks

Slide 8

Slide 8 text

Node.js Introduction • Node.js is an open source server environment • Node.js is free • Node.js runs on various platforms (Windows, Linux, Unix, Mac OS X, etc.) • Node.js uses JavaScript on the server • Node.js can generate dynamic page content • Node.js can create, open, read, write, delete, and close files on the server • Node.js can collect form data • Node.js can add, delete, modify data in your database

Slide 9

Slide 9 text

Webpack is a popular module bundler, a tool for bundling application source code in convenient chunks and for loading that code from a server into a browser. WebPack Introduction

Slide 10

Slide 10 text

JavaScript (also known as ECMAScript) started its life as a simple scripting language for browsers. At the time it was invented, it was expected to be used for short snippets of code embedded in a web page. we have a language that was designed for quick uses, and then grew to a full-fledged tool to write applications with millions of lines. Every language has its own quirks — oddities and surprises, and JavaScript’s humble beginning makes it have many of these. Some examples: Problem with JavaScript

Slide 11

Slide 11 text

Solution: TypeScript Detecting errors in code without running it is referred to as static checking. Determining what’s an error and what’s not based on the kinds of values being operated on is known as static type checking. TypeScript checks a program for errors before execution, and does so based on the kinds of values, it’s a static type checker. For example, the last example above has an error because of the type of obj. Here’s the error TypeScript found:

Slide 12

Slide 12 text

JSON - JavaScript Object Notation JavaScript Object Notation is an open standard file format, and data interchange format, that uses human-readable text to store and transmit data objects consisting of attribute–value pairs and array data types.

Slide 13

Slide 13 text

SCSS/SASS - Syntactically Awesome Style Sheet Syntactically Awesome Style Sheet is the superset of CSS. SCSS is the more advanced version of CSS. Due to its advanced features it is often termed as Sassy CSS. SCSS have file extension of .scss.

Slide 14

Slide 14 text

Which utilizes these technologies Frontend Frameworks

Slide 15

Slide 15 text

Introduction to Angular

Slide 16

Slide 16 text

Introduction to Angular • Angular is a framework for building client application in HTML, CSS and TypeScript(that compiles to JavaScript) • Angular uses the concept of single page application

Slide 17

Slide 17 text

Advantages of single page application • Fast and responsive • Caching capabilities • Client-Side rendering • Easy debugging • Performance

Slide 18

Slide 18 text

Angular Component A component have 3 basic part • Html • Css file • Component file

Slide 19

Slide 19 text

Angular Communicate with back end • To communication with back end angular uses the concept of “services”

Slide 20

Slide 20 text

Angular Life Cycle Hooks

Slide 21

Slide 21 text

Introduction to APIs

Slide 22

Slide 22 text

Introduction to APIs • API stands for application programming interface. This is a concept in software technology that essentially refers to how multiple applications can interact with and obtain data from one another.

Slide 23

Slide 23 text

Introduction to API

Slide 24

Slide 24 text

REST (Representational State Transfer)API • A RESTful API is an architectural style for an application program interface (API) that uses HTTP requests to access and use data • That data can be used to GET, PUT, POST and DELETE data types, which refers to the reading, updating, creating and deleting of operations concerning resources.

Slide 25

Slide 25 text

CRUD Operations

Slide 26

Slide 26 text

CRUD Operations

Slide 27

Slide 27 text

WEB SOCKET • WebSocket is an advanced technology that allows real-time interactive communication between the client browser and a server

Slide 28

Slide 28 text

WEB SOCKETS • Web Sockets on the other hand don’t need you to send a request in order to respond. They allow bidirectional data flow so you just have to listen for any data • You can just listen to the server and it will send you a message when it’s available

Slide 29

Slide 29 text

Web sockets are good for.. • Real-time applications • Chat apps • IoT (internet of things) • Online multiplayer games

Slide 30

Slide 30 text

Thank you 99x.io

Slide 31

Slide 31 text

Resources • What is the difference between CSS and SCSS? • TypeScript for the New Programmer • COVID-19 LK History API • COVID-19 HPB API • Demo Project • JSON2Ts • Loading Animation Library