SlideShare uma empresa Scribd logo
1 de 55
Baixar para ler offline
Modeling on the Web
Pedro J. Molina, Ahmed Negm, Ruben Jiménez
@pmolinam @anegm81 @rubenjmarrufo
@icinetic
Icinetic
• We do MDSD Tools for Developers, Citizen Developers & End-Users
• HQ in Seville, Spain, EU
• Offices in San Francisco, Seattle, Cairo, Seville & Madrid
http://www.icinetic.com/
If I want to jump, but I am not trained
What can I do?
Question?
A1: Lower the bar
Question?
A2: Use High-Tech
Question?
Creating applications is getting more and more
complex:
Technologies, frameworks, versions, dependencies, different
screen sizes and aspect ratios, incompatible API &
vendors, platform fragmentation…
How we can help as the MDE community?
Why the metaphor?
Types of complexities
•Essential Complexity
•Accidental Complexity
Terms from : “Fred Brooks, 1986, No Silver Bullet”
Complexities on Software
Complexity inherent to the system been designed.
“Everything should be made as simple as possible,
but not simpler.” (A. Einstein)
Essential Complexity
Accidental Complexity
Any other Extra Complexity arisen from tools, methods,
technologies, etc. used to build the system.
Programming languages, tools, frameworks… computers,
devices introduce many, many Accidental Complexity.
From idea  usage
Idea  design  build  test  debug  provision  deploy  usage
Can we do something to speed up this
delivery critical path?
Accidental Complexities
MDE helps to reduce Accidental Complexity.
The ultimate “noble” Quest for MDE
Make life easier!
Radarc online
Radarc
Abstraction Level covered by tools
High
Low
Telerik
AppBuilder
Xamarin
Visual Studio
Eclipse
MS Siena
Wizards
Models
Code
Graphical Design
HTML+JS
Native code
Drag&Drop Models
Deployed App
Compiled App
• Non coding skills Users
• Amateurs Programmers
• Citizen Developers
• Professional Developers
• Gurus / Hackers
• Code Generation attendees ;-)
• MPS Users };-)
User, a segmentation
The App industry is growing. End Users joining.
Consumer
• Mobile apps will be a
$77B business by 2017
Business
• Mobile Business apps will
be worth almost $50B by
2017
• In 2013, an estimated 200
million workers used
mobile business apps
Citizen Developers
• Users operating outside of
the scope of enterprise IT
and its governance who
creates new business
applications for
consumption by others -
Gartner
• In 2014, 25% of new
business applications will
be delivered by Citizen
Developers
MDE
• Developers: tendency to craftsmanship / artists / Not seen like an engineer…
• Citizen Developers: benefit directly from automation and complexity hiding
• We are not going to be enough
• MDE is a tool for Lowering the Entry Barrier
• Allowing non programmers to DIY to solve their day to day problems
• Mobility, Ubiquity computers, Different UI, UX, form factors
The role of MDE
Last week at /Build Conference
Microsoft presented the line of work they are going to push hard:
Connected Devices
• Same App
• Cross Devices: Tablet / Phone
• Adapted to the context (device, form factor, & user needs)
Trend on Connected Devices
Windows 8.1 Blue
Google, Samsung, Microsoft working on:
• Glasses
• Phone
• Tablets
• TVs
• Watches
• Internet of Things
Trend on Connected Devices
Main Features
• Same Services
• Cross Devices
• Contextual
My code,
my Treasure,
my IDE?
Where is my IDE now?
It’s going with wind…
to The Cloud!
My code, my Treasure
Everything going to The Cloud. Why?
• Zero installation
• Instant updates
• Do it from any device, any time (any browser)
My IDE  on The Cloud
What is other people doing?
State of the Art
Cloud9
Eclipse Orion
MS Monaco
GenMyModel
Martin Thiede
http://concrete-editor.org
Presented here a CG2010
Four years ago!
Concrete Editor
Rafael Chavez
@abstratt
Cloudfier
We decided at Icinetic:
We need to go to the cloud,
the sooner, the better.
Move to the cloud
Because
Not Typed
Relaxed syntax  error prone
WAT Programming: http://bit.ly/watProg
JavaScript is not my favorite language
[] + []
[] + {}
{} + []
{} + {}
 “”
 [Object Object]
 0
 NaN
