REDUX: FP FOR THE WEB

Size: px
Start display at page:

Download "REDUX: FP FOR THE WEB"

Transcription

1 REDUX: FP FOR THE WEB Pratik Patel

2 ARCHITECTURAL LIB ONE WAY DATA FLOW USED WITH REACT (can also be used with ANGULAR)

3 WE WILL DISCUSS REDUX + REACT

4 ONE WAY DATA FLOW

5 ARCHITECTURAL PATTERN FLUX

6

7 NO DATA BINDING

8 REFLUX, FLUMMOX, ALT, etc FLUX IMPLEMENTATIONS

9 REDUX IS A FLUX IMPLEMENTATION

10 STORES ACTIONS REDUCERS

11 ACTION REDUCER NEW STATE

12 REDUX FLOW DIAGRAM

13

14 STATE TREE READ ONLY BASED ON PURE FUNCTIONS

15 begins by thinking about application state data structure Designing a Redux app

16 application state is all stored in one single tree structure

17 PREVIOUS STATE + ACTION REDUCER NEW STATE

18 REDUCER TRANSFORMS PREVIOUS STATE TO NEW STATE

19

20 STORES

21 stores the state of your application over time REDUX STORES

22 receive actions that evolve the state from one version to the next REDUX STORES

23 CENTRAL POINT O F THE APP REDUX STORES

24

25 // here s where we )e the reducers to the store // and also set the ini)al state const store = createstore(rootreducer, ini)alstate)

26 ACTIONS

27 LAYER OF INDIRECTION REDUX ACTIONS

28 simple data structure that describes a change that should occur in your app state REDUX ACTIONS

29 description of a function call packaged into a little object REDUX ACTIONS

30

31 export func)on addtodo(text) { } return { type: types.add_todo, text }

32 REDUCERS

33 reducer should delegate to one of the core functions based on the type of the action REDUX REDUCER

34 main reducer function only hands parts of the state to lower-level reducer functions REDUX ACTIONS

35

36 case ADD_TODO: return [ { id: state.reduce((maxid, todo) => Math.max(todo.id, maxid), -1) + 1, completed: false, text: ac)on.text },...state ]

37 WIRING

38 MUST CONNECT the REACT VIEW, STORE, AND REDUCER REDUX CONNECT

39 func)on mapstatetoprops(state) { return { todos: state.todos } } func)on mapdispatchtoprops(dispatch) { return { ac)ons: bindac)oncreators(todoac)ons, dispatch) } }

40 export default connect( mapstatetoprops, mapdispatchtoprops )(App)

41 The STATE TREE MAPS TO REACT COMPONENT PROPS STATE -> PROPS

42 STATE TREE MIRRORS COMPONENT TREE MIRRORED TREES

43 ACTIONS AND DATA PASSED AS PROPS PA R EN T-C H I LD

44

45 class App extends Component { render() { const { todos, ac)ons } = this.props return ( <div> <Header addtodo={ac)ons.addtodo} /> <MainSec)on todos={todos} ac)ons={ac)ons} /> </div> ) }

46 const store = configurestore() render( <Provider store={store}> <App /> </Provider>, document.getelementbyid('root') )

47 ACTIONS PROVIDER AS PROPS REACT STATE AS PROPS ROOT COMP

48 WA L KT H R O U G H

49 // VIEW REQUESTS ACTION <bu_on classname="destroy" onclick={() => deletetodo(todo.id)} />

50 ACTION IS DISPATCHED automatically (due to bindactioncreators) DISPATCH

51 STORE RECEIVES ACTION, sends current state and action to ROOT reducer STORE

52 // ACTION defini)on export func)on deletetodo(id) { return { type: types.delete_todo, id } }

53 // REDUCER does some work to manipulate state tree case DELETE_TODO: return state.filter(todo => todo.id!== ac)on.id )

54 root Reducer constructs final new state tree, returns it to the store REDUCER -> STORE

55 REPLACES THE OLD STATE TREE WITH THE NEW ONE FROM REDUCER STORE

