angularjs for openedge developerspugchallenge.org/downloads2016/810 - angularjs for oe.pdf ·...

34
Marko Rüterbories, Consultingwerk Ltd. [email protected] AngularJS for OpenEdge Developers

Upload: ngoduong

Post on 15-Feb-2018

239 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: AngularJS for OpenEdge Developerspugchallenge.org/downloads2016/810 - AngularJS for OE.pdf · AngularJS AngularJS for OpenEdge Developers 18. ... Starting point for single-page-application

Marko Rüterbories, Consultingwerk Ltd.

[email protected]

AngularJS for OpenEdge

Developers

Page 2: AngularJS for OpenEdge Developerspugchallenge.org/downloads2016/810 - AngularJS for OE.pdf · AngularJS AngularJS for OpenEdge Developers 18. ... Starting point for single-page-application

http://www.consultingwerk.de/ 2

Page 3: AngularJS for OpenEdge Developerspugchallenge.org/downloads2016/810 - AngularJS for OE.pdf · AngularJS AngularJS for OpenEdge Developers 18. ... Starting point for single-page-application

Consultingwerk Ltd.

http://www.consultingwerk.de/ 3

Independent IT consulting organization

Focusing on OpenEdge and related technology

Located in Cologne, Germany

Customers in Europe, North America, Australia

and South Africa

Vendor of tools and consulting programs

26 years of Progress experience (V5 … OE11)

Specialized in GUI for .NET, OO, Software

Architecture, Application Integration

Page 4: AngularJS for OpenEdge Developerspugchallenge.org/downloads2016/810 - AngularJS for OE.pdf · AngularJS AngularJS for OpenEdge Developers 18. ... Starting point for single-page-application

Agenda

HTML

CSS

Bootstrap

AngularJS

Kendo UI

JSDO

AngularJS for OpenEdge Developers 4

Page 5: AngularJS for OpenEdge Developerspugchallenge.org/downloads2016/810 - AngularJS for OE.pdf · AngularJS AngularJS for OpenEdge Developers 18. ... Starting point for single-page-application

HTML

First definition public 3 November 1992 (CERN)

HTML is a markup language

for describing web documents (web pages).

HTML stands for Hyper Text Markup Language

A markup language is a set of markup tags

HTML documents are described by HTML tags

Each HTML tag describes different document

content

http://www.w3schools.com/html/default.asp

AngularJS for OpenEdge Developers 5

Page 6: AngularJS for OpenEdge Developerspugchallenge.org/downloads2016/810 - AngularJS for OE.pdf · AngularJS AngularJS for OpenEdge Developers 18. ... Starting point for single-page-application

Demo

Sample 1 Show the obvious

AngularJS for OpenEdge Developers 6

Page 7: AngularJS for OpenEdge Developerspugchallenge.org/downloads2016/810 - AngularJS for OE.pdf · AngularJS AngularJS for OpenEdge Developers 18. ... Starting point for single-page-application

Agenda

HTML

CSS

Bootstrap

AngularJS

Kendo UI

JSDO

AngularJS for OpenEdge Developers 7

Page 8: AngularJS for OpenEdge Developerspugchallenge.org/downloads2016/810 - AngularJS for OE.pdf · AngularJS AngularJS for OpenEdge Developers 18. ... Starting point for single-page-application

CSS

CSS stands for Cascading Style Sheets

CSS describes how HTML elements are to be

displayed on screen, paper, or in other media

CSS saves a lot of work. It can control the

layout of multiple web pages all at once

External stylesheets are stored in CSS files

AngularJS for OpenEdge Developers 8

Page 9: AngularJS for OpenEdge Developerspugchallenge.org/downloads2016/810 - AngularJS for OE.pdf · AngularJS AngularJS for OpenEdge Developers 18. ... Starting point for single-page-application

Demo

Sample 2 Enhance the obvious a bit

AngularJS for OpenEdge Developers 9

Page 10: AngularJS for OpenEdge Developerspugchallenge.org/downloads2016/810 - AngularJS for OE.pdf · AngularJS AngularJS for OpenEdge Developers 18. ... Starting point for single-page-application

Agenda

HTML

CSS

Bootstrap

AngularJS

Kendo UI

JSDO

AngularJS for OpenEdge Developers 10

Page 11: AngularJS for OpenEdge Developerspugchallenge.org/downloads2016/810 - AngularJS for OE.pdf · AngularJS AngularJS for OpenEdge Developers 18. ... Starting point for single-page-application

Bootstrap

Bootstrap is the most popular HTML, CSS, and

JavaScript framework for developing responsive,

mobile-first web sites.

Bootstrap is completely free to download and

use!

AngularJS for OpenEdge Developers 11