But
It is the World most ubiquity computer
runtime ever deployed.
And runs fast in all modern browsers!
JavaScript is not my favorite language
• Global variables
• with keyword
• eval()
• Type coercion
• Block syntax with no block scope
• Optional semicolons (sometimes, some browsers, but not all)
First Developer Sin: Lack of understanding of its prototypical inheritance
Recommended reading: Douglas Crockford book. “JavaScript: The Good parts”
JavaScript main Sins
Typescript typing the un-typed
Type annotations, Generics, modules, classes, interfaces for JS
Hack “typing” to PHP to support a gigantic codebase that has to be maintained.
Dynamic typing languages are good for quick prototyping.
Static typing languages are better for maintaining code.
Compilers provide you a chance to catch some type error before the user see them.
In any case, Unit Testing is A MUST in both code-camps.
Taming the ‘wild’ JavaScript
http://hacklang.org
http://www.typescriptlang.org
•Stateless
•Scalable
•Run in any browser
•It is not a desktop frontend (almost!?)
Web
•Stateless
•Scalable
•Run in any browser
•It is not a desktop frontend (almost!?)
Web
• Looking for
• Textual
• Diagram
• Projectional
• Tabular
• Mixed forms.
Editors for Models
• Grammars
• BNF
• Parsers
• Facilities
• Inline errors
• Syntax Coloring
• Code Completion
Textual Editors
• Easier to use for non programmers
• The editor follows the form of the model
• Difficult to create non consistent models
• Limited, constrained
Projectional Editors
• Graphical editors with a strong
focus on visualization
• Excellent for showing
relationships between objects
Diagram Editors
Editors on the Web
Demo Time
D←mo
Canvas Surface for drag and drop
controls and UI components
• Shows presentation layouts an
embedding relationships
• Objects can be setup one by one to the
detail with an auxiliary Property Grid
Editor
Designer Editor
• Tree Editors
• Table Editors
• Allows to cross two relationships for a set of objects and show or edit a third property in a tabular way
• Custom Editors
• Wizard style or free form of editor are also a good choice when UX is the key issue to address
• Composed Editors
• The previous one shows some paradigms for editor. Combining the previous ones to created compounded
editors allows to create a complex one.
Other Editors
Language skills requires time and experience
Level of abstraction of a language is a sword with two edges
• Easy to think in such abstractions
• Removes other details
What happens when we need to go deeper in the details?
• Progressive Modeling
Customizations Cliffs
End User
Levels of abstraction for App Design
Power User
Developer
Expert Developer / Architect
• Simple Model for End Users
• Powerful for advanced users
• Full expressiveness power for developers: access to full
details
Progressive Modeling
Progressive Modeling. Sample
Progressive Modeling. Sample
Progressive Modeling on
http://radarconline.com (in Private Beta)
All of you invited to try!
Demo Time
D←mo
Models everywhere: generation/build pipeline
Metamodel.meta Model.ts
parser.pegjs
Comon-js Format
Server-side
AMD Format
Client/Browser-side
Model.js
parser.js
Model.js
parser.js
Generation
JSON
Model.cs
Parser.cs
Model.java
Lang.gram
Meta-definitons
Backend / Cloud
Frontend
• Where to validate?
• XRefs?
• How to propagate?
Models everywhere
Generation as a Service
• If your IDE is in the cloud,
• If your modeling is the cloud,
• If your code is on the cloud
• IaaS, PaaS, SaaS
Where to put your code generators?
GaaS
GaaS
Demo Time
D←mo
The world is changing:
• The Cloud is coming & disrupting
• Mobile Devices
• Devices Everywhere
• Citizen Developers creating Apps
Conclusions
So, do we:
• Getting ready for Cloud
• Modeling once on the web
• Tools for Citizen Developers
• Reducing accidental complexity
• Delivering Native Apps cross-devices
• If we can Model on the Web
as simple as possible
• An then, get the application running on the device
With Zero Technical Details
• We have removed much of the Accidental Complexity
Conclusions
Lowering the Entry Barriers to Build Apps
Conclusions
www.icinetic.com
Thank you
“Devices everywhere & Platform Fragmentation
have potential
to make MDE inevitable.”
A Prediction

Mais conteúdo relacionado

Destaque