56 STORE tells view layer binding there is new state STORE -> VIEW

57 view layer binding GETS THE NEW STATE FROM STORE VIEW <- STORE

58 view layer binding triggers a re-render with new state VIEW -> RENDER

59 WHERE S THE FUNCTIONAL PROGRAMMING PART?

60 STATE TREE IS NEVER MANIPULATED - new tree is always created from old IMMUTABLE DATASTRUCTS

61 NO SIDE-EFFECTS PURE FUNCTIONS

62 USE OPERATIONS LIKE MAP, REDUCE, FILTER FP STYLE

63 WHY IS THIS BETTER?

64 EASIER TO understand COMPLEXITY EASIER TO MANAGE EASIER TO TEST

65 WHAT DIDN T WE COVER?

66 TESTING SMART Vs DUMB COMPONENTS SUB REDUCERS

67 THANK YOU References:

React & Redux in Hulu. (Morgan Cheng)

React & Redux in Hulu. (Morgan Cheng) React & Redux in Hulu (Morgan Cheng) About Me @morgancheng About Hulu Challenges System Complexity Legacy code in jquery & Backbone UI non-predictable Lack of component isolation Performance Bottleneck

More information

Migrating from Flux to Redux

Migrating from Flux to Redux Migrating from Flux to Redux why and how Boris Nadion boris@astrails.com @borisnadion astrails awesome web apps since 2005 flux? redux? Apr-2015 backbone and marionette React - breath of fresh air best

More information

React. SWE 432, Fall Web Application Development

React. SWE 432, Fall Web Application Development React SWE 432, Fall 2018 Web Application Development Review: What is state? All internal component data that, when changed, should trigger UI update Stored as single JSON object this.state What isn t state?

More information

React Loadable: Code Splitting with Server Side Rendering

React Loadable: Code Splitting with Server Side Rendering React Loadable: Code Splitting with Server Side Rendering About me Former Senior Frontend Developer at Oppex Tech Lead at Toughbyte Ltd React github.com/northerneyes medium.com/@northerneyes twitter.com/nordfinn

More information

React tips. while building facebook-scale application

React tips. while building facebook-scale application React tips while building facebook-scale application ShihChi Huang Container Component Container Component Flux ReduceStore Container Component Flux ReduceStore Functional * what is Container Component

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

About the Tutorial. Audience. Prerequisites. Copyright & Disclaimer. ReactJS

About the Tutorial. Audience. Prerequisites. Copyright & Disclaimer. ReactJS About the Tutorial React is a front-end library developed by Facebook. It is used for handling the view layer for web and mobile apps. ReactJS allows us to create reusable UI components. It is currently

More information

Xtern BOOTCAMP. Week 2 Day 1 May 22, 2017

Xtern BOOTCAMP. Week 2 Day 1 May 22, 2017 Xtern BOOTCAMP Week 2 Day 1 May 22, 2017 Intro to React What is React? A declarative, efficient, and flexible JavaScript library for building user interfaces. It encourages the creation of reusable UI

More information

React.js. a crash course. Jake Zimmerman January 29th, 2016

React.js. a crash course. Jake Zimmerman January 29th, 2016 React.js a crash course Jake Zimmerman January 29th, 2016 Key Features of React.js Easily express user interfaces Richly express the visual elements of a design, as well as the interactions users can

More information

THE PRAGMATIC INTRO TO REACT. Clayton Anderson thebhwgroup.com WEB AND MOBILE APP DEVELOPMENT AUSTIN, TX

THE PRAGMATIC INTRO TO REACT. Clayton Anderson thebhwgroup.com WEB AND MOBILE APP DEVELOPMENT AUSTIN, TX THE PRAGMATIC INTRO TO REACT Clayton Anderson thebhwgroup.com WEB AND MOBILE APP DEVELOPMENT AUSTIN, TX REACT "A JavaScript library for building user interfaces" But first... HOW WE GOT HERE OR: A BRIEF

More information

Unit Testing in Javascript