Page 12: AngularJS for OpenEdge Developerspugchallenge.org/downloads2016/810 - AngularJS for OE.pdf · AngularJS AngularJS for OpenEdge Developers 18. ... Starting point for single-page-application

Demo

Show responsiveness on Navigation Page

Show code of the page

AngularJS for OpenEdge Developers 12

Page 13: AngularJS for OpenEdge Developerspugchallenge.org/downloads2016/810 - AngularJS for OE.pdf · AngularJS AngularJS for OpenEdge Developers 18. ... Starting point for single-page-application

Agenda

HTML

CSS

Bootstrap

AngularJS

Kendo UI

JSDO

AngularJS for OpenEdge Developers 13

Page 14: AngularJS for OpenEdge Developerspugchallenge.org/downloads2016/810 - AngularJS for OE.pdf · AngularJS AngularJS for OpenEdge Developers 18. ... Starting point for single-page-application

AngularJS

AngularJS is a structural framework for dynamic

web apps

AngularJS extends HTML with new attributes.

AngularJS is perfect for Single Page

Applications (SPAs).

AngularJS is “kind of” easy to learn.

It’s all about DOM

AngularJS for OpenEdge Developers 14

Page 15: AngularJS for OpenEdge Developerspugchallenge.org/downloads2016/810 - AngularJS for OE.pdf · AngularJS AngularJS for OpenEdge Developers 18. ... Starting point for single-page-application

AngularJS

When a web page is loaded, the browser

creates a Document Object Model of the page.

AngularJS for OpenEdge Developers 15

Page 16: AngularJS for OpenEdge Developerspugchallenge.org/downloads2016/810 - AngularJS for OE.pdf · AngularJS AngularJS for OpenEdge Developers 18. ... Starting point for single-page-application

AngularJS

Data binding, as in {{}}.

DOM control structures for repeating, showing

and hiding DOM fragments.

Support for forms and form validation.

Attaching new behavior to DOM elements, such

as DOM event handling.

Grouping of HTML into reusable components.

AngularJS for OpenEdge Developers 16

Page 17: AngularJS for OpenEdge Developerspugchallenge.org/downloads2016/810 - AngularJS for OE.pdf · AngularJS AngularJS for OpenEdge Developers 18. ... Starting point for single-page-application

AngularJS

App (Module)

The application to be executed

Controller

Defines the behavior of parts of the App

Sets initial state of $scope

Directive

Attaches specific behavior to a DOM element

(event listener, datasources, …)

AngularJS for OpenEdge Developers 17

Page 18: AngularJS for OpenEdge Developerspugchallenge.org/downloads2016/810 - AngularJS for OE.pdf · AngularJS AngularJS for OpenEdge Developers 18. ... Starting point for single-page-application

AngularJS

AngularJS for OpenEdge Developers 18

Page 19: AngularJS for OpenEdge Developerspugchallenge.org/downloads2016/810 - AngularJS for OE.pdf · AngularJS AngularJS for OpenEdge Developers 18. ... Starting point for single-page-application

AngularJS

AngularJS for OpenEdge Developers 19

Page 20: AngularJS for OpenEdge Developerspugchallenge.org/downloads2016/810 - AngularJS for OE.pdf · AngularJS AngularJS for OpenEdge Developers 18. ... Starting point for single-page-application

Demo

Sample 4 Shopping list with static JSON

Datasource

Sample 5 Ability toadd items to the list

AngularJS for OpenEdge Developers 20

Page 21: AngularJS for OpenEdge Developerspugchallenge.org/downloads2016/810 - AngularJS for OE.pdf · AngularJS AngularJS for OpenEdge Developers 18. ... Starting point for single-page-application

Agenda

HTML

CSS

Bootstrap

AngularJS

Kendo UI

JSDO

AngularJS for OpenEdge Developers 21

Page 22: AngularJS for OpenEdge Developerspugchallenge.org/downloads2016/810 - AngularJS for OE.pdf · AngularJS AngularJS for OpenEdge Developers 18. ... Starting point for single-page-application

Kendo UI

JQuery and HTML5 based Widgets for browser

based and mobile applications

70+ Widgets

Integrates with AngularJS (MVVM Framework)

and Bootstrap (responsive UI)

Optimized for Performance and Resource Usage

Themable and Localizable

Server Side Wrappers for ASP.NET, JSP, PHP

AngularJS for OpenEdge Developers 22

Page 23: AngularJS for OpenEdge Developerspugchallenge.org/downloads2016/810 - AngularJS for OE.pdf · AngularJS AngularJS for OpenEdge Developers 18. ... Starting point for single-page-application

Telerik Online Demos

http://demos.telerik.com/kendo-ui/

Access to Documentation (API reference) from

demos

AngularJS for OpenEdge Developers 23

