TypeScript. TypeScript. RxJS

Size: px
Start display at page:

Download "TypeScript. TypeScript. RxJS"

Transcription

1

2 Web

3 About Me

4 TypeScript TypeScript RxJS

5

6 2014 X 4 0 Mac/Windows Native

7 UI Web Angular React JavaScript IM User DING Contact RPC Native Nw.js C++ Cef

8 Web 11 nw.js

9 Web

10 App

11 IM DING DING

12 ->

13 RPC 10W + IM DING User Contact

14 RPC

15 import axios from 'axios'; export const getuserbyuid = (uid) => { return axios.get('/users?id=' + uid).then((response) => { return response.data; }); }; getuserbyuid(123).then((user) => { console.log(user.avatar); console.log(user.bio); User }); console

16 User { "uid": 12345, "nickname": " ", "sex": "M", "avatar": "@xfdjj", "isactive": true, "org": { orgname :, orgid : 0001 } }

17 User { } "uid": 12345, "nickname": " ", "sex": "M", "avatar": "@xfdjj", "bio": "Web Developer", "isactive": true, "org": { "mainorgid": "00001", "orglist": [ { "orgid": "00001", "orgname": " ", "departmentlist": [ { "departid": "0001", "departname": " " } ] } ] }

18 User { } "uid": 12345, "nickname": " ", "sex": "M", "avatar": "@xfdjj", "bio": "Web Developer", "isactive": true, "org": { "mainorgid": "00001", "orglist": [ { "orgid": "00001", "orgname": " ", "departmentlist": [ { "departid": "0001", "departname": " " } ] } ] } org let mainorgid = user.org.mainorgid; Uncaught TypeError: Cannot read property 'mainorgid' of undefined

19 TypeScript

20 User // user.ts import axios from 'axios'; export enum SEX { Male = 'M', Female = 'F' } export interface IDepartment { departid: string; departname: string } export interface IOrgItem { orgid: string; orgname: string; departmentlist: IDepartment[]; } export interface IOrg { mainorgid: string; orglist: IOrgItem[]; } export interface IUser { uid: number; nickname: string; sex: SEX, avatar: string, bio: string, isactive: boolean, org?: IOrg } export const getuserbyuid = (uid: number): Promise<IUser> => { return axios.get('/users?id=' + uid).then((response) => { return response.data as IUser; }) }; getuserbyuid(123).then((user) => { console.log(user.avatar); console.log(user.bio); })

21 User

22 types RPC types types

23 types RPC IDL Java Interface

24 types RPC.idl IDL AST.ts IDL Parser IDL Parser TS

25 types RPC

26 types RPC.idl TS JS OC C++ Android Java Server Java

27 TypeScript TypeScript ES7 (ES.next) ES6 ES5

28 TypeScript Anders Hejlsberg C# JavaScript ES5, ES2015, ES2016,ES2017 JavaScript Node.js JavaScript TS JS

29 TypeScript JS TypeScript React, Vue, Angular1.x, Redux, React-redux, lodash, moment ts Angular 2+, RxJS, cycle.js, vscode, ant-design IDE / TypeScript, WebStorm, VSCode, VSStudio, Sublime, Atom, Eclipse, Emacs, Vim

30 TS JS TS import allowjs JS node_modules/react Type Check TS import type JS node_modules/react types react

31 TS 3K+ DefinitelyTyped/DefinitelyTyped Github JS

32 TS JS JS.d.ts type package.json types { } main :./entry.js, types :./entry.d.ts

33

34 import { Component } from selector: 'app-root', templateurl: './app.component.html', styleurls: ['./app.component.css'] }) export class AppComponent { title = 'app'; countrylist: string[]; constructor() { this.countrylist = ['china', 'USA']; } Angular TS template Type Check } Angular AOT TS Type Check

35 import Vue from 'vue'; import Component from template: require('./home.html') }) export class HomeComponent extends Vue { package: string = 'vue-webpack-typescript'; } dev build Chrome

36 TypeScript jsx jsx js Type Check

37 switch case type

38 TS TS JS ES ES

39

40

41 var mainsearch = function(keyword) { var workerlist = [ }; orgsearch(keyword), friendsearch(keyword), localmsgsearch(keyword) ]; var result = []; workerlist.foreach(function(item){ item.then(function (data) { result.push(data); if (result.length === workerlist.length) { searcheventemitter.emit('finish', rebuildsearchresult(result)); } else{ searcheventemitter.emit('update', rebuildsearchresult(result)); } }); }) API Promise mainsearch emit value Promise callback

42 var onkeywordchange = function(keyword) { mainsearch(keyword); this.issearching = true; }; Bug: Race Condition searcheventemitter.on('update', function (result) { this.searchresult = result; }); searcheventemitter.on('finish', function (result) { this.searchresult = result; this.issearching = false; });

43 var mainsearch = function(keyword, taskid) { var workerlist = [ orgsearch(keyword), friendsearch(keyword), localmsgsearch(keyword) ]; var result = []; workerlist.foreach(function(item){ item.then(function (data) { result.push(data); if (result.length === workerlist.length) { searcheventemitter.emit('finish', rebuildsearchresult(result), taskid); } else{ searcheventemitter.emit('update', rebuildsearchresult(result), taskid); } }) }); };