Unit Testing in Javascript Unit Testing in Javascript AGENDA Intro to testing Unit testing Javascript tools React stack examples Coverage WHY? WRITE REFACTOR DOCUMENT CHANGE UNIT TESTING E2E INTEGRATION UNIT WHAT TO TEST Behavior

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

Frontend Frameworks Part 2. SWE 432, Fall 2017 Design and Implementation of Software for the Web

Frontend Frameworks Part 2. SWE 432, Fall 2017 Design and Implementation of Software for the Web Frontend Frameworks Part 2 SWE 432, Fall 2017 Design and Implementation of Software for the Web Today How to make React apps interactive Handling events, state, nesting components, reconciliation, controlled

More information

React. HTML code is made up of tags. In the example below, <head> is an opening tag and </head> is the matching closing tag.

React. HTML code is made up of tags. In the example below, <head> is an opening tag and </head> is the matching closing tag. Document Object Model (DOM) HTML code is made up of tags. In the example below, is an opening tag and is the matching closing tag. hello The tags have a tree-like

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

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

NgRx: Patterns and Techniques

NgRx: Patterns and Techniques NgRx: Patterns and Techniques Victor Savkin Co-Founder, Nrwl victor@ @victorsavkin NgRx: Patterns and Techniques Victor Savkin Co-Founder, Nrwl victor@ @victorsavkin Who is Victor? Before Now Googler on

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

FUNCTIONAL PROGRAMMING IN REACT.

FUNCTIONAL PROGRAMMING IN REACT. FUNCTIONAL PROGRAMMING IN REACT 工业聚 @Ctrip A WAY TO IMPROVE REACT SKILL Step 1: Learn some JavaScript Step 2: Learn some React Step 3: Learn some Haskell Step 4: Learn some Category Theory Step 5: Go to

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

Dynamic Web Development

Dynamic Web Development Dynamic Web Development Produced by David Drohan (ddrohan@wit.ie) Department of Computing & Mathematics Waterford Institute of Technology http://www.wit.ie MODULES, VIEWS, CONTROLLERS & ROUTES PART 2 Sec8on

More information

The tech behind a design system that scales

The tech behind a design system that scales The tech behind a design system that scales BrazilJS 2018 Monica Lent Lead Frontend Engineer - SumUp @monicalent Where we re going today What is a design system? What we built Our challenges & solutions

More information

Angular 4 Training Course Content

Angular 4 Training Course Content CHAPTER 1: INTRODUCTION TO ANGULAR 4 Angular 4 Training Course Content What is Angular 4? Central Features of the Angular Framework Why Angular? Scope and Goal of Angular Angular 4 vs Angular 2 vs. AngularJS

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

Say No to Complexity!

Say No to Complexity! Say No to Complexity! Mark Volkmann, Object Computing, Inc. Email: mark@ociweb.com Twitter: @mark_volkmann GitHub: mvolkmann Website: http://ociweb.com/mark https://github.com/mvolkmann/react-examples

More information

Say No to Complexity!

Say No to Complexity! Say No to Complexity! Mark Volkmann, Object Computing, Inc. Email: mark@ociweb.com Twitter: @mark_volkmann GitHub: mvolkmann Website: http://ociweb.com/mark http://ociweb.com/mark/midwestjs/react.pdf https://github.com/mvolkmann/react-examples

More information

Building an OpenLayers 3 map viewer with React

Building an OpenLayers 3 map viewer with React FOSS4G 2015 Building an OpenLayers 3 map viewer with React @PirminKalberer Sourcepole AG, Switzerland www.sourcepole.com About Sourcepole > QGIS > > > > Core dev. & Project Steering Commitee QGIS Server,

More information

Lesson: Web Programming(6) Omid Jafarinezhad Sharif University of Technology

Lesson: Web Programming(6) Omid Jafarinezhad Sharif University of Technology Lesson: Web Programming(6) Omid Jafarinezhad Sharif University of Technology React QUICK START QUICK START ADVANCED GUIDES React QUICK START Installation Hello World Introducing JSX Components and Props

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

Beyond JavaScript Frameworks: Writing Reliable Web Apps With. Elm. Erik Wendel DevDays Vilnius 2018