JAWSUG & JAZUG Sendai Azure Update 20140517
JAWSUG & JAZUG Sendai Azure Update 20140517JAWSUG & JAZUG Sendai Azure Update 20140517
JAWSUG & JAZUG Sendai Azure Update 20140517Ayako Omori
 
Welcome to Hour of Code 20151202
Welcome to Hour of Code 20151202Welcome to Hour of Code 20151202
Welcome to Hour of Code 20151202Ayako Omori
 
KIXS Vol.000: Microsoft Cognitive Services 入門 & Azure サーバー管理ツール
KIXS Vol.000: Microsoft Cognitive Services 入門 & Azure サーバー管理ツールKIXS Vol.000: Microsoft Cognitive Services 入門 & Azure サーバー管理ツール
KIXS Vol.000: Microsoft Cognitive Services 入門 & Azure サーバー管理ツールAyako Omori
 
Enterprise Cloud Design Pattern 前編:クラウドアーキテクチャ-の3要素
Enterprise Cloud Design Pattern 前編:クラウドアーキテクチャ-の3要素Enterprise Cloud Design Pattern 前編:クラウドアーキテクチャ-の3要素
Enterprise Cloud Design Pattern 前編:クラウドアーキテクチャ-の3要素Arichika TANIGUCHI
 
Microsoft Azure Update 20151112
Microsoft Azure Update 20151112Microsoft Azure Update 20151112
Microsoft Azure Update 20151112Ayako Omori
 
ソフトウェア工学からコンピューターサイエンスへ (デブサミ2014)
ソフトウェア工学からコンピューターサイエンスへ (デブサミ2014)ソフトウェア工学からコンピューターサイエンスへ (デブサミ2014)
ソフトウェア工学からコンピューターサイエンスへ (デブサミ2014)Masayoshi Hagiwara
 
クラウドがもたらす破壊と創造 = Developer Summit 2014 =
クラウドがもたらす破壊と創造  = Developer Summit 2014 = クラウドがもたらす破壊と創造  = Developer Summit 2014 =
クラウドがもたらす破壊と創造 = Developer Summit 2014 = SORACOM, INC
 
研究室リテラシー教育スライド
研究室リテラシー教育スライド研究室リテラシー教育スライド
研究室リテラシー教育スライドNobutaka Shimada
 

Destaque (8)

JAWSUG & JAZUG Sendai Azure Update 20140517
JAWSUG & JAZUG Sendai Azure Update 20140517JAWSUG & JAZUG Sendai Azure Update 20140517
JAWSUG & JAZUG Sendai Azure Update 20140517
 
Welcome to Hour of Code 20151202
Welcome to Hour of Code 20151202Welcome to Hour of Code 20151202
Welcome to Hour of Code 20151202
 
KIXS Vol.000: Microsoft Cognitive Services 入門 & Azure サーバー管理ツール
KIXS Vol.000: Microsoft Cognitive Services 入門 & Azure サーバー管理ツールKIXS Vol.000: Microsoft Cognitive Services 入門 & Azure サーバー管理ツール
KIXS Vol.000: Microsoft Cognitive Services 入門 & Azure サーバー管理ツール
 
Enterprise Cloud Design Pattern 前編:クラウドアーキテクチャ-の3要素
Enterprise Cloud Design Pattern 前編:クラウドアーキテクチャ-の3要素Enterprise Cloud Design Pattern 前編:クラウドアーキテクチャ-の3要素
Enterprise Cloud Design Pattern 前編:クラウドアーキテクチャ-の3要素
 
Microsoft Azure Update 20151112
Microsoft Azure Update 20151112Microsoft Azure Update 20151112
Microsoft Azure Update 20151112
 
ソフトウェア工学からコンピューターサイエンスへ (デブサミ2014)
ソフトウェア工学からコンピューターサイエンスへ (デブサミ2014)ソフトウェア工学からコンピューターサイエンスへ (デブサミ2014)
ソフトウェア工学からコンピューターサイエンスへ (デブサミ2014)
 
クラウドがもたらす破壊と創造 = Developer Summit 2014 =
クラウドがもたらす破壊と創造  = Developer Summit 2014 = クラウドがもたらす破壊と創造  = Developer Summit 2014 =
クラウドがもたらす破壊と創造 = Developer Summit 2014 =
 
研究室リテラシー教育スライド
研究室リテラシー教育スライド研究室リテラシー教育スライド
研究室リテラシー教育スライド
 

