odoe / presentations Goto Github PK
View Code? Open in Web Editor NEWVarious presentations
License: MIT License
Various presentations
License: MIT License
I haven't had a chance to clone the prezo yet, so I'm just gonna doc issues.
When I click the demo button I get an error https://odoe.github.io/presentations/2017-devsummit-dc-esrijs-whats-new/demos/architecture/multiple-views.html
Before I put this into full slide format and start a PR against presentation.md, I thought I'd drop the overall flow/structure here for your feedback:
Getting Started w/ Frameworks
2 approaches:
Map centric works best when:
Framework first works best when:
JSAPI as your application framework vs using the JSAPI as library
Who are your developers?
You can use the JSAPI as a library w/ just about any framework, but doesn't always work the other way around
Opinionated <------> Flexible
Productivity <------> Choices
Ember - Angular - Vue - React
Heavy <---------> Lightweight
Not practical to use Ember or Angular in a Dojo application
We're not really going to talk about those two, here are resources:
Ember
Angular
Why do we even need an "approach"? Why can't we just:
npm install arcgis-js-api
then
import { Map, MapView } from 'esri';
TLDR: Loading modules with Dojo is a one way street
In the mean time there are libraries and hacks to help you with this:
esri-loader is a library that works w/ any framework and/or module loader
Using esri-loader should look familiar to those of you coming from Dojo:
import { loadModules } from 'esri-loader';
loadModules(['esri/views/MapView', 'esri/WebMap'])
.then(([MapView, WebMap]) => {
// then we load a web map from an id
var webmap = new WebMap({
portalItem: { // autocasts as new PortalItem()
id: 'f2e9b762544945f390ca4ac3671cfa72'
}
});
// and we show that map in a container w/ id #viewDiv
var view = new MapView({
map: webmap,
container: 'viewDiv'
});
});
That's effectively the same as:
define([require], function (require) {
require(['esri/views/MapView', 'esri/WebMap'],
function (MapView, WebMap) {
// ... the rest of the code is the same
});
});
esri-loader also helps improve page load performance:
loadCss()
as a convenience method to lazy load the esri CSSDemo: esri-preact-pwa
esri-loader lets you use the JSAPI in Server-side rendered (SSR) applications:
Demo: esri-loader-react-starter-kit
esri-loader doesn't require you to mess w/ your module loader's configuration
Demo: esri-hyperapp-example
Downsides to esri-loader:
import
statements for esri modulesTake it away Rene!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.