Beyond JavaScript Frameworks: Writing Reliable Web Apps With. Elm. Erik Wendel DevDays Vilnius 2018 Beyond JavaScript Frameworks: Writing Reliable Web Apps With Elm Erik Wendel DevDays Vilnius 2018 Who is Jonathan Ive? Erik Wendel JavaZone 2017 Elm is like Jonathan Ive would have designed a programming

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

Building with React Native. Simon Ayzman Mobile Apps Bloomberg

Building with React Native. Simon Ayzman Mobile Apps Bloomberg Building with React Native Simon Ayzman Mobile Apps Developer @ Bloomberg Run-Down 1. Introductions 5. Advanced Usage 2. What is RN? 6. Bloomberg Toolset 3. Pros/Cons 7. Awesome Links! 4. Basic Principles

More information

ANGULAR2 OVERVIEW. The Big Picture. Getting Started. Modules and Components. Declarative Template Syntax. Forms

ANGULAR2 OVERVIEW. The Big Picture. Getting Started. Modules and Components. Declarative Template Syntax. Forms FORMS IN ANGULAR Hello Cluj. I m Alex Lakatos, a Mozilla volunteer which helps other people volunteer. I want to talk to you today about Angular forms. What s a form you ask? A form creates a cohesive,

More information

Visual Web Next Design Concepts. Winston Prakash Feb 12, 2008

Visual Web Next Design Concepts. Winston Prakash Feb 12, 2008 Visual Web Next Design Concepts Winston Prakash Feb 12, 2008 Some Notations Used Page - A web page being designed such as HTML, JSP, JSF, PHP etc. Page definition Language (PDL) - Language that used to

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

React native. State An overview. See the tutorials at

React native. State An overview. See the tutorials at See the tutorials at https://facebook.github.io/react-native/docs/tutorial React native State An overview We ll at each of these in much more detail later. 1 App To build a static app just need Props Text

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

Redux with JavaFX. Michael Heinrichs & Manuel Mauky

Redux with JavaFX. Michael Heinrichs & Manuel Mauky Redux with JavaFX Michael Heinrichs & Manuel Mauky Michael Heinrichs Manuel Mauky Functional Reactive Programming Functional Programming Declarative Immutable data No side effects Avoid state changes Active

More information

HANNAH HOWARD #ABOUTME

HANNAH HOWARD #ABOUTME HANNAH HOWARD #ABOUTME Personal @techgirlwonder hannah@carbon Anecdote: I have ve.com a dog she/her REACTIVE PROGRAMMING: A Better Way to Write Frontend Applications 1. PROBLEM STATEMENT WHAT IS A COMPUTER

More information

Practical WPF. Learn by Working Professionals

Practical WPF. Learn by Working Professionals Practical WPF Learn by Working Professionals WPF Course Division Day 1 WPF prerequisite What is WPF WPF XAML System WPF trees WPF Properties Day 2 Common WPF Controls WPF Command System WPF Event System

More information

Trusted Types - W3C TPAC

Trusted Types - W3C TPAC Trusted Types - W3C TPAC Krzysztof Kotowicz, Google koto@google.com https://github.com/wicg/trusted-types Slides: https://tinyurl.com/tttpac DOM XSS DOM XSS is a growing, prevalent problem source sink

More information

Frontend Frameworks. SWE 432, Fall 2016 Design and Implementation of Software for the Web

Frontend Frameworks. SWE 432, Fall 2016 Design and Implementation of Software for the Web Frontend Frameworks SWE 432, Fall 2016 Design and Implementation of Software for the Web Today How do we build a single page app without dying? MVC/MVVM (AngularJS) For further reading: Book: Learning

More information

About me. Google Developer Expert Telerik Developer Expert Digital

About me. Google Developer Expert Telerik Developer Expert Digital NGRX THERE IS A REDUCER IN MY SOUP 1 About me Google Developer Expert Telerik Developer Expert Digital McKinsey @chris_noring 2 NGRX IS: An Angular implementation of Redux 3. 1 Why do we care about Redux?