Semelhante a Modeling on the Web

Synapse india reviews on android application
Synapse india reviews on android applicationSynapse india reviews on android application
Synapse india reviews on android applicationsaritasingh19866
 
Meetup. Technologies Intro for Non-Tech People
Meetup. Technologies Intro for Non-Tech PeopleMeetup. Technologies Intro for Non-Tech People
Meetup. Technologies Intro for Non-Tech PeopleIT Arena
 
MyAppConverter DroidconUK 2014
MyAppConverter DroidconUK 2014MyAppConverter DroidconUK 2014
MyAppConverter DroidconUK 2014myappconverter
 
Domain Driven Design Big Picture Strategic Patterns
Domain Driven Design Big Picture Strategic PatternsDomain Driven Design Big Picture Strategic Patterns
Domain Driven Design Big Picture Strategic PatternsMark Windholtz
 
Domain specific modelling (DSM)
Domain specific modelling (DSM)Domain specific modelling (DSM)
Domain specific modelling (DSM)PG Scholar
 
Is the Browser a Transitional Technology?
Is the Browser a Transitional Technology?Is the Browser a Transitional Technology?
Is the Browser a Transitional Technology?Allen Wirfs-Brock
 
What is cool with Domino V10, Proton and Node.JS, and why would I use it in ...
What is cool with Domino V10, Proton and Node.JS, and why would I use it in ...What is cool with Domino V10, Proton and Node.JS, and why would I use it in ...
What is cool with Domino V10, Proton and Node.JS, and why would I use it in ...Heiko Voigt
 
Enhancing and modifying_the_core_android_os
Enhancing and modifying_the_core_android_osEnhancing and modifying_the_core_android_os
Enhancing and modifying_the_core_android_osArnav Gupta
 
Mobility today & what's next. Application ecosystems.
Mobility today & what's next.Application ecosystems.Mobility today & what's next.Application ecosystems.
Mobility today & what's next. Application ecosystems.Petru Jucovschi
 
C# everywhere: Xamarin and cross platform development
C# everywhere: Xamarin and cross platform developmentC# everywhere: Xamarin and cross platform development
C# everywhere: Xamarin and cross platform developmentGill Cleeren
 
Software Development in 21st Century
Software Development in 21st CenturySoftware Development in 21st Century
Software Development in 21st CenturyHenry Jacob
 
Low Code Capabilities of Digital Product Design Platforms
Low Code Capabilities of Digital Product Design PlatformsLow Code Capabilities of Digital Product Design Platforms
Low Code Capabilities of Digital Product Design PlatformsJohnMcGuigan10
 
EclipseCon Fr 2018 - The future of development tooling: The example of Eclips...
EclipseCon Fr 2018 - The future of development tooling: The example of Eclips...EclipseCon Fr 2018 - The future of development tooling: The example of Eclips...
EclipseCon Fr 2018 - The future of development tooling: The example of Eclips...melbats
 
Forge - DevCon 2016: Implementing Rich Applications in the Browser
Forge - DevCon 2016: Implementing Rich Applications in the BrowserForge - DevCon 2016: Implementing Rich Applications in the Browser
Forge - DevCon 2016: Implementing Rich Applications in the BrowserAutodesk
 
Tech Thursdays: Building Products
Tech Thursdays: Building ProductsTech Thursdays: Building Products
Tech Thursdays: Building ProductsHayden Bleasel
 
Wessel Loth - Fire your Frontend Framework with Lit - TEQnation 2022.pdf
Wessel Loth - Fire your Frontend Framework with Lit - TEQnation 2022.pdfWessel Loth - Fire your Frontend Framework with Lit - TEQnation 2022.pdf
Wessel Loth - Fire your Frontend Framework with Lit - TEQnation 2022.pdfWessel Loth
 
NetWork - 15.10.2011 - Applied code generation in .NET
NetWork - 15.10.2011 - Applied code generation in .NET NetWork - 15.10.2011 - Applied code generation in .NET
NetWork - 15.10.2011 - Applied code generation in .NET Dmytro Mindra
 
A guide to hiring a great developer to build your first app (redacted version)
A guide to hiring a great developer to build your first app (redacted version)A guide to hiring a great developer to build your first app (redacted version)
A guide to hiring a great developer to build your first app (redacted version)Oursky
 