Page 24: AngularJS for OpenEdge Developerspugchallenge.org/downloads2016/810 - AngularJS for OE.pdf · AngularJS AngularJS for OpenEdge Developers 18. ... Starting point for single-page-application

JavaScript?

Kendo UI can be used without deep JavaScript

knowledge – as long as you are not starting to

write single-page-applications

Lots of documentation and great forums

Widgets are initialized using standard code

pattern (JQuery widget constructor)

Widgets are customized using JSON

representation of properties

Data can be provided using properties (arrays)

Data can be accessed by calling into web serverAngularJS for OpenEdge Developers 24

Page 25: AngularJS for OpenEdge Developerspugchallenge.org/downloads2016/810 - AngularJS for OE.pdf · AngularJS AngularJS for OpenEdge Developers 18. ... Starting point for single-page-application

Kendo UI Core – open source

Subset of Controls released as open source

40+ Controls

http://www.telerik.com/kendo-ui/open-source-

core

Apache 2.0 license

No support

AngularJS for OpenEdge Developers 25

Page 26: AngularJS for OpenEdge Developerspugchallenge.org/downloads2016/810 - AngularJS for OE.pdf · AngularJS AngularJS for OpenEdge Developers 18. ... Starting point for single-page-application

Controls not included in open source

• BarCode

• Charts

• Editor

• Gauges

• Grid

• Map

• QRCode

• Scheduler

• StockChart

• Treeview

• Upload

AngularJS for OpenEdge Developers 26

Page 27: AngularJS for OpenEdge Developerspugchallenge.org/downloads2016/810 - AngularJS for OE.pdf · AngularJS AngularJS for OpenEdge Developers 18. ... Starting point for single-page-application

Kendo is used by Progress Software

Kendo UI with WebSpeed 27

Page 28: AngularJS for OpenEdge Developerspugchallenge.org/downloads2016/810 - AngularJS for OE.pdf · AngularJS AngularJS for OpenEdge Developers 18. ... Starting point for single-page-application

Kendo UI async Data Access

Allows to read data in separate http request

Possibly from a different server, using different

caching settings

Supports for server side filtering, sorting, paging

without need to reload page

Starting point for single-page-application (SPA)

AngularJS for OpenEdge Developers 28

Page 29: AngularJS for OpenEdge Developerspugchallenge.org/downloads2016/810 - AngularJS for OE.pdf · AngularJS AngularJS for OpenEdge Developers 18. ... Starting point for single-page-application

Demo

Sample 6 / 7

Kendo UI Controls in action

AngularJS for Data Binding

AngularJS for OpenEdge Developers 29

Page 30: AngularJS for OpenEdge Developerspugchallenge.org/downloads2016/810 - AngularJS for OE.pdf · AngularJS AngularJS for OpenEdge Developers 18. ... Starting point for single-page-application

Agenda

HTML

CSS

Bootstrap

AngularJS

Kendo UI

JSDO

AngularJS for OpenEdge Developers 30

Page 31: AngularJS for OpenEdge Developerspugchallenge.org/downloads2016/810 - AngularJS for OE.pdf · AngularJS AngularJS for OpenEdge Developers 18. ... Starting point for single-page-application

Kendo UI and JSDO

JSDO:

– Open-Source JavaScript Library from PSC

– Mimics ProDatasets in JavaScript

https://github.com/CloudDataObject/JSDO

Initially designed for AppServer and REST Adapter

Open for other data provider – including WebSpeed

It’s just using a http protocol

AngularJS for OpenEdge Developers 31

Page 32: AngularJS for OpenEdge Developerspugchallenge.org/downloads2016/810 - AngularJS for OE.pdf · AngularJS AngularJS for OpenEdge Developers 18. ... Starting point for single-page-application

Demo

Kendo UI Grid

JSDO / REST Adapter / AppServer

Server side filtering, sorting paging

200,000 customer records

Chrome Developer Tools

AngularJS for OpenEdge Developers 32

Page 33: AngularJS for OpenEdge Developerspugchallenge.org/downloads2016/810 - AngularJS for OE.pdf · AngularJS AngularJS for OpenEdge Developers 18. ... Starting point for single-page-application

Async Data Access for WebSpeed

WebSpeed app could be combined with

AppServer/REST Adapter

Possible to implement JSDO protocol using

WebSpeed (We did it for PASOE 11.6)

– Requires JSON Catalog generation

• Meta schema of ProDataset response

Alternative: simple JSON Data Source, does

also support server side filtering, sorting, paging

AngularJS for OpenEdge Developers 33

Page 34: AngularJS for OpenEdge Developerspugchallenge.org/downloads2016/810 - AngularJS for OE.pdf · AngularJS AngularJS for OpenEdge Developers 18. ... Starting point for single-page-application

Questions

34http://www.consultingwerk.de/