More information

State Management and Redux. Shan-Hung Wu & DataLab CS, NTHU

State Management and Redux. Shan-Hung Wu & DataLab CS, NTHU State Management and Redux Shan-Hung Wu & DataLab CS, NTHU Outline WeatherMood: Posts Why Redux? Actions and Reducers Async Actions and Middleware Connecting with React Components Remarks 2 Outline WeatherMood:

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

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

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

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

Android User Interface Overview. Most of the material in this sec7on comes from h8p://developer.android.com/guide/topics/ui/index.

Android User Interface Overview. Most of the material in this sec7on comes from h8p://developer.android.com/guide/topics/ui/index. Android User Interface Overview Most of the material in this sec7on comes from h8p://developer.android.com/guide/topics/ui/index.html Android User Interface User interface built using views and viewgroup

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

Reagent. a ClojureScript interface to React. React Amsterdam Meetup 12 Feb. 2015

Reagent. a ClojureScript interface to React. React Amsterdam Meetup 12 Feb. 2015 Reagent a ClojureScript interface to React React Amsterdam Meetup 12 Feb. 2015 Michiel Borkent Twitter: @borkdude Email: michielborkent@gmail.com Clojure(Script) developer at Clojure since 2009 Former

More information

Web Software Model CS 4640 Programming Languages for Web Applications

Web Software Model CS 4640 Programming Languages for Web Applications Web Software Model CS 4640 Programming Languages for Web Applications [Robert W. Sebesta, Programming the World Wide Web Upsorn Praphamontripong, Web Mutation Testing ] 1 Web Applications User interactive

More information

The Foundation of C++: The C Subset An Overview of C p. 3 The Origins and History of C p. 4 C Is a Middle-Level Language p. 5 C Is a Structured

The Foundation of C++: The C Subset An Overview of C p. 3 The Origins and History of C p. 4 C Is a Middle-Level Language p. 5 C Is a Structured Introduction p. xxix The Foundation of C++: The C Subset An Overview of C p. 3 The Origins and History of C p. 4 C Is a Middle-Level Language p. 5 C Is a Structured Language p. 6 C Is a Programmer's Language

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

Web Programming and Design. MPT Junior Cycle Tutor: Tamara Demonstrators: Aaron, Marion, Hugh

Web Programming and Design. MPT Junior Cycle Tutor: Tamara Demonstrators: Aaron, Marion, Hugh Web Programming and Design MPT Junior Cycle Tutor: Tamara Demonstrators: Aaron, Marion, Hugh Plan for the next 5 weeks: Introduction to HTML tags, creating our template file Introduction to CSS and style

More information

React Native. Shan-Hung Wu & DataLab CS, NTHU

React Native. Shan-Hung Wu & DataLab CS, NTHU React Native Shan-Hung Wu & DataLab CS, NTHU Outline Hello React Native How it works? Components, props, and states Styling Event handling Images and icons Data access WeatherMoodMobile NativeBase ScrollView

More information

Interactor Tree. Edith Law & Mike Terry

Interactor Tree. Edith Law & Mike Terry Interactor Tree Edith Law & Mike Terry Today s YouTube Break https://www.youtube.com/watch?v=mqqo-iog4qw Routing Events to Widgets Say I click on the CS349 button, which produces a mouse event that is

More information

Styling React and. Ways to Style and Best Practices In. Component Based Systems

Styling React and. Ways to Style and Best Practices In. Component Based Systems Styling React and Component Based Systems Ways to Style and Best Practices In Component Based Systems Two CSS properties walk into a bar. A barstool in an entirely different bar falls over. 4 Ways to

More information

How to write good, composable and pure components in

How to write good, composable and pure components in How to write good, composable and pure components in Jacek Tomaszewski Fullstack Web Developer at Recruitee.com Freelancer and Consultant at jtom.me ng-poznan #31 @ Poznań, 5th June 2018 Problem Writing

More information

Keeping Front-end Development Simple with React