TypeScript - Javascript done right
TypeScript - Javascript done rightTypeScript - Javascript done right
TypeScript - Javascript done rightWekoslav Stefanovski
 

Semelhante a Modeling on the Web (20)

Synapse india reviews on android application
Synapse india reviews on android applicationSynapse india reviews on android application
Synapse india reviews on android application
 
Meetup. Technologies Intro for Non-Tech People
Meetup. Technologies Intro for Non-Tech PeopleMeetup. Technologies Intro for Non-Tech People
Meetup. Technologies Intro for Non-Tech People
 
MyAppConverter DroidconUK 2014
MyAppConverter DroidconUK 2014MyAppConverter DroidconUK 2014
MyAppConverter DroidconUK 2014
 
Domain Driven Design Big Picture Strategic Patterns
Domain Driven Design Big Picture Strategic PatternsDomain Driven Design Big Picture Strategic Patterns
Domain Driven Design Big Picture Strategic Patterns
 
Domain specific modelling (DSM)
Domain specific modelling (DSM)Domain specific modelling (DSM)
Domain specific modelling (DSM)
 
Introduction
IntroductionIntroduction
Introduction
 
Is the Browser a Transitional Technology?
Is the Browser a Transitional Technology?Is the Browser a Transitional Technology?
Is the Browser a Transitional Technology?
 
What is cool with Domino V10, Proton and Node.JS, and why would I use it in ...
What is cool with Domino V10, Proton and Node.JS, and why would I use it in ...What is cool with Domino V10, Proton and Node.JS, and why would I use it in ...
What is cool with Domino V10, Proton and Node.JS, and why would I use it in ...
 
Enhancing and modifying_the_core_android_os
Enhancing and modifying_the_core_android_osEnhancing and modifying_the_core_android_os
Enhancing and modifying_the_core_android_os
 
Mobility today & what's next. Application ecosystems.
Mobility today & what's next.Application ecosystems.Mobility today & what's next.Application ecosystems.
Mobility today & what's next. Application ecosystems.
 
C# everywhere: Xamarin and cross platform development
C# everywhere: Xamarin and cross platform developmentC# everywhere: Xamarin and cross platform development
C# everywhere: Xamarin and cross platform development
 
Software Development in 21st Century
Software Development in 21st CenturySoftware Development in 21st Century
Software Development in 21st Century
 
Low Code Capabilities of Digital Product Design Platforms
Low Code Capabilities of Digital Product Design PlatformsLow Code Capabilities of Digital Product Design Platforms
Low Code Capabilities of Digital Product Design Platforms
 
EclipseCon Fr 2018 - The future of development tooling: The example of Eclips...
EclipseCon Fr 2018 - The future of development tooling: The example of Eclips...EclipseCon Fr 2018 - The future of development tooling: The example of Eclips...
EclipseCon Fr 2018 - The future of development tooling: The example of Eclips...
 
Forge - DevCon 2016: Implementing Rich Applications in the Browser
Forge - DevCon 2016: Implementing Rich Applications in the BrowserForge - DevCon 2016: Implementing Rich Applications in the Browser
Forge - DevCon 2016: Implementing Rich Applications in the Browser
 
Tech Thursdays: Building Products
Tech Thursdays: Building ProductsTech Thursdays: Building Products
Tech Thursdays: Building Products
 
Wessel Loth - Fire your Frontend Framework with Lit - TEQnation 2022.pdf
Wessel Loth - Fire your Frontend Framework with Lit - TEQnation 2022.pdfWessel Loth - Fire your Frontend Framework with Lit - TEQnation 2022.pdf
Wessel Loth - Fire your Frontend Framework with Lit - TEQnation 2022.pdf
 
NetWork - 15.10.2011 - Applied code generation in .NET
NetWork - 15.10.2011 - Applied code generation in .NET NetWork - 15.10.2011 - Applied code generation in .NET
NetWork - 15.10.2011 - Applied code generation in .NET
 
A guide to hiring a great developer to build your first app (redacted version)
A guide to hiring a great developer to build your first app (redacted version)A guide to hiring a great developer to build your first app (redacted version)
A guide to hiring a great developer to build your first app (redacted version)
 
TypeScript - Javascript done right
TypeScript - Javascript done rightTypeScript - Javascript done right
TypeScript - Javascript done right
 

