SlideShare une entreprise Scribd logo
1  sur  16
Télécharger pour lire hors ligne
ABSTRACT APPLICATION LANGUAGE 
Mobile Cross-platform Development
AS-IS 
Platform dependent Application Lifecycle 
Development 
Deployment 
Support
AS-IS Development 
Implement requirements for all target platform (Android, iOS, …[, supporting different version of SDKs 
Using different languages, framework, design patterns, tools, …
AS-IS Deployment 
Using different API/applications to deploy an application 
Different graphical materials
AS-IS Support 
Create fixes and updates for all supported platforms in the same period of time 
Discrepancies between applications on different platforms are growing while the app lifecycle
AS-IS Solutions 
Hybrid app 
Cross-platform frameworks 
Generation Tools 
Rho 
Qt 
No business-logic support 
PhoneGap 
J2ME
TO-BE 
Abstract Language to create applications in a Declarative way 
Separation of L&F from business-logic 
Componentization and Graphical Design 
Open API for Components creation 
Automate deployment to different app stores 
Virtual App Repository to improve UX 
Social networking
TO-BE Abstract Language 
Business Rules 
Implementation 
Platform Functionality 
Abstract Declaration 
Business Logic 
Click Me 
If A < B then… 
L&F 
Fonts, Styles, Layouts, …
TO-BE Abstract Language (cont) 
main: GuiContainer 
address: ListView 
prv: ContentProvider 
address: Entity 
details: GuiContainer 
street: EditText 
city: EditTExt 
country: EditText
TO-BE Graphical Design 
UML-like Graphic representaion 
Scala representation 
val address = new GuiContainer { 
val street = new EditText 
val city = new EditText 
val country = new EditText 
} 
address: GuiContainer 
street: EditText 
city: EditTExt 
country: EditText
TO-BE Components Open API 
Scala DSL 
abstract class Widget(name: String) extends Component(name) { 
def importDeclaration: String 
def fieldDeclaration: String 
def initialization: String 
def initLoader: String 
def layoutTag: String 
def setValue(fromRef: String): String 
def getValue: String 
}
TO-BE Business Logic Mixing 
CodeGen API allows inject target-specific code into the app module: 
val doActivate = new Method("doActivate") { 
this <~ Import("android.os.Bundle") 
this <~ Import("android.content.Intent") 
override def signature = s"""$name(int)""" 
override def caller = s"""$name(${this("id")})""" 
override def holder = 
s""" 
private void $name(long id) { 
final Bundle bundle = new Bundle(); 
bundle.putLong("${this("idField")}", id); 
final Intent intent = new Intent(this, MyActivity.class); 
intent.putExtras(bundle); 
startActivity(intent); 
} 
""" 
}
App Repository 
Collects samples, applications and code snippet to share between community members. 
http://adaldev.com
Module Editor 
Allows to create and develop an application using code editor window and snippets. 
http://adaldev.com/builder
Target Project 
Generates a target project for chosen platform, browses source code, download app binary. 
http://adaldev.com/target
Questions

Contenu connexe

En vedette (8)

MOTION FOR CLASS 9
MOTION FOR CLASS 9MOTION FOR CLASS 9
MOTION FOR CLASS 9
 
Speed, Velocity And Acceleration
Speed, Velocity And AccelerationSpeed, Velocity And Acceleration
Speed, Velocity And Acceleration
 
MOTION
MOTIONMOTION
MOTION
 
Speed,velocity,acceleration
Speed,velocity,accelerationSpeed,velocity,acceleration
Speed,velocity,acceleration
 
Motion speed velocity_ ppt.
Motion speed velocity_ ppt.Motion speed velocity_ ppt.
Motion speed velocity_ ppt.
 
MOTION Class IX PowerPoint Presentation
MOTION Class IX PowerPoint Presentation MOTION Class IX PowerPoint Presentation
MOTION Class IX PowerPoint Presentation
 
Kinematics
KinematicsKinematics
Kinematics
 
Types of motion
Types of motion Types of motion
Types of motion
 

Similaire à Mobile Application Declarative Language

Visual Studio .NET2010
Visual Studio .NET2010Visual Studio .NET2010
Visual Studio .NET2010
Satish Verma
 
Whidbey old
Whidbey old Whidbey old
Whidbey old
grenaud
 
Android installation guide
Android installation guideAndroid installation guide
Android installation guide
magicshui
 

Similaire à Mobile Application Declarative Language (20)

Visual Studio .NET2010
Visual Studio .NET2010Visual Studio .NET2010
Visual Studio .NET2010
 
Cross platform mobile app development tools review
Cross platform mobile app development tools reviewCross platform mobile app development tools review
Cross platform mobile app development tools review
 
VB.Net Mod1.pptx
VB.Net Mod1.pptxVB.Net Mod1.pptx
VB.Net Mod1.pptx
 
Developing Android and iOS Apps With C#, .NET, Xamarin, Mono, and Windows Azure
Developing Android and iOS Apps With C#, .NET, Xamarin, Mono, and Windows AzureDeveloping Android and iOS Apps With C#, .NET, Xamarin, Mono, and Windows Azure
Developing Android and iOS Apps With C#, .NET, Xamarin, Mono, and Windows Azure
 
Windows 10 UWP Development Overview
Windows 10 UWP Development OverviewWindows 10 UWP Development Overview
Windows 10 UWP Development Overview
 
TK2323 Lecture 1 - Introduction to Mobile Application.pdf
TK2323 Lecture 1 - Introduction to Mobile Application.pdfTK2323 Lecture 1 - Introduction to Mobile Application.pdf
TK2323 Lecture 1 - Introduction to Mobile Application.pdf
 
Whidbey old
Whidbey old Whidbey old
Whidbey old
 
Liferay Italy Symposium 2015 Liferay Mobile SDK and Liferay Screens
Liferay Italy Symposium 2015 Liferay Mobile SDK and Liferay ScreensLiferay Italy Symposium 2015 Liferay Mobile SDK and Liferay Screens
Liferay Italy Symposium 2015 Liferay Mobile SDK and Liferay Screens
 
2008 - TechDays PT: Building Software + Services with Volta
2008 - TechDays PT: Building Software + Services with Volta2008 - TechDays PT: Building Software + Services with Volta
2008 - TechDays PT: Building Software + Services with Volta
 
viWave Study Group - Introduction to Google Android Development - Chapter 23 ...
viWave Study Group - Introduction to Google Android Development - Chapter 23 ...viWave Study Group - Introduction to Google Android Development - Chapter 23 ...
viWave Study Group - Introduction to Google Android Development - Chapter 23 ...
 
10 Key Criteria for Mobile Platform Selection
10 Key Criteria for Mobile Platform Selection10 Key Criteria for Mobile Platform Selection
10 Key Criteria for Mobile Platform Selection
 
Serverless in Swift like a Breeze
Serverless in Swift like a BreezeServerless in Swift like a Breeze
Serverless in Swift like a Breeze
 
Presentation - Course about JavaFX
Presentation - Course about JavaFXPresentation - Course about JavaFX
Presentation - Course about JavaFX
 
Android Tutorial
Android TutorialAndroid Tutorial
Android Tutorial
 
20 Most Helpful Node.JS Open Source Projects.pdf
20 Most Helpful Node.JS Open Source Projects.pdf20 Most Helpful Node.JS Open Source Projects.pdf
20 Most Helpful Node.JS Open Source Projects.pdf
 
Webhouse
WebhouseWebhouse
Webhouse
 
Microsoft 2014 Dev Plataform - Roslyn -& ASP.NET vNext
Microsoft 2014 Dev Plataform -  Roslyn -& ASP.NET vNextMicrosoft 2014 Dev Plataform -  Roslyn -& ASP.NET vNext
Microsoft 2014 Dev Plataform - Roslyn -& ASP.NET vNext
 
Android installation guide
Android installation guideAndroid installation guide
Android installation guide
 
Android App development and test environment, Understaing android app structure
Android App development and test environment, Understaing android app structureAndroid App development and test environment, Understaing android app structure
Android App development and test environment, Understaing android app structure
 
Visual studio
Visual studioVisual studio
Visual studio
 

Dernier

CALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best Night Fun service
CALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best Night Fun serviceCALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best Night Fun service
CALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best Night Fun service
anilsa9823
 
CALL ON ➥8923113531 🔝Call Girls Saharaganj Lucknow best sexual service
CALL ON ➥8923113531 🔝Call Girls Saharaganj Lucknow best sexual serviceCALL ON ➥8923113531 🔝Call Girls Saharaganj Lucknow best sexual service
CALL ON ➥8923113531 🔝Call Girls Saharaganj Lucknow best sexual service
anilsa9823
 

Dernier (7)

CALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best Night Fun service
CALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best Night Fun serviceCALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best Night Fun service
CALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best Night Fun service
 
Call US Pooja 9892124323 ✓Call Girls In Mira Road ( Mumbai ) secure service,
Call US Pooja 9892124323 ✓Call Girls In Mira Road ( Mumbai ) secure service,Call US Pooja 9892124323 ✓Call Girls In Mira Road ( Mumbai ) secure service,
Call US Pooja 9892124323 ✓Call Girls In Mira Road ( Mumbai ) secure service,
 
Powerful Love Spells in Arkansas, AR (310) 882-6330 Bring Back Lost Lover
Powerful Love Spells in Arkansas, AR (310) 882-6330 Bring Back Lost LoverPowerful Love Spells in Arkansas, AR (310) 882-6330 Bring Back Lost Lover
Powerful Love Spells in Arkansas, AR (310) 882-6330 Bring Back Lost Lover
 
BDSM⚡Call Girls in Sector 71 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 71 Noida Escorts >༒8448380779 Escort ServiceBDSM⚡Call Girls in Sector 71 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 71 Noida Escorts >༒8448380779 Escort Service
 
9892124323 | Book Call Girls in Juhu and escort services 24x7
9892124323 | Book Call Girls in Juhu and escort services 24x79892124323 | Book Call Girls in Juhu and escort services 24x7
9892124323 | Book Call Girls in Juhu and escort services 24x7
 
FULL ENJOY - 9999218229 Call Girls in {Mahipalpur}| Delhi NCR
FULL ENJOY - 9999218229 Call Girls in {Mahipalpur}| Delhi NCRFULL ENJOY - 9999218229 Call Girls in {Mahipalpur}| Delhi NCR
FULL ENJOY - 9999218229 Call Girls in {Mahipalpur}| Delhi NCR
 
CALL ON ➥8923113531 🔝Call Girls Saharaganj Lucknow best sexual service
CALL ON ➥8923113531 🔝Call Girls Saharaganj Lucknow best sexual serviceCALL ON ➥8923113531 🔝Call Girls Saharaganj Lucknow best sexual service
CALL ON ➥8923113531 🔝Call Girls Saharaganj Lucknow best sexual service
 

Mobile Application Declarative Language

  • 1. ABSTRACT APPLICATION LANGUAGE Mobile Cross-platform Development
  • 2. AS-IS Platform dependent Application Lifecycle Development Deployment Support
  • 3. AS-IS Development Implement requirements for all target platform (Android, iOS, …[, supporting different version of SDKs Using different languages, framework, design patterns, tools, …
  • 4. AS-IS Deployment Using different API/applications to deploy an application Different graphical materials
  • 5. AS-IS Support Create fixes and updates for all supported platforms in the same period of time Discrepancies between applications on different platforms are growing while the app lifecycle
  • 6. AS-IS Solutions Hybrid app Cross-platform frameworks Generation Tools Rho Qt No business-logic support PhoneGap J2ME
  • 7. TO-BE Abstract Language to create applications in a Declarative way Separation of L&F from business-logic Componentization and Graphical Design Open API for Components creation Automate deployment to different app stores Virtual App Repository to improve UX Social networking
  • 8. TO-BE Abstract Language Business Rules Implementation Platform Functionality Abstract Declaration Business Logic Click Me If A < B then… L&F Fonts, Styles, Layouts, …
  • 9. TO-BE Abstract Language (cont) main: GuiContainer address: ListView prv: ContentProvider address: Entity details: GuiContainer street: EditText city: EditTExt country: EditText
  • 10. TO-BE Graphical Design UML-like Graphic representaion Scala representation val address = new GuiContainer { val street = new EditText val city = new EditText val country = new EditText } address: GuiContainer street: EditText city: EditTExt country: EditText
  • 11. TO-BE Components Open API Scala DSL abstract class Widget(name: String) extends Component(name) { def importDeclaration: String def fieldDeclaration: String def initialization: String def initLoader: String def layoutTag: String def setValue(fromRef: String): String def getValue: String }
  • 12. TO-BE Business Logic Mixing CodeGen API allows inject target-specific code into the app module: val doActivate = new Method("doActivate") { this <~ Import("android.os.Bundle") this <~ Import("android.content.Intent") override def signature = s"""$name(int)""" override def caller = s"""$name(${this("id")})""" override def holder = s""" private void $name(long id) { final Bundle bundle = new Bundle(); bundle.putLong("${this("idField")}", id); final Intent intent = new Intent(this, MyActivity.class); intent.putExtras(bundle); startActivity(intent); } """ }
  • 13. App Repository Collects samples, applications and code snippet to share between community members. http://adaldev.com
  • 14. Module Editor Allows to create and develop an application using code editor window and snippets. http://adaldev.com/builder
  • 15. Target Project Generates a target project for chosen platform, browses source code, download app binary. http://adaldev.com/target