firefox javascript

Werbung
C1
Mobile Apps
mit DSLs
und entfernter Codegenerierung
Codierst Du noch oder generierst Du schon?
Powered by
Generative Software GmbH
Freiburg
Powered by
Inhalt
Powered by
Plattformabhängige Entwicklung
JavaScript
Firefox OS
Java
Android
Objective-C
iOS
C#
Windows
Phone
Powered by
Plattformunabhängige Entwicklung
Web-Apps
Entwicklung von mobilen Web-Apps, im
Browser ausgeführt
Hybrid Apps
Entwicklung von nativen Apps, mit Hilfe
von Web-Technologien
Native Apps
Entwicklung von nativen Apps, mit Hilfe
von konventionellen Programmiersprachen
und Umgebungen, speziellen Frameworks,
Crosscompiling oder Interpretation
Powered by
Web-Apps
jQuery Mobile/JavaScript
Vaadin TouchKit/Java
Hybrid Apps
Appcelerator/JavaScript
Worklight/JavaScript
PhoneGap/JavaScript
Native Apps
Tabris/Java
Adobe Air/ActionScript
Delphi XE4/Object Pascal
Codename One/Java
Corona/Lua
Qt/C++
Mono/C#
Powered by
Alternative: DSLs + Codegenerierung
+
Powered by
Wir sind nicht die Einzigen …
Powered by
Plattformunabhängige Entwicklung mit DSLs
Firefox OS
JavaScript
Android
Java
gApp/gapp-DSLs
Objective-C
iOS
C#
Windows
Phone
Powered by
Vergleich – X Plattformen
Native
Anzahl Codebases X
Plattformnähe (Styleguide, API) Ja
Entwicklungsaufwand Hoch
Anzahl Entwickler mit nativem Plattform X
Know-How
Cross-Plattform
DSL + Codegen
1
X
Nein
Ja
Niedrig
Niedrig
0 (*)
X
(*) Bei der Notwendigkeit von plattformspezifischen Erweiterungen ist dieser Wert > 0
Powered by
Firefox/JavaScript
Android/Java
iOS/Objective-C
Windows Phone/C#
jQuery Mobile/JavaScript
Vaadin TouchKit/Java
Appcelerator/JavaScript
gApp/gapp-DSLs
Worklight/JavaScript
PhoneGap/JavaScript
Tabris/Java
Adobe Air/ActionScript
Delphi XE4/Object Pascal
Codename One/Java
Corona/Lua
Qt/C++
Mono/C#
Powered by
Modulare Codegenerierung
=
Parser
Android
Converter
Converter
Abstrac
t Syntax
Tree
Interne
s
Modell
Android
Modell
= Modell
= M2M Transformation
= M2C Transformation
Powered by
Entfernte Codegenerierung - IDE
Virtual Developer IDE
Eclipse
Virtual Developer
Generation Delegate
REST-API
Virtual Developer Generation-Unit
gApp
Powered by
Entfernte Codegenerierung - Server
Eclipse
Virtual Developer
Cloud-Connector
Virtual Developer
Portal
Virtual Developer
Generation-Unit
Virtual Developer Marketplace
Maven
Virtual Developer
Cloud-Connector
NetBeans
Virtual Developer
Cloud-Connector
Virtual Developer
Portal
Virtual Developer
Generation-Unit
Virtual Developer Server
Powered by
gApp - Textuelle DSLs
Ui: User Interface
Function: Schnittstellen, Business-Logik
Persistence: Daten und Persistenz
Basic: Typdefinitionen
Powered by
gApp DSL Tooling – Editor, Parser, …
Powered by
gApp - DSL für DSLs
UiElementsDefinition.gapp
hello-world-ui.gapp
Powered by
Ein Editor für beliebige textuelle DSLs
Powered by
Ui DSL - Sprachelemente
Application
Component
Databinding
Display
Flow
Interfaces
Layout
Storage
Toolbar
Module
Powered by
Android - Was wird generiert?
ApplicationManifest
StyleXML
DummyData
StringResXML
Application
Powered by
Function DSL - Sprachelemente
Function
Module
Powered by
REST, EJB – Was wird generiert?
REST Resource
REST
REST Resource Test
EJB Implementation
EJB Local Interface
EJB
EJB Remote Interface
EJB Test
Powered by
Persistence DSL - Sprachelemente
Entity
Module
Powered by
Android, JPA – Was wird generiert?
Entity Class
JPA
Entity DAO
Entity Test
Entity DAO Test
Data Class
Data Class Test
Android
Data Source Class
Data Source Class Test
Powered by
Basic DSL - Sprachelemente
Enumeration
Type
Module
Powered by
Plattformspezifische Modellierung
Spezifika für …
Mobile
Android
REST
EJB
JPA
->
->
->
->
->
MobileOptions.gapp
AndroidOptions.gapp
RestOptions.gapp
EJBOptions.gapp
JPAOptions.gapp
Powered by
Plattformspezifische Codierung
Spezifika für …
Layout
Navigation
Business-Logik
Powered by
Beispiel
Powered by
Powered by
Herunterladen