Último

Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareJim McKeeth
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...masabamasaba
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrandmasabamasaba
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park masabamasaba
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park masabamasaba
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastPapp Krisztián
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2
 
WSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...Jittipong Loespradit
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...masabamasaba
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfonteinmasabamasaba
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnAmarnathKambale
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationJuha-Pekka Tolvanen
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Bert Jan Schrijver
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplatePresentation.STUDIO
 
WSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburgmasabamasaba
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 

Último (20)

Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
 
WSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security Program
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the Situation
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
WSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - Keynote
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 

Modeling on the Web

  • 1. Modeling on the Web Pedro J. Molina, Ahmed Negm, Ruben Jiménez @pmolinam @anegm81 @rubenjmarrufo @icinetic
  • 2. Icinetic • We do MDSD Tools for Developers, Citizen Developers & End-Users • HQ in Seville, Spain, EU • Offices in San Francisco, Seattle, Cairo, Seville & Madrid http://www.icinetic.com/
  • 3. If I want to jump, but I am not trained What can I do? Question?
  • 4. A1: Lower the bar Question?
  • 6. Creating applications is getting more and more complex: Technologies, frameworks, versions, dependencies, different screen sizes and aspect ratios, incompatible API & vendors, platform fragmentation… How we can help as the MDE community? Why the metaphor?
  • 7. Types of complexities •Essential Complexity •Accidental Complexity Terms from : “Fred Brooks, 1986, No Silver Bullet” Complexities on Software
  • 8. Complexity inherent to the system been designed. “Everything should be made as simple as possible, but not simpler.” (A. Einstein) Essential Complexity
  • 9. Accidental Complexity Any other Extra Complexity arisen from tools, methods, technologies, etc. used to build the system. Programming languages, tools, frameworks… computers, devices introduce many, many Accidental Complexity.
  • 10. From idea  usage Idea  design  build  test  debug  provision  deploy  usage Can we do something to speed up this delivery critical path? Accidental Complexities
  • 11. MDE helps to reduce Accidental Complexity. The ultimate “noble” Quest for MDE Make life easier!
  • 12. Radarc online Radarc Abstraction Level covered by tools High Low Telerik AppBuilder Xamarin Visual Studio Eclipse MS Siena Wizards Models Code Graphical Design HTML+JS Native code Drag&Drop Models Deployed App Compiled App
  • 13. • Non coding skills Users • Amateurs Programmers • Citizen Developers • Professional Developers • Gurus / Hackers • Code Generation attendees ;-) • MPS Users };-) User, a segmentation
  • 14. The App industry is growing. End Users joining. Consumer • Mobile apps will be a $77B business by 2017 Business • Mobile Business apps will be worth almost $50B by 2017 • In 2013, an estimated 200 million workers used mobile business apps Citizen Developers • Users operating outside of the scope of enterprise IT and its governance who creates new business applications for consumption by others - Gartner • In 2014, 25% of new business applications will be delivered by Citizen Developers
  • 15. MDE • Developers: tendency to craftsmanship / artists / Not seen like an engineer… • Citizen Developers: benefit directly from automation and complexity hiding • We are not going to be enough • MDE is a tool for Lowering the Entry Barrier • Allowing non programmers to DIY to solve their day to day problems • Mobility, Ubiquity computers, Different UI, UX, form factors The role of MDE
  • 16. Last week at /Build Conference Microsoft presented the line of work they are going to push hard: Connected Devices • Same App • Cross Devices: Tablet / Phone • Adapted to the context (device, form factor, & user needs) Trend on Connected Devices Windows 8.1 Blue
  • 17. Google, Samsung, Microsoft working on: • Glasses • Phone • Tablets • TVs • Watches • Internet of Things Trend on Connected Devices Main Features • Same Services • Cross Devices • Contextual
  • 18. My code, my Treasure, my IDE? Where is my IDE now? It’s going with wind… to The Cloud! My code, my Treasure
  • 19. Everything going to The Cloud. Why? • Zero installation • Instant updates • Do it from any device, any time (any browser) My IDE  on The Cloud
  • 20. What is other people doing? State of the Art
  • 25. Martin Thiede http://concrete-editor.org Presented here a CG2010 Four years ago! Concrete Editor
  • 27. We decided at Icinetic: We need to go to the cloud, the sooner, the better. Move to the cloud
  • 28. Because Not Typed Relaxed syntax  error prone WAT Programming: http://bit.ly/watProg JavaScript is not my favorite language [] + [] [] + {} {} + [] {} + {}  “”  [Object Object]  0  NaN
  • 29. But It is the World most ubiquity computer runtime ever deployed. And runs fast in all modern browsers! JavaScript is not my favorite language
  • 30. • Global variables • with keyword • eval() • Type coercion • Block syntax with no block scope • Optional semicolons (sometimes, some browsers, but not all) First Developer Sin: Lack of understanding of its prototypical inheritance Recommended reading: Douglas Crockford book. “JavaScript: The Good parts” JavaScript main Sins
  • 31. Typescript typing the un-typed Type annotations, Generics, modules, classes, interfaces for JS Hack “typing” to PHP to support a gigantic codebase that has to be maintained. Dynamic typing languages are good for quick prototyping. Static typing languages are better for maintaining code. Compilers provide you a chance to catch some type error before the user see them. In any case, Unit Testing is A MUST in both code-camps. Taming the ‘wild’ JavaScript http://hacklang.org http://www.typescriptlang.org
  • 32. •Stateless •Scalable •Run in any browser •It is not a desktop frontend (almost!?) Web
  • 33. •Stateless •Scalable •Run in any browser •It is not a desktop frontend (almost!?) Web
  • 34. • Looking for • Textual • Diagram • Projectional • Tabular • Mixed forms. Editors for Models
  • 35. • Grammars • BNF • Parsers • Facilities • Inline errors • Syntax Coloring • Code Completion Textual Editors
  • 36. • Easier to use for non programmers • The editor follows the form of the model • Difficult to create non consistent models • Limited, constrained Projectional Editors
  • 37. • Graphical editors with a strong focus on visualization • Excellent for showing relationships between objects Diagram Editors
  • 38. Editors on the Web Demo Time D←mo
  • 39. Canvas Surface for drag and drop controls and UI components • Shows presentation layouts an embedding relationships • Objects can be setup one by one to the detail with an auxiliary Property Grid Editor Designer Editor
  • 40. • Tree Editors • Table Editors • Allows to cross two relationships for a set of objects and show or edit a third property in a tabular way • Custom Editors • Wizard style or free form of editor are also a good choice when UX is the key issue to address • Composed Editors • The previous one shows some paradigms for editor. Combining the previous ones to created compounded editors allows to create a complex one. Other Editors
  • 41. Language skills requires time and experience Level of abstraction of a language is a sword with two edges • Easy to think in such abstractions • Removes other details What happens when we need to go deeper in the details? • Progressive Modeling Customizations Cliffs
  • 42. End User Levels of abstraction for App Design Power User Developer Expert Developer / Architect
  • 43. • Simple Model for End Users • Powerful for advanced users • Full expressiveness power for developers: access to full details Progressive Modeling
  • 46. Progressive Modeling on http://radarconline.com (in Private Beta) All of you invited to try! Demo Time D←mo
  • 47. Models everywhere: generation/build pipeline Metamodel.meta Model.ts parser.pegjs Comon-js Format Server-side AMD Format Client/Browser-side Model.js parser.js Model.js parser.js Generation JSON Model.cs Parser.cs Model.java Lang.gram Meta-definitons
  • 48. Backend / Cloud Frontend • Where to validate? • XRefs? • How to propagate? Models everywhere
  • 49. Generation as a Service • If your IDE is in the cloud, • If your modeling is the cloud, • If your code is on the cloud • IaaS, PaaS, SaaS Where to put your code generators? GaaS
  • 51. The world is changing: • The Cloud is coming & disrupting • Mobile Devices • Devices Everywhere • Citizen Developers creating Apps Conclusions So, do we: • Getting ready for Cloud • Modeling once on the web • Tools for Citizen Developers • Reducing accidental complexity • Delivering Native Apps cross-devices
  • 52. • If we can Model on the Web as simple as possible • An then, get the application running on the device With Zero Technical Details • We have removed much of the Accidental Complexity Conclusions
  • 53. Lowering the Entry Barriers to Build Apps Conclusions
  • 55. “Devices everywhere & Platform Fragmentation have potential to make MDE inevitable.” A Prediction