Workshop Apps with ReactNative I:
- What is React Native?
- Native Components
- Asynchronous execution
- Debugging
- Live Reload/Hot reload
- Flexbox and styling
- It’s just a JS framework!
- Native Components
- Native APIs
- Native modules
- Some Thoughts on Production Development
Presentado por ingeniero Jordi Serra
Workshop: EmberJS - In Depth
- Ember Data - Adapters & Serializers
- Routing and Navigation
- Templates
- Services
- Components
- Integration with 3rd party libraries
Presentado por ingenieros: Mario García y Marc Torrent
Workshop Apps with ReactNative II:
- React Native short Recap
- Navigation in React Native Apps
- Tabs & Other Architectural Components
- Lists & Other Presentational Components
- OpenSource Important Components
Presentado por ingenieros Raúl Delgado y Marc Torrent
Workshop Isomorphic Web Apps with ReactJS:
- Universal web apps - Isomorphic
- Server Side Rendering (SSR) with ReactJS
- Server Side Rendering with Redux
- Server Side Rendering with React Router
- Server Side Rendering: server.js - Main Entry Point
- Server Side Rendering: server.js - HTML Template
- Client main entry point: client.js
- Webpack bundles
- Avoiding FOUC - Webpack ExtractTextPlugin
- Webpack code splitting
- React Router - Configuration with Plain Routes
- React Router - Dynamic Routing & WebPack
- Dynamic Routing with new Reducers
- Combining new Reducers - ReducerRegistry
- Data fetching before rendering
- React Router + Redux + Redial: Server Side
- React Router + Redux + Redial: provideHooks
- React Router + Redux + Redial: Client Side
- SEO friendly universal web apps - React-Helmet
- React-Helmet - Server Side Rendering
Presentado por ingeniero: Marc Torrent
Workshop Apps with ReactNative I:
- What is React Native?
- Native Components
- Asynchronous execution
- Debugging
- Live Reload/Hot reload
- Flexbox and styling
- It’s just a JS framework!
- Native Components
- Native APIs
- Native modules
- Some Thoughts on Production Development
Presentado por ingeniero Jordi Serra
Workshop: EmberJS - In Depth
- Ember Data - Adapters & Serializers
- Routing and Navigation
- Templates
- Services
- Components
- Integration with 3rd party libraries
Presentado por ingenieros: Mario García y Marc Torrent
Workshop Apps with ReactNative II:
- React Native short Recap
- Navigation in React Native Apps
- Tabs & Other Architectural Components
- Lists & Other Presentational Components
- OpenSource Important Components
Presentado por ingenieros Raúl Delgado y Marc Torrent
Workshop Isomorphic Web Apps with ReactJS:
- Universal web apps - Isomorphic
- Server Side Rendering (SSR) with ReactJS
- Server Side Rendering with Redux
- Server Side Rendering with React Router
- Server Side Rendering: server.js - Main Entry Point
- Server Side Rendering: server.js - HTML Template
- Client main entry point: client.js
- Webpack bundles
- Avoiding FOUC - Webpack ExtractTextPlugin
- Webpack code splitting
- React Router - Configuration with Plain Routes
- React Router - Dynamic Routing & WebPack
- Dynamic Routing with new Reducers
- Combining new Reducers - ReducerRegistry
- Data fetching before rendering
- React Router + Redux + Redial: Server Side
- React Router + Redux + Redial: provideHooks
- React Router + Redux + Redial: Client Side
- SEO friendly universal web apps - React-Helmet
- React-Helmet - Server Side Rendering
Presentado por ingeniero: Marc Torrent
Workshop Overview General del ecosistema de Javascript y de los Frameworks actuales.
¿Hacia dónde vamos?
ReactJS - Flux Pattern - ReactNative.
RactiveJS, VueJS.
Presentado por Ing. Marc Torrent
Ran Mizrahi from CodeOasis gave a lecture about Angular.js dependency injections, as part of an advanced Angular meetup of the Javascript Israel meetup group.
Ran covered how Dependency Injection works in Angular and its internals, what are providers and the different helper methods angular have for defining injectables components.
Migrating an application from Angular 1 to Angular 2 Ross Dederer
Learn how to make the jump to Angular 2 with Wijmo’s JavaScript UI controls!
With the recent release of the Angular 2 Beta, you’re probably asking if it’s worth it to make the jump from Angular 1. During this talk, we’ll share some tips and tricks on migration, as well as concepts that we learned along the way when migrating from Angular 1 to Angular 2. Wijmo has been developing controls in Angular 1 for quite some time now, and migrating our controls to the new Angular 2 beta was a pretty straightforward process.
You’ll learn:
Introduction to TypeScript and Angular 2.0 beta
The process of converting a Microsoft MVVM-featured application (the Microsoft DataServices QuickStart sample) from Angular 1.x to Angular 2.0, including:
How to convert business logic from JavaScript to the more C#-like TypeScript language
About the component and companion template role syntax using plain HTML and Wijmo controls (including Angular 2 FlexGrid and Input controls)
Additional tips and tricks to enhance your experience in Visual Studio
An introduction to the AngularJS JavaScript MVC framework from Google. Tailored for Java developers. Presented at the Orange County Java Users Group on 10/09/2014
AngularJS is an open-source JavaScript framework from Google that makes developing rich web applications much easier. Slides used in the fisrt AngularJS Zürich Meetup.
Code can be found at https://github.com/carlos-/ajs-intro
Building scalable applications with angular jsAndrew Alpert
AngularJS today is one of the most powerful, user-friendly and popular JS frameworks to work on web applications. Surprisingly, one of the main weaknesses of this framework is poorly structured documentation and the lack of ready-made solutions. In this report, we will try to work out the best approach to the organization of large and very large applications. We will also speak about the tools that will be useful at every stage of the application development and tools and practicesthat will help you to work in the continuous delivery mode.
Material I prepared for a beginner's workshop on AngularJS. Feel free to change it for your own use. I would appreciate it if you attributed the original to me.
JavaScript basics
JavaScript event loop
Ajax and promises
DOM interaction
JavaScript object orientation
Web Workers
Useful Microframeworks
This presentation has been developed in the context of the Mobile Applications Development course, DISIM, University of L'Aquila (Italy), Spring 2016.
http://www.ivanomalavolta.com
Workshop Overview General del ecosistema de Javascript y de los Frameworks actuales.
¿Hacia dónde vamos?
ReactJS - Flux Pattern - ReactNative.
RactiveJS, VueJS.
Presentado por Ing. Marc Torrent
Ran Mizrahi from CodeOasis gave a lecture about Angular.js dependency injections, as part of an advanced Angular meetup of the Javascript Israel meetup group.
Ran covered how Dependency Injection works in Angular and its internals, what are providers and the different helper methods angular have for defining injectables components.
Migrating an application from Angular 1 to Angular 2 Ross Dederer
Learn how to make the jump to Angular 2 with Wijmo’s JavaScript UI controls!
With the recent release of the Angular 2 Beta, you’re probably asking if it’s worth it to make the jump from Angular 1. During this talk, we’ll share some tips and tricks on migration, as well as concepts that we learned along the way when migrating from Angular 1 to Angular 2. Wijmo has been developing controls in Angular 1 for quite some time now, and migrating our controls to the new Angular 2 beta was a pretty straightforward process.
You’ll learn:
Introduction to TypeScript and Angular 2.0 beta
The process of converting a Microsoft MVVM-featured application (the Microsoft DataServices QuickStart sample) from Angular 1.x to Angular 2.0, including:
How to convert business logic from JavaScript to the more C#-like TypeScript language
About the component and companion template role syntax using plain HTML and Wijmo controls (including Angular 2 FlexGrid and Input controls)
Additional tips and tricks to enhance your experience in Visual Studio
An introduction to the AngularJS JavaScript MVC framework from Google. Tailored for Java developers. Presented at the Orange County Java Users Group on 10/09/2014
AngularJS is an open-source JavaScript framework from Google that makes developing rich web applications much easier. Slides used in the fisrt AngularJS Zürich Meetup.
Code can be found at https://github.com/carlos-/ajs-intro
Building scalable applications with angular jsAndrew Alpert
AngularJS today is one of the most powerful, user-friendly and popular JS frameworks to work on web applications. Surprisingly, one of the main weaknesses of this framework is poorly structured documentation and the lack of ready-made solutions. In this report, we will try to work out the best approach to the organization of large and very large applications. We will also speak about the tools that will be useful at every stage of the application development and tools and practicesthat will help you to work in the continuous delivery mode.
Material I prepared for a beginner's workshop on AngularJS. Feel free to change it for your own use. I would appreciate it if you attributed the original to me.
JavaScript basics
JavaScript event loop
Ajax and promises
DOM interaction
JavaScript object orientation
Web Workers
Useful Microframeworks
This presentation has been developed in the context of the Mobile Applications Development course, DISIM, University of L'Aquila (Italy), Spring 2016.
http://www.ivanomalavolta.com
JavaScript basics
JavaScript event loop
Ajax and promises
DOM interaction
JavaScript object orientation
Web Workers
Useful Microframeworks
This presentation has been developed in the context of the Mobile Applications Development course, DISIM, University of L'Aquila (Italy), Spring 2015.
http://www.ivanomalavolta.com
Building Isomorphic Apps (JSConf.Asia 2014)Spike Brehm
Over the past year or so, we’ve seen the emergence of a new way of building JavaScript web apps that share code between the web browser and the server, using Node.js — a technique that has come to be known as "isomorphic JavaScript.” There are a variety of use cases for isomorphic JavaScript; some apps render HTML on both the server and the client, some apps share just a few small bits of application logic, while others share the entire application runtime between client and server to provide advanced offline and realtime features. Why go isomorphic? The main benefits are performance, maintainability, reusability, and SEO.
This talk shares examples of isomorphic JavaScript apps running in the wild, explore the exploding ecosystem of asset building tools, such as Browserify, Webpack, and Gulp, that allow developers to build their own isomorphic JavaScript apps with open-source libraries, demonstrate how to build an isomorphic JavaScript module from scratch, and explore how libraries like React and Flux can be used to build a single-page app that renders on the server.
A presentation made for the AngularJS-IL meetup group that took place in oct 2014 at Google TLV Campus (http://www.meetup.com/AngularJS-IL/events/207559572/)
its an overview of how to use services in your app. this slideshow contain a link for a reference code on github.
(link in the last slide)
JavaScript basics
JavaScript event loop
Ajax and promises
DOM interaction
JavaScript object orientation
Web Workers
Useful Microframeworks
This presentation has been developed in the context of the Mobile Applications Development course, DISIM, University of L'Aquila (Italy), Spring 2014.
http://www.ivanomalavolta.com
6. Wait for X before doing Y
Two key differences:
1. Y only gets fired once.
2. If X has already happened, Y fires
immediately.
You are already familiar with this behaviour
for “document ready”.
7. Script Loading
Script loading is a type of Dependency
Problem.
For example,
"Wait for jQuery before doing Ajax"
This could be rephrased as:
"using jQuery, do Ajax"
9. using(multiple)
We can depend on multiple scripts this way:
using(
'/lib/jquery.js',
‘plugin.js’,
function() {
$.ajax({ … });
}
);
10. using(sequence)
We can also require that scripts are loading
in sequence, by passing an array.
eg., Load jQuery, then jQuery UI.
using([
'/lib/jquery.js',
‘/lib/jquery.ui.js‘
],
function() {
$.ajax({ … });
}
);
11. Asynchronous
Since Loadrunner has to wait for the
dependencies to be fulfilled, the "using"
function makes your code asynchronous.
console.log(1);
using('/lib/jquery.1.7.js',
function() {
console.log(2);
}
);
console.log(3);
// => 1, 3, 2
12. [Asynchronous]
Unless the scripts have already been loaded.
using('/lib/jquery.1.7.js',
function() {
console.log(1);
using('/lib/jquery.1.7.js',
function() {
console.log(2);
}
console.log(3);
}
);
// => 1, 2, 3
13. Awesome?
This script dependency loader is awesome,
but we can see two problems with it.
1. Scripts must load into the global scope.
2. It waits for the script to load, but does
not wait for the functions to be ready.
14. For example, if ‘api.js’ is:
using('/lib/jquery.1.7.js',
function() {
window.api = {};
api.wizardry = function() {
alert('Wahoo');
};
})
});
The ‘api’ won’t be ready when we want it:
using('/js/api.js', function() {
api.wizardry();
});
“ReferenceError: api is not defined”
15. API ready
Besides script loading, there are lots of
reasons why the API might take time to be
ready:
• Creating DOM nodes, like iframes.
• Ajax communications
• setTimeouts
• Animation
16. Modules
We can solve these problems by wrapping
our scripts as Loadrunner "modules".
To create a module, we wrap our script in a
provide function.
17. For example:
provide(function(exports) {
using('/lib/jquery.1.7.js',
function() {
var api = {};
api.wizardry = function() {
alert('Wahoo');
};
exports(api);
});
});
});
The provide function uses exports to declare
when it is ready, and return the object it
created.
18. We can now depend on the result of this
module in our using statement:
using.path = '/js';
using('api', function(api) {
api.wizardry();
});
We state the dependency in a different way:
we leave off the ".js" extension to tell
Loadrunner that we want a module.
The callback function receives a parameter
api that contains the result of the module's
exports object.
19. Win
Modules make life really easy.
using(‘sizzle’,'api',‘animation’,
function($, api, anim) {
anim($(‘#thing’), api.text);
}
);
20. Collecting params
If you like, you can collect parameters
using(‘sizzle’,'api',‘animation’)
.as(
function(all) {
all.animation(all.api.text);
}
);
22. Module-ify
Scripts like jQuery aren’t provided as
modules, but we can make a module that
takes advantage of their noConflict mode.
provide(function(exports) {
using(‘/lib/jquery.js’,
function() {
exports(jQuery.noConflict());
}
);
});
23. Folders
Modules can make our JS folder readable.
>ls
loadrunner.js
lib/jquery.js
imports/jquery.js
api/api.js
api/iframe_loader.js
anim/animation.js
24. HTML
Loadrunner can be loaded with data
attributes.
<script src=”loadrunner.js”
data-path=”/js”
data-main=”main.js” />
Path is the folder of your Loadrunner
modules (defaults to path containing
loadrunner.js).
Main is the first script to execute.