Keeping Front-end Development Simple with React Keeping Front-end Development Simple with React Tony Tsui @tony_tsui React KEEP IT SIMPLE simple /ˈsɪmp(ə)l/ easily understood or done https://flic.kr/p/uyhasx KEEP IT SIMPLE simple /ˈsɪmp(ə)l/ easily

More information

Functional Programming Invades Architecture. George Fairbanks SATURN May 2017

Functional Programming Invades Architecture. George Fairbanks SATURN May 2017 Functional Programming Invades Architecture George Fairbanks SATURN 2017 3 May 2017 1 Programming in the Large Yesterday: Functional Programming is PITS, i.e., just inside modules Today: FP is also PITL

More information

Creating Content with iad JS

Creating Content with iad JS Creating Content with iad JS Part 2 The iad JS Framework Antoine Quint iad JS Software Engineer ios Apps and Frameworks 2 Agenda Motivations and Features of iad JS Core JavaScript Enhancements Working

More information

A Brief Introduction to a web browser's HTML. and the Document Object Model (DOM) Lecture 28

A Brief Introduction to a web browser's HTML. and the Document Object Model (DOM) Lecture 28 A Brief Introduction to a web browser's HTML and the Document Object Model (DOM) Lecture 28 Document Object Model (DOM) Web pages are, similarly, made up of objects called the Document Object Model or

More information

Server-based Certificate Validation Protocol

Server-based Certificate Validation Protocol Server-based Certificate Validation Protocol Digital Certificate and PKI a public-key certificate is a digital certificate that binds a system entity's identity to a public key value, and possibly to additional

More information

Data Base Management System LAB LECTURES

Data Base Management System LAB LECTURES Data Base Management System LAB LECTURES Taif University faculty of Computers and Information Technology First Semester 34-1435 H A. Arwa Bokhari & A. Khlood Alharthi & A. Aamal Alghamdi OBJECTIVE u Stored

More information

Frontend Web Development with Angular. CC BY-NC-ND Carrot & Company GmbH

Frontend Web Development with Angular. CC BY-NC-ND Carrot & Company GmbH Frontend Web Development with Angular Agenda Questions Some infos Lecturing Todos Router NgModules Questions? Some Infos Code comments from us were made for improving your code. If you ignore them you

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

VG Series Products Mass Interconnect Technologies

VG Series Products Mass Interconnect Technologies VG Series Products Mass Interconnect Technologies Documentation Guide The VG Organizer was designed to ease your documentation and non-recurring-engineering requirements for developing test system interconnects

More information

EFFECTIVE CONTENT MANAGEMENT

EFFECTIVE CONTENT MANAGEMENT INSIDE BUSINESS CATALYST EFFECTIVE Why does it matter? What Not to do. BC Modules Advanced Applications. WHY DOES IT MATTER? EFFECTIVE WHY DOES IT MATTER? Handing over the keys. Will your client be driving

More information

Vue.js Framework. Internet Engineering. Spring Pooya Parsa Professor: Bahador Bakhshi CE & IT Department, Amirkabir University of Technology

Vue.js Framework. Internet Engineering. Spring Pooya Parsa Professor: Bahador Bakhshi CE & IT Department, Amirkabir University of Technology Vue.js Framework Internet Engineering Spring 2018 Pooya Parsa Professor: Bahador Bakhshi CE & IT Department, Amirkabir University of Technology Outline Introduction to Vue.js The Vue instance Declarative

More information

Object Oriented Programming. Feb 2015

Object Oriented Programming. Feb 2015 Object Oriented Programming Feb 2015 Tradi7onally, a program has been seen as a recipe a set of instruc7ons that you follow from start to finish in order to complete a task. That approach is some7mes known

More information

Marketer's Guide. User guide for marketing analysts and business users

Marketer's Guide. User guide for marketing analysts and business users Marketer's Guide Rev: 2014-06-11 Marketer's Guide User guide for marketing analysts and business users Table of Contents Chapter 1 Introduction... 4 Chapter 2 Quick Start Guide... 5 2.1 Accessing the Email

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

COL728 Minor2 Exam Compiler Design Sem II, Answer all 5 questions Max. Marks: 20

COL728 Minor2 Exam Compiler Design Sem II, Answer all 5 questions Max. Marks: 20 COL728 Minor2 Exam Compiler Design Sem II, 2017-18 Answer all 5 questions Max. Marks: 20 1. Short questions a. Give an example of a program that is not a legal program if we assume static scoping, but

More information

Web Application Development

Web Application Development Web Application Development Produced by David Drohan (ddrohan@wit.ie) Department of Computing & Mathematics Waterford Institute of Technology http://www.wit.ie INTRODUCTION & TERMINOLOGY PART 1 Objec8ves

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

JavaScript. Like PHP, JavaScript is a modern programming language that is derived from the syntax at C.

JavaScript. Like PHP, JavaScript is a modern programming language that is derived from the syntax at C. Like PHP, JavaScript is a modern programming language that is derived from the syntax at C. It has been around just about as long as PHP, also having been invented in 1995. JavaScript, HTML, and CSS make

More information

Visualforce & Lightning Experience

Visualforce & Lightning Experience Visualforce & Lightning Experience Learn how to use Visualforce to customize your Lightning Experience. UNIT I Using Visualforce in Lightning Experience Using Visualforce in Lightning Experience. Lightning

More information

Functional Programming vs Efficient Computer Graphics

Functional Programming vs Efficient Computer Graphics Functional Programming vs Efficient Computer Graphics GPU Day, 21-22 June 2018 Attila Szabo Georg Haaser Harald Steinlechner Outline Introduction to our Institute/Team/Projets Rendering Engine Experience

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

Clean Architecture and JavaScript

Clean Architecture and JavaScript Clean Architecture and JavaScript whoami Tamas Kokeny @EggDice Lead developer Instructor @ Lab.Coop http://bit.ly/1rusrzo Last presentation of the day It should not contain a lot of code This will (also

More information

CS 101: Computer Programming and Utilization

CS 101: Computer Programming and Utilization CS 101: Computer Programming and Utilization Jul-Nov 2017 Umesh Bellur (cs101@cse.iitb.ac.in) Lecture 14: Object Oritented Programming and Classes About These Slides Based on Chapter 18 of the book An

More information

JavaScript and XHTML. Prof. D. Krupesha, PESIT, Bangalore

JavaScript and XHTML. Prof. D. Krupesha, PESIT, Bangalore JavaScript and XHTML Prof. D. Krupesha, PESIT, Bangalore Why is JavaScript Important? It is simple and lots of scripts available in public domain and easy to use. It is used for client-side scripting.

More information

The DOM and jquery functions and selectors. Lesson 3

The DOM and jquery functions and selectors. Lesson 3 The DOM and jquery functions and selectors Lesson 3 Plan for this lesson Introduction to the DOM Code along More about manipulating the DOM JavaScript Frameworks Angular Backbone.js jquery Node.js jquery

More information

McLab tools on the web. Deepanjan Roy Supervisor: Prof. Laurie Hendren

McLab tools on the web. Deepanjan Roy Supervisor: Prof. Laurie Hendren McLab tools on the web Deepanjan Roy Supervisor: Prof. Laurie Hendren Brief overview of the McLab project LANGUAGES, COMPILERS, AND VIRTUAL MACHINES Dynamic Scientific Programming Languages (Especially

More information

Emission Profile Master

Emission Profile Master Emission Profile Master Welcome to this guide that will help you understand and maximize your experience using the EPM (Emission Profile Master). The Iray render engine has support for what is known as

More information

NAMES, SCOPES AND BINDING A REVIEW OF THE CONCEPTS

NAMES, SCOPES AND BINDING A REVIEW OF THE CONCEPTS NAMES, SCOPES AND BINDING A REVIEW OF THE CONCEPTS Name Binding and Binding Time Name binding is the associa1on of objects (data and/or code) with names (iden1fiers) Shape S = new Shape(); The binding

More information

EzBench, a tool to help you benchmark and bisect the Graphics Stack s performance

EzBench, a tool to help you benchmark and bisect the Graphics Stack s performance EzBench, a tool to help you benchmark and bisect the Graphics Stack s performance Martin Peres Intel Open Source Technology Center Finland September 23, 2016 Summary 1 Introduction 2 Graphics Continuous

More information

Data Abstraction. Hwansoo Han

Data Abstraction. Hwansoo Han Data Abstraction Hwansoo Han Data Abstraction Data abstraction s roots can be found in Simula67 An abstract data type (ADT) is defined In terms of the operations that it supports (i.e., that can be performed

More information

COMP REST Programming in Eclipse

COMP REST Programming in Eclipse COMP 4601 REST Programming in Eclipse The Context We are building a RESTful applicabon that allows interacbon with a Bank containing bank account. The applicabon will be built using Eclipse. NEON JDK 1.7

More information

CS 457 Networking and the Internet. Network Overview (cont d) 8/29/16. Circuit Switching (e.g., Phone Network) Fall 2016 Indrajit Ray

CS 457 Networking and the Internet. Network Overview (cont d) 8/29/16. Circuit Switching (e.g., Phone Network) Fall 2016 Indrajit Ray 8/9/6 CS 457 Networking and the Internet Fall 06 Indrajit Ray Network Overview (cont d) Circuit vs. Packet Switching Best Effort Internet Model Circuit Switching (e.g., Phone Network) Step : Source establishes

More information

Announcements. Working on requirements this week Work on design, implementation. Types. Lecture 17 CS 169. Outline. Java Types

Announcements. Working on requirements this week Work on design, implementation. Types. Lecture 17 CS 169. Outline. Java Types Announcements Types Working on requirements this week Work on design, implementation Lecture 17 CS 169 Prof. Brewer CS 169 Lecture 16 1 Prof. Brewer CS 169 Lecture 16 2 Outline Type concepts Where do types

More information

Wednesday, June 23, JBoss Users & Developers Conference. Boston:2010

Wednesday, June 23, JBoss Users & Developers Conference. Boston:2010 JBoss Users & Developers Conference Boston:2010 Zen of Class Loading Jason T. Greene EAP Architect, Red Hat June 2010 What is the Class class? Represents a class, enum, interface, annotation, or primitive

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

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

Network Operations Intelligence. Evolving network operations by the power of intelligence

Network Operations Intelligence. Evolving network operations by the power of intelligence Network Operations Intelligence Evolving network operations by the power of intelligence 1 Future of Network Operations 2 Evolution with Intelligence 3 KT s Experience 4 Considerations 01 Current: An Operations

More information

CSE1720 Lecture 08; Week 05 Lecture 09 Second level Third level Fourth level Fifth level

CSE1720 Lecture 08; Week 05 Lecture 09 Second level Third level Fourth level Fifth level Shooter Games CSE1720 Click to edit Master Week text 04, styles Lecture 08; Week 05 Lecture 09 Second level Third level Fourth level Fifth level Winter 2014! Thursday, Jan 29, 2015/Tuesday, Feb 03, 2015

More information

Computer Organization & Assembly Language Programming

Computer Organization & Assembly Language Programming Computer Organization & Assembly Language Programming CSE 2312 Lecture 11 Introduction of Assembly Language 1 Assembly Language Translation The Assembly Language layer is implemented by translation rather

More information

MapReduce. Tom Anderson

MapReduce. Tom Anderson MapReduce Tom Anderson Last Time Difference between local state and knowledge about other node s local state Failures are endemic Communica?on costs ma@er Why Is DS So Hard? System design Par??oning of

More information

Hacking with React. Get started with React, React Router, Jest, Webpack, ES6 and more with this hands-on guide. Paul Hudson.

Hacking with React. Get started with React, React Router, Jest, Webpack, ES6 and more with this hands-on guide. Paul Hudson. Hacking with React Get started with React, React Router, Jest, Webpack, ES6 and more with this hands-on guide. Paul Hudson 2016 Paul Hudson This book is dedicated to my wife, who has been endlessly patient

More information