44 var taskid = 0; var onkeywordchange = function(keyword) { taskid++; mainsearch(keyword, taskid); this.searchresult = {}; Race Condition this.issearching = true; }; searcheventemitter.on('update', function (result, _taskid) { if (_taskid === taskid) { this.searchresult = result; } }); searcheventemitter.on('finish', function (result, _taskid) { if (_taskid === taskid) { this.searchresult = result; this.issearching = false; } });

45 RxJS

46 const mainsearch = function(keyword){ return Rx.Observable.merge( Rx.Observable.fromPromise(orgSearch(keyword)), Rx.Observable.fromPromise(friendSearch(keyword)), Rx.Observable.fromPromise(localMsgSearch(keyword)) }; ).scan((acc, value) => { if (value.type === 'org') { acc.org = value.data; } else if (value.type === 'friend') { acc.friend = value.data; } else if (value.type === 'localmsg') { acc.localmsg = value.data; } return acc; }, {}); Array.prototype.reduce rebuildsearchresult Observable emit value API

47 V0 Promise V1 frompromise V2 Observable.merge Value V0 V1 V2 next value complete

48 const keyword$ = new Rx.Subject(); const onkeywordchange = function(keyword) { keyword$.next(keyword); }; Race Condition keyword$.switchmap((keyword) => { return Rx.Observable.merge( Rx.Observable.of({}), mainsearch(keyword) ).materialize(); }).subscribe((item) => { if (item.kind === 'N') { this.issearching = true; this.searchresult = item.value; } else if (item.kind === 'C') { this.issearching = false; } });

49 K0 K1 switchmap( return merge({}, mainsearch(keyword)) ) V00 V01 V10 V11 V12 V02 switchmap projected Observable Race Condition

50 Profile Profile -> Profile Cancel API Component API Cancel Rx.js Observable API API

51 Thanks Q&A allenm56

Decoupled Drupal with Angular

Decoupled Drupal with Angular Decoupled Drupal with Angular Agenda Introduction Short intro on Drupal What is decoupled and choosing the right architecture Introduction to Angular Setting up Angular development environment Demo Application

More information

Chapter 1 - Development Setup of Angular

Chapter 1 - Development Setup of Angular Chapter 1 - Development Setup of Angular Objectives Key objectives of this chapter Angular Files and Dependencies Node.js Node package manager (npm) package.json Semantic version numbers Installing Angular

More information

Full Stack boot camp

Full Stack boot camp Name Full Stack boot camp Duration (Hours) JavaScript Programming 56 Git 8 Front End Development Basics 24 Typescript 8 React Basics 40 E2E Testing 8 Build & Setup 8 Advanced JavaScript 48 NodeJS 24 Building

More information

Angular 2: What s new? Jonas Bandi, IvoryCode GmbH

Angular 2: What s new? Jonas Bandi, IvoryCode GmbH Angular 2: What s new? Jonas Bandi, IvoryCode GmbH Once upon a time the world was peacefully creating applications with AngularJS but change was lurking in the maze of a mailing list https://groups.google.com/forum/#!search/misko$20hevery$20may$2022$202013/polymer-dev/4rsyakmbtek/uyny3900wpij

More information

Introduction to TypeScript

Introduction to TypeScript AngularJS and TypeScript SPA Development, http://www.iproduct.org/ Introduction to TypeScript e-mail: tiliev@iproduct.org web: http://www.iproduct.org Oracle, Java and JavaScript are trademarks or registered

More information

Angular2. Bernhard Niedermayer. Software Development playing around with Angular2 since alpha.

Angular2. Bernhard Niedermayer. Software Development playing around with Angular2 since alpha. Catalysts GmbH Bernhard Niedermayer Software Development bernhard.niedermayer@catalysts.cc playing around with Angular2 since alpha.something Angular2 Catalysts GmbH Angular2 TypeScript 2 Languages how

More information

Advanced React JS + Redux Development

Advanced React JS + Redux Development Advanced React JS + Redux Development Course code: IJ - 27 Course domain: Software Engineering Number of modules: 1 Duration of the course: 40 astr. hours / 54 study 1 hours Sofia, 2016 Copyright 2003-2016

More information

Building Your own Widget with ArcGIS API for JavaScript

Building Your own Widget with ArcGIS API for JavaScript Building Your own Widget with ArcGIS API for JavaScript Matt Driscoll @driskull JC Franco @arfncode Agenda About Widgets Prerequisites Widget framework Theming DO IT! Tips & tricks About Widgets What?

More information

Frontend UI Training. Whats App :

Frontend UI Training. Whats App : Frontend UI Training Whats App : + 916 667 2961 trainer.subbu@gmail.com What Includes? 1. HTML 5 2. CSS 3 3. SASS 4. JavaScript 5. ES 6/7 6. jquery 7. Bootstrap 8. AJAX / JSON 9. Angular JS 1x 10. Node

More information

Front End. Presentation Layer. UI (User Interface) User <==> Data access layer

Front End. Presentation Layer. UI (User Interface) User <==> Data access layer Angular 2 S1ngS1ng Front End UI (User Interface) User Data access layer Presentation Layer Architecture Conventional VS SPA Angular 1 Framework! Framework! Framework! MVVM (MV*) Modulization Two-way

More information

Nick Senger & Jesse van den Kieboom

Nick Senger & Jesse van den Kieboom Using TypeScript with the ArcGIS API for JavaScript Nick Senger & Jesse van den Kieboom Live version of this presentation is available on: https://jkieboom.github.io/devsummit-palm-springs-2018/presentations/typescript-arcgis-js-api

More information

Setting up an Angular 4 MEAN Stack (Tutorial)

Setting up an Angular 4 MEAN Stack (Tutorial) Setting up an Angular 4 MEAN Stack (Tutorial) MEAN4 Stack, MongoDB, Express.js, Angular4, Node.js6.11.4 Installed https://coursetro.com/posts/code/84/setting-up-an-angular-4-mean-stack-(tutorial) Node.js

More information

Demystifying Angular 2. SPAs for the Web of Tomorrow

Demystifying Angular 2. SPAs for the Web of Tomorrow Demystifying Angular 2 SPAs for the Web of Tomorrow Philipp Tarasiewicz, JavaLand, 08.03.2016 Web Dev / Distributed Systems 15 yr. About Me Philipp Tarasiewicz Consultant / Trainer / Developer philipp.tarasiewicz@googlemail.com

More information

An Introduction to TypeScript. Personal Info

An Introduction to TypeScript. Personal Info An Introduction to TypeScript Jason Bock Practice Lead Magenic Level: Beginner/Intermediate Personal Info http://www.magenic.com http://www.jasonbock.net https://www.twitter.com/jasonbock https://www.github.com/jasonbock

More information

Angular from the Beginning

Angular from the Beginning from the Beginning EMEA PUG Challenge, Prague Introduction Robert Prediger 25 years experience in PROGRESS 17 years experience in web development 8 years experience in Node.js robert.prediger@web4biz.de

More information

React(.js) the Domino Way High-Performance Client for Domino. Knut Herrmann

React(.js) the Domino Way High-Performance Client for Domino. Knut Herrmann React(.js) the Domino Way High-Performance Client for Domino Knut Herrmann CollabSphere 2018 Sponsors Knut Herrmann Senior Software Architect Leonso GmbH Notes Domino developer since version 2 Web application

More information

IN4MATX 133: User Interface Software

IN4MATX 133: User Interface Software IN4MATX 133: User Interface Software Lecture 13: Components in Angular Professor Daniel A. Epstein TA Jamshir Goorabian TA Simion Padurean 1 Notes Important: please put your name/email/id in the readme.txt

More information

Ten interesting features of Google s Angular Project

Ten interesting features of Google s Angular Project Ten interesting features of Google s Angular Project - 1 Ten interesting features of Google s Angular Project Copyright Clipcode Ltd 2018 All rights reserved Ten interesting features of Google s Angular

More information

Lab 1 - Introduction to Angular

Lab 1 - Introduction to Angular Lab 1 - Introduction to Angular In this lab we will build a Hello World style Angular component. The key focus is to learn how to install all the required code and use them from the browser. We wont get

More information

By the end of this Angular 6 tutorial, you'll learn by building a real world example application:

By the end of this Angular 6 tutorial, you'll learn by building a real world example application: Throughout this Angular 6 tutorial, we'll learn to build a full-stack example web application with Angular 6, the latest version of Angular The most popular framework/platform for building mobile and desktop

More information

NODE.JS MOCK TEST NODE.JS MOCK TEST I

NODE.JS MOCK TEST NODE.JS MOCK TEST I http://www.tutorialspoint.com NODE.JS MOCK TEST Copyright tutorialspoint.com This section presents you various set of Mock Tests related to Node.js Framework. You can download these sample mock tests at

More information

High Performance Single Page Application with Vue.js

High Performance Single Page Application with Vue.js High Performance Single Page Application with Vue.js Premise Static HTML and simple web-pages are already a history now. The novel web applications are advanced and do a lots of functionalities. Also,

More information

IN4MATX 133: User Interface Software

IN4MATX 133: User Interface Software IN4MATX 133: User Interface Software Lecture 7: Package Management & TypeScript Professor Daniel A. Epstein TA Jamshir Goorabian TA Simion Padurean 1 A1 Make sure you Push as well as Committing! Need to

More information

Advance Mobile& Web Application development using Angular and Native Script

Advance Mobile& Web Application development using Angular and Native Script Advance Mobile& Web Application development using Angular and Native Script Objective:- As the popularity of Node.js continues to grow each day, it is highly likely that you will use it when you are building

More information

AngulAr 4 Pocket Primer

AngulAr 4 Pocket Primer Angular 4 Pocket Primer LICENSE, DISCLAIMER OF LIABILITY, AND LIMITED WARRANTY By purchasing or using this book and disc (the Work ), you agree that this license grants permission to use the contents contained

More information

Mobile App Development

Mobile App Development Mobile App Development NativeScript e Angular 2+ filippo Filippo Matteo Riggio CTO @ Sviluppatore Full-Stack e Mobile Scenario Scenario Nativo WebView-ed Soluzioni cross - from web to native Swift - Objective

More information

The magic behind. Angular 2+

The magic behind. Angular 2+ The magic behind Angular 2+ Agnès Crépet @agnes_crepet Cédric Exbrayat @cedric_exbrayat @NinjaSquad Lyon, France - April 20-21 Learn some french! Bonjour! Announced in March 2014 Released in September

More information

Extending VMware vcloud Director User Interface Using Portal Extensibility Ticketing Example

Extending VMware vcloud Director User Interface Using Portal Extensibility Ticketing Example VMware vcloud Architecture Toolkit for Service Providers Extending VMware vcloud Director User Interface Using Portal Extensibility Ticketing Example Version 2.9 April 2018 Kelby Valenti 2018 VMware, Inc.

More information

Web Development for Dinosaurs An Introduction to Modern Web Development

Web Development for Dinosaurs An Introduction to Modern Web Development Web Development for Dinosaurs An Introduction to Modern Web Development 1 / 53 Who Am I? John Cleaver Development Team Lead at Factivity, Inc. An Introduction to Modern Web Development - PUG Challenge

More information

React + React Native. Based on material by Danilo Filgueira

React + React Native. Based on material by Danilo Filgueira React + React Native Based on material by Danilo Filgueira Prerequisites JS and ES6 HTML and CSS NPM/YARN and NODE React A Javascript library for creating reactive and composable UI components Whenever

More information

Course Outline. ProTech Professional Technical Services, Inc. Comprehensive Angular 7 Course Summary. Description

Course Outline. ProTech Professional Technical Services, Inc. Comprehensive Angular 7 Course Summary. Description Course Summary Description Use Angular 7 to easily build web applications that interacts with the user by dynamically rewriting the current page rather than loading entire new pages from a server. Learn

More information

Before proceeding with this tutorial, you should have a basic understanding of HTML, CSS, JavaScript, TypeScript, and Document Object Model (DOM).

Before proceeding with this tutorial, you should have a basic understanding of HTML, CSS, JavaScript, TypeScript, and Document Object Model (DOM). i About the Tutorial Angular 4 is a JavaScript framework for building web applications and apps in JavaScript, html, and TypeScript, which is a superset of JavaScript. Angular provides built-in features

More information

AngularJS Fundamentals

AngularJS Fundamentals AngularJS Fundamentals by Jeremy Zerr Blog: http://www.jeremyzerr.com LinkedIn: http://www.linkedin.com/in/jrzerr Twitter: http://www.twitter.com/jrzerr What is AngularJS Open Source Javascript MVC/MVVM

More information

Stencil: The Time for Vanilla Web Components has Arrived

Stencil: The Time for Vanilla Web Components has Arrived Stencil: The Time for Vanilla Web Components has Arrived Gil Fink sparxys CEO @gilfink / www.gilfink.net Typical Application Web Page Design From Design to Implementation Session List Day tabs Component

More information

#06 RPC & REST CLIENT/SERVER COMPUTING AND WEB TECHNOLOGIES

#06 RPC & REST CLIENT/SERVER COMPUTING AND WEB TECHNOLOGIES 1 Introduction 2 Remote Procedure Call (RPC) is a high-level model for #06 RPC & REST CLIENT/SERVER COMPUTING AND WEB TECHNOLOGIES client-sever communication. It provides the programmers with a familiar

More information

C++ Developer Survey "Lite": C++ and Cloud

C++ Developer Survey Lite: C++ and Cloud Q1 This month we focus on how C++ is used, or could be better for use, in cloud-related applications and environments. In what (if any) kinds of cloud computing-related workloads do you use C++? (select

More information

Sample Copy. Not For Distribution.

Sample Copy. Not For Distribution. Angular 2 Interview Questions and Answers With Typescript and Angular 4 i Publishing-in-support-of, EDUCREATION PUBLISHING RZ 94, Sector - 6, Dwarka, New Delhi - 110075 Shubham Vihar, Mangla, Bilaspur,

More information

One language to rule them all: TypeScript. Gil Fink CEO and Senior Consultant, sparxys

One language to rule them all: TypeScript. Gil Fink CEO and Senior Consultant, sparxys One language to rule them all: TypeScript Gil Fink CEO and Senior Consultant, sparxys About Me sparxys CEO and Senior consultant Microsoft MVP in the last 8 years Pro Single Page Application Development

More information

JavaScript: the language of browser interactions. Claudia Hauff TI1506: Web and Database Technology

JavaScript: the language of browser interactions. Claudia Hauff TI1506: Web and Database Technology JavaScript: the language of browser interactions Claudia Hauff TI1506: Web and Database Technology ti1506-ewi@tudelft.nl Densest Web lecture of this course. Coding takes time. Be friendly with Codecademy

More information

Cross-Platform Mobile-Entwicklung mit dem Ionic Framework

Cross-Platform Mobile-Entwicklung mit dem Ionic Framework Cross-Platform Mobile-Entwicklung mit dem Ionic Framework Robin Nunkesser 6. Februar 2018 Grundlagen Hintergrund 2013 von Drifty entwickelt Setzt auf Cordova und AngularJS auf Versionssprung von ionic

More information

.., 2017. 09.03.01,.....,,,,,..,.., 2017 .................................... 4 1......... 6 2.......................... 8 2.1................... 8 2.2................... 9 2.2.1...........................

More information

TechWatch Report Javascript Libraries and Frameworks

TechWatch Report Javascript Libraries and Frameworks TechWatch Report Javascript Libraries and Frameworks Date: February 2018 Created By: Prateek Vijan, Sanjeevan Biswas Contributors: Vrushali Malushte, Sridatta Pasumarthy, Mayank Kansal, Arindam Nayak Contents

More information

ANGULAR 2.X,4.X + TYPESRCIPT by Sindhu

ANGULAR 2.X,4.X + TYPESRCIPT by Sindhu ANGULAR 2.X,4.X + TYPESRCIPT by Sindhu GETTING STARTED WITH TYPESCRIPT Installing TypeScript Compiling the code Building a simple demo. UNDERSTANDING CLASSES Building a class Adding properties Demo of

More information

TypeScript coding JavaScript without the pain

TypeScript coding JavaScript without the pain TypeScript coding JavaScript without the pain @Sander_Mak Luminis Technologies INTRO @Sander_Mak: Senior Software Engineer at Author: Dutch Java Magazine blog @ branchandbound.net Speaker: AGENDA Why TypeScript?

More information

"Charting the Course... Comprehensive Angular 6 Course Summary

Charting the Course... Comprehensive Angular 6 Course Summary Course Summary Description Build applications with the user experience of a desktop application and the ease of deployment of a web application using Angular. Start from scratch by learning the JavaScript

More information

Angular 4 Syllabus. Module 1: Introduction. Module 2: AngularJS to Angular 4. Module 3: Introduction to Typescript

Angular 4 Syllabus. Module 1: Introduction. Module 2: AngularJS to Angular 4. Module 3: Introduction to Typescript Angular 4 Syllabus Module 1: Introduction Course Objectives Course Outline What is Angular Why use Angular Module 2: AngularJS to Angular 4 What s Changed Semantic Versioning Module 3: Introduction to

More information

D3 + Angular JS = Visual Awesomesauce

D3 + Angular JS = Visual Awesomesauce D3 + Angular JS = Visual Awesomesauce John Niedzwiecki Lead UI Developer - ThreatTrack @RHGeek on Twitter and GitHub In addition to turning caffeine into code... disney geek, runner, gamer, father of two

More information

Getting started with Tabris.js Tutorial Ebook

Getting started with Tabris.js Tutorial Ebook Getting started with Tabris.js 2.3.0 Tutorial Ebook Table of contents Introduction...3 1 Get started...4 2 Tabris.js in action...5 2.1 Try the examples...5 2.2 Play with the examples...7 2.3 Write your

More information

INTRODUCTION TO IONIC 2

INTRODUCTION TO IONIC 2 LECTURE 7 INTRODUCTION TO IONIC 2 DANIEL RYS JAN VÁCLAVÍK OVERVIEW Create new Ionic2 application Why Ionic2 Project structure Features 2/95 INSTALL IONIC 2 & CREATE NEW APPLICATION $ npm install -g ionic@beta

More information

Collaborate. w/ ArcGIS Runtime SDK for Android

Collaborate. w/ ArcGIS Runtime SDK for Android Collaborate w/ ArcGIS Runtime SDK for Android Presenters Dan O Neill - @doneill https://github.com/doneill Shelly Gill - @shellygill https://github.com/shellygill Introduction to Esri Open Source Collaboration

More information

Arjen de Blok. Senior Technical Consultant bij ICT Groep ( sinds 1995 Programmeren sinds 1990 Technologiën. Links

Arjen de Blok. Senior Technical Consultant bij ICT Groep (  sinds 1995 Programmeren sinds 1990 Technologiën. Links Arjen de Blok Senior Technical Consultant bij ICT Groep (www.ict.eu) sinds 1995 Programmeren sinds 1990 Technologiën Links Visual C++ met Microsoft Foundation Classes.NET WinForms & WPF Silverlight ASP.NET

More information

From Browser Wars to Framework Wars How to survive the next generation of Web development battles. Dr. Michael Evans Codernetic Ltd untangled.

From Browser Wars to Framework Wars How to survive the next generation of Web development battles. Dr. Michael Evans Codernetic Ltd untangled. From Browser Wars to Framework Wars How to survive the next generation of Web development battles Dr. Michael Evans Codernetic Ltd untangled.io Who Am I?! Worked with Web technologies since 1996 PhD, Patent

More information

Quick Desktop Application Development Using Electron

Quick Desktop Application Development Using Electron Quick Desktop Application Development Using Electron Copyright Blurb All rights reserved. No part of this book may be reproduced in any form or by any electronic or mechanical means including information

More information

Node.js. Node.js Overview. CS144: Web Applications

Node.js. Node.js Overview. CS144: Web Applications Node.js Node.js Overview JavaScript runtime environment based on Chrome V8 JavaScript engine Allows JavaScript to run on any computer JavaScript everywhere! On browsers and servers! Intended to run directly

More information

Advanced Angular & Angular 6 Preview. Bibhas Bhattacharya

Advanced Angular & Angular 6 Preview. Bibhas Bhattacharya Advanced Angular & Angular 6 Preview Bibhas Bhattacharya Agenda Lazy loading modules Using Bootstrap with Angular Publish/subscribe with the RxJS Subject API What's new in Angular 6 Lazy Loading Modules

More information

One Framework. Angular

One Framework. Angular One Framework. Angular Web 2.0 Marc Dangschat Introduction AngularJS (1) released in 2009 Angular (2) released October Short: ng Framework TypeScript, JavaScript, Dart MIT license

More information

JavaScript Fundamentals_

JavaScript Fundamentals_ JavaScript Fundamentals_ HackerYou Course Syllabus CLASS 1 Intro to JavaScript Welcome to JavaScript Fundamentals! Today we ll go over what programming languages are, JavaScript syntax, variables, and

More information

DECOUPLING PATTERNS, SERVICES AND CREATING AN ENTERPRISE LEVEL EDITORIAL EXPERIENCE

DECOUPLING PATTERNS, SERVICES AND CREATING AN ENTERPRISE LEVEL EDITORIAL EXPERIENCE DECOUPLING PATTERNS, SERVICES AND CREATING AN ENTERPRISE LEVEL EDITORIAL EXPERIENCE Who we are and Why we are here? Saurabh Chugh Started Drupal journey in 2010 with Drupal 6, long journey with Drupal

More information

Extending Blue Ocean Keith Zantow

Extending Blue Ocean Keith Zantow Extending Blue Ocean Keith Zantow About Keith Senior Software Engineer at CloudBees, Inc. Jenkins & Blue Ocean core contributor 15+ years full-stack development Github: kzantow Intended Audience Development

More information

webpack bundle inner structure and optimization Alexey Ivanov, Evil Martians

webpack bundle inner structure and optimization Alexey Ivanov, Evil Martians webpack bundle inner structure and optimization Alexey Ivanov, Evil Martians Evil Martians Evil Martians What I'm working on Problems Multiple versions of lodash or underscore. Problems Multiple versions

More information

Getting Started with ReactJS

Getting Started with ReactJS Getting Started with ReactJS By Juned Laliwala About this ReactJS e-book. Basic Understanding of ReactJS Concept of JSX Use of Refs and Keys Practical Demonstrations Animation in ReactJS @2016 Attune World

More information

A JavaScript Framework for Presentations and Animations on Computer Science

A JavaScript Framework for Presentations and Animations on Computer Science A JavaScript Framework for Presentations and Animations on Computer Science Laszlo Korte Bachelor Thesis Technical Aspects of Multimodal Systems Department of Informatics University of Hamburg 1 / 76 Outline

More information

CV Nr. 4698a2f0. Occupation area: IT areas. Category: Education. Job experience

CV Nr. 4698a2f0. Occupation area: IT areas. Category: Education. Job experience CV Nr. 4698a2f0 Male Occupation area: IT areas 27 Vilnius Category: PHP Education 0 Vilniaus university Computer Science, Bachelor degree Job experience 2017.06 - till now 1 y. 9 m.... (Company) Engineer

More information

Templates and Databinding. SWE 432, Fall 2017 Design and Implementation of Software for the Web

Templates and Databinding. SWE 432, Fall 2017 Design and Implementation of Software for the Web Templates and Databinding SWE 432, Fall 2017 Design and Implementation of Software for the Web Today What are templates? What are frontend components? How can I use these with React? 2 What s wrong with

More information

Integrating Angular with ASP.NET Core RESTful Services. Dan Wahlin

Integrating Angular with ASP.NET Core RESTful Services. Dan Wahlin Integrating Angular with ASP.NET Core RESTful Services Dan Wahlin Dan Wahlin https://blog.codewithdan.com @DanWahlin Get the Content: http://codewithdan.me/angular-aspnet-core Agenda The Big Picture Creating

More information

Lecture 8. ReactJS 1 / 24

Lecture 8. ReactJS 1 / 24 Lecture 8 ReactJS 1 / 24 Agenda 1. JSX 2. React 3. Redux 2 / 24 JSX 3 / 24 JavaScript + HTML = JSX JSX is a language extension that allows you to write HTML directly into your JavaScript files. Behind

More information

WebStorm, intelligent IDE for JavaScript development

WebStorm, intelligent IDE for JavaScript development , intelligent IDE for JavaScript development JetBrains is a powerful Integrated development environment (IDE) built specifically for JavaScript developers. How does match up against competing tools? Product

More information

INF5750. Introduction to JavaScript and Node.js

INF5750. Introduction to JavaScript and Node.js INF5750 Introduction to JavaScript and Node.js Outline Introduction to JavaScript Language basics Introduction to Node.js Tips and tools for working with JS and Node.js What is JavaScript? Built as scripting

More information

Vue.js Developer friendly, Fast and Versatile

Vue.js Developer friendly, Fast and Versatile .consulting.solutions.partnership Vue.js Developer friendly, Fast and Versatile Alexander Schwartz, Principal IT Consultant Javaland 2018 Brühl (DE) March 2018 Vue.js developer friendly, fast and versatile

More information

Angular 2 and Hexo. Static Meets Dynamic For the Best of Both Worlds! Copyright 2016 Code Career Academy

Angular 2 and Hexo. Static Meets Dynamic For the Best of Both Worlds! Copyright 2016 Code Career Academy Angular 2 and Hexo Static Meets Dynamic For the Best of Both Worlds! Who am I? Jeff Ammons Microsoft MVP Pluralsight Author CEO/Chief Instructor at Code Career Academy 25 Years Professional Experience

More information

UNSTOPPABLE HTML5 / A WHITE PAPER BY COLIN EBERHARDT

UNSTOPPABLE HTML5 / A WHITE PAPER BY COLIN EBERHARDT 2016 / A WHITE PAPER BY COLIN EBERHARDT EXECUTIVE SUMMARY It was only five years ago that we were debating which technology - HTML5, Silverlight or Flex, should be the preferred option for developing enterprise

More information

Database Systems. Shan-Hung Wu CS, NTHU

Database Systems. Shan-Hung Wu CS, NTHU Database Systems Shan-Hung Wu CS, NTHU Outline Why DBMS? Data modeling SQL queries WeatherMood + DBMS Managing big data Text indexing Pagination Deployment 2 Outline Why DBMS? Data modeling SQL queries

More information

CSP IN JAVASCRIPT.

CSP IN JAVASCRIPT. CSP IN JAVASCRIPT Page 1 of 31 VINCENZO CHIANESE BUGS INTRODUCER AT APIARY https://github.com/xvincentx @D3DVincent https://vncz.js.org Page 2 of 31 COMMUNICATING SEQUENTIAL PROCESSES Page 3 of 31 THE

More information

Deep Dive on How ArcGIS API for JavaScript Widgets Were Built

Deep Dive on How ArcGIS API for JavaScript Widgets Were Built Deep Dive on How ArcGIS API for JavaScript Widgets Were Built Matt Driscoll @driskull JC Franco @arfncode Agenda Prerequisites How we got here Our development lifecycle Widget development tips Tools we

More information

International Research Journal of Engineering and Technology (IRJET) e-issn: Volume: 05 Issue: 06 June p-issn:

International Research Journal of Engineering and Technology (IRJET) e-issn: Volume: 05 Issue: 06 June p-issn: Polymer JavaScript Shabnam Shaikh 1, Lavina Jadhav 2 1Student, Dept. of Institute of Computer Science, MET College, Maharashtra, India 2Professor, Dept. of Institute of Computer Science, MET College, Maharashtra,

More information

Webpack 2 The last bundler you would need in Vijay Dharap, Principal Architect, Infosys

Webpack 2 The last bundler you would need in Vijay Dharap, Principal Architect, Infosys Webpack 2 The last bundler you would need in 2017 Vijay Dharap, Principal Architect, Infosys Speaker Bio 14+ Years of experience Principal Architect in Infosys Passionate about delightful UX Open Source

More information

React Not Just Hype!

React Not Just Hype! React Not Just Hype! @mjackson Thriller. @ReactJSTraining reactjs-training.com rackt github.com/rackt - 14 members - 5 teams (owners, routing, redux, a11y, docs) - Not exclusive! This is not a core team.

More information

Angular 2 Programming

Angular 2 Programming Course Overview Angular 2 is the next iteration of the AngularJS framework. It promises better performance. It uses TypeScript programming language for type safe programming. Overall you should see better

More information

Welcome. Quick Introductions

Welcome. Quick Introductions AEK Introduction Welcome Quick Introductions "The AEK"? Application Extension Kit Technique for delivering cross-platform application screens via a webview A development framework that provides a responsive

More information

What is Node.js? Tim Davis Director, The Turtle Partnership Ltd

What is Node.js? Tim Davis Director, The Turtle Partnership Ltd What is Node.js? Tim Davis Director, The Turtle Partnership Ltd About me Co-founder of The Turtle Partnership Working with Notes and Domino for over 20 years Working with JavaScript technologies and frameworks

More information

Hands on Angular Framework

Hands on Angular Framework FACULTY OF AUTOMATION AND COMPUTER SCIENCE COMPUTER SCIENCE DEPARTMENT Hands on Angular Framework Ioan Salomie Tudor Cioara Ionut Anghel Marcel Antal Teodor Petrican Claudia Daniela Pop Dorin Moldovan

More information

5th April Installation Manual. Department of Computing and Networking Software Development Degree

5th April Installation Manual. Department of Computing and Networking Software Development Degree 5th April 2017 Installation Manual Department of Computing and Networking Software Development Degree Project name: Student: Student Number: Supervisor: MaaP (Message as a Platform) Chihabeddine Ahmed

More information

International Research Journal of Engineering and Technology (IRJET) e-issn: Volume: 05 Issue: 05 May p-issn:

International Research Journal of Engineering and Technology (IRJET) e-issn: Volume: 05 Issue: 05 May p-issn: IONIC FRAMEWORK Priyanka Chaudhary Student, Department of computer science, ABESIT, Ghaziabad ---------------------------------------------------------------------***---------------------------------------------------------------------

More information

Introduction to the SharePoint Framework Bob German Principal Architect - BlueMetal. An Insight company

Introduction to the SharePoint Framework Bob German Principal Architect - BlueMetal. An Insight company Introduction to the SharePoint Framework Bob German Principal Architect - BlueMetal An Insight company Bob German Bob is a Principal Architect at BlueMetal, where he leads Office 365 and SharePoint development

More information

Jeff Barczewski. US Air Force Married. Catholic. RGA Father. Consultant Aerospace Engineer. 27 years as professional developer

Jeff Barczewski. US Air Force Married. Catholic. RGA Father. Consultant Aerospace Engineer. 27 years as professional developer Jeff Barczewski Catholic US Air Force Married RGA Father Consultant Aerospace Engineer Elsevier 27 years as professional developer MasterCard (ApplePay / MDES) Founded CodeWinds Training CodeWinds Training

More information

Extra Notes - Data Stores & APIs - using MongoDB and native driver

Extra Notes - Data Stores & APIs - using MongoDB and native driver Extra Notes - Data Stores & APIs - using MongoDB and native driver Dr Nick Hayward Contents intro install MongoDB running MongoDB using MongoDB Robo 3T basic intro to NoSQL connect to MongoDB from Node.js

More information

"Charting the Course... Comprehensive Angular. Course Summary

Charting the Course... Comprehensive Angular. Course Summary Description Course Summary Angular is a powerful client-side JavaScript framework from Google that supports simple, maintainable, responsive, and modular applications. It uses modern web platform capabilities

More information

Q1 Where do you use C++? (select all that apply)

Q1 Where do you use C++? (select all that apply) Q1 Where do you use C++? (select all that apply) Answered: 3,280 Skipped: 6 At work At school In personal time, for ho... 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% ANSWER CHOICES At work At school In

More information

Microservices with Node.js

Microservices with Node.js Microservices with Node.js Objectives In this module we will discuss: Core Node.js concepts Node Package Manager (NPM) The Express Node.js package The MEAN stack 1.1 What is Node.js? Node.js [ https://nodejs.org/

More information

Developing Applications with Alfresco s Unified REST APIs. Will Abson, Alfresco

Developing Applications with Alfresco s Unified REST APIs. Will Abson, Alfresco Developing Applications with Alfresco s Unified REST APIs Will Abson, Alfresco Alfresco JavaScript API A set of JavaScript libraries to allow easy access to Alfresco s REST APIs Part of the Application

More information

Think like an Elm developer

Think like an Elm developer Think like an Elm developer Piper Niehaus Denver, CO, USA Backpacker / skier Nonprofit board chair Software Engineer at Pivotal Pivotal Tracker team Elm in Production since 2016 Internal Products and Services

More information

Course 1: Microsoft Professional Orientation: Front-End Web Developer

Course 1: Microsoft Professional Orientation: Front-End Web Developer Course 1: Microsoft Professional Orientation: Front-End Web Developer This orientation course is the first course in the Web Front-End Developer, Microsoft Professional Program curriculum. The orientation

More information

ECMAScript 2015 and beyond The Future of JavaScript is Now!

ECMAScript 2015 and beyond The Future of JavaScript is Now! ECMAScript 2015 and beyond The Future of JavaScript is Now! Tom Van Cutsem JS.BE Meetup @tvcutsem Talk Outline Part I: 20 years of JavaScript (or, the long road to ECMAScript 6) Part II: a brief tour of

More information

JavaScript CS 4640 Programming Languages for Web Applications

JavaScript CS 4640 Programming Languages for Web Applications JavaScript CS 4640 Programming Languages for Web Applications 1 How HTML, CSS, and JS Fit Together {css} javascript() Content layer The HTML gives the page structure and adds semantics Presentation

More information

JavaScript Rd2. -Kyle Simpson, You Don t Know JS

JavaScript Rd2. -Kyle Simpson, You Don t Know JS JavaScript Rd2 [JavaScript] is simultaneously a simple, easy-to-use language that has broad appeal, and a complex and nuanced collection of language mechanics which without careful study will elude the

More information

Angular 2 and TypeScript Web Application Development

Angular 2 and TypeScript Web Application Development Angular 2 and TypeScript Web Application Development Course code: IJ -19 Course domain: Software Engineering Number of modules: 1 Duration of the course: 40 study 1 hours Sofia, 2016 Copyright 2003-2016

More information

CS 130(0) JavaScript Lab

CS 130(0) JavaScript Lab CS 130(0) JavaScript Lab Lab Setup The presentation slides can be found at the following link: Presentation Slides The only software that you ll need in order to complete this lab is access to the Google

More information

Presented by. Dheepa Iyer Managing Consultant. Commissioned for. Reston SharePoint User Group. SharePoint Framework. May 2017

Presented by. Dheepa Iyer Managing Consultant. Commissioned for. Reston SharePoint User Group. SharePoint Framework. May 2017 Presented by Dheepa Iyer Managing Consultant Commissioned for Reston SharePoint User Group SharePoint Framework May 2017 About Me Dheepa Iyer Managing Consultant, Washington DC Metro, XGILITY Personal

More information

55249: Developing with the SharePoint Framework Duration: 05 days

55249: Developing with the SharePoint Framework Duration: 05 days Let s Reach For Excellence! TAN DUC INFORMATION TECHNOLOGY SCHOOL JSC Address: 103 Pasteur, Dist.1, HCMC Tel: 08 38245819; 38239761 Email: traincert@tdt-tanduc.com Website: www.tdt-tanduc.com; www.tanducits.com

More information

Sweet Themes Are Made of This: The Magento PWA Studio

Sweet Themes Are Made of This: The Magento PWA Studio Sweet Themes Are Made of This: The Magento PWA Studio James Zetlen Frontend Architect Magento Commerce @JamesZetlen A suite of tools, standards, and top-quality ingredients for building and sharing Progressive

More information