SlideShare una empresa de Scribd logo
1 de 23
Descargar para leer sin conexión
AS3 vs Java
          Christoph Pickl




Thursday, March 5, 2009     1
Getting used to Flex/ActionScript
          from a Java developer's perspective




      www.jsug.at                www.alpenflash.at
Thursday, March 5, 2009                             2
Agenda
          1. Languages
          2. Development
          3. Design Patterns
          4. Miscellaneous


Thursday, March 5, 2009        3
About Myself

               TU Wien Student
               Former Java Developer
               Flash since Version 5
               Co-Founder of jsug.at
               DJ/Turntablist


                                       http://web.student.tuwien.ac.at/~e0525580

Thursday, March 5, 2009                                                            4
Discussions during
          presentation are welcome



Thursday, March 5, 2009              5
Languages
          ActionScript 3 compared to Java

Thursday, March 5, 2009                     6
The limits of my language are the limits of my world.
                                     Ludwig Wittgenstein




Thursday, March 5, 2009                                       7
Advantages of AS3
               Common Syntax



                                         +
               Function Type
               Metaprogramming
               Type Hinting (~static)
               Built-in Language (e4x)
               Mandatory override



Thursday, March 5, 2009                      8
Disadvantages of AS3

                                               Lack of OOP Features
                                                 No abstract classes



                            −
                                                 No private constructors

                                               Dynamic Classloading
                                               Strings instead Enums
                                               Runtime Errors

              Many things are coming soon...


Thursday, March 5, 2009                                                    9
Development
          Flex Builder vs Java perspectives

Thursday, March 5, 2009                       10
Advantages

               Fully integrated in



                                              +
               Eclipse environment
                     Low Barrier of Entry
                     Use yet existing Power
                     Common Perspectives
                     (Sync, Debug, ...)

               Switching Languages



Thursday, March 5, 2009                           11
Disadvantages
                              Reorganize Imports
                              Slow Auto Completion



                          −
                              Code Templates
                              Incremental Compilation
                              Maven Plugin(s)
                              Not open source
                                Submitting patches?


Thursday, March 5, 2009                                 12
Design Patterns
          Reuse solutions for common problems

Thursday, March 5, 2009                         13
Patterns are great for forming a design vocabulary.
                                                 Bill Scott




Thursday, March 5, 2009                                       14
Singleton in Java
          package at.jsug.as3vsjava;

          public class Single {

               private static final Single INSTANCE = new Single();
          	
               private Single() {}
          	
               public static Single getInstance() {
                 return INSTANCE;
               }
          	
          }

          // final Single single = Single.getInstance();




Thursday, March 5, 2009                                               15
Singleton in AS3
          package at.jsug.as3vsjava {

          public class Single {	
            private static var INSTANCE: Single;
            public function Single(enforcer: SingletonEnforcer) { }
            public static function get instance(): Single {
              if(INSTANCE == null) {
                INSTANCE = new Single(new SingletonEnforcer());
              }
              return INSTANCE;
            }
          }
          }
          class SingletonEnforcer { }

          // const single: Single = Single.instance;


Thursday, March 5, 2009                                               16
Design Patterns Book
               Features of AS 3.0
               OOP Concepts
               12 Sample Patterns
                     Creational
                     Structural
                     Behavioral

                                    www.as3dp.com
Thursday, March 5, 2009                             17
RIA Patterns




    http://www.uxmatters.com/mt/archives/2007/03/conference-review-uie-web-app-summit-2007-part-ii.php
Thursday, March 5, 2009                                                                                  18
Miscellaneous
          Stuff that didn’t fit (in other chapters)

Thursday, March 5, 2009                              19
Frameworks?!
               Apache Stuff
                     Logging, Collections, ...

               IoC-Container
                     Spring ActionScript

               Maven
               Unit Testing
               OR-Mapper


Thursday, March 5, 2009                          20
We don’t like proprietary stuff!


                          If it’s not opensource,
                          please keep it away from us!


Thursday, March 5, 2009                                  21
Conclusio
                           Sun guys are engineers
                          Adobe guys are designers
                            Bring’em together




Thursday, March 5, 2009                              22
Any Questions?


                            christoph.pickl@student.tuwien.ac.at
Thursday, March 5, 2009                                        23

Más contenido relacionado

Similar a JSUG - AS3 vs Java by Christoph Pickl

Keeping your users happy with testable apps - Greg Shackles
Keeping your users happy with testable apps - Greg ShacklesKeeping your users happy with testable apps - Greg Shackles
Keeping your users happy with testable apps - Greg Shackles
Xamarin
 
Accelerate Your Rails Site with Automatic Generation-Based Action Caching
Accelerate Your Rails Site with Automatic Generation-Based Action CachingAccelerate Your Rails Site with Automatic Generation-Based Action Caching
Accelerate Your Rails Site with Automatic Generation-Based Action Caching
elliando dias
 
The Horoscope of OSGi: Meet Eclipse Libra, Virgo and Gemini (JavaOne 2013)
The Horoscope of OSGi: Meet Eclipse Libra, Virgo and Gemini (JavaOne 2013)The Horoscope of OSGi: Meet Eclipse Libra, Virgo and Gemini (JavaOne 2013)
The Horoscope of OSGi: Meet Eclipse Libra, Virgo and Gemini (JavaOne 2013)
Murat Yener
 

Similar a JSUG - AS3 vs Java by Christoph Pickl (20)

JavaScript for PHP Developers
JavaScript for PHP DevelopersJavaScript for PHP Developers
JavaScript for PHP Developers
 
Chad Udell - Developers are from Mars, Designers are from Venus
Chad Udell - Developers are from Mars, Designers are from VenusChad Udell - Developers are from Mars, Designers are from Venus
Chad Udell - Developers are from Mars, Designers are from Venus
 
Becoming Indie
Becoming IndieBecoming Indie
Becoming Indie
 
DrupalCon DC: Busines Analytics with Views
DrupalCon DC: Busines Analytics with ViewsDrupalCon DC: Busines Analytics with Views
DrupalCon DC: Busines Analytics with Views
 
Building A Framework On Rack
Building A Framework On RackBuilding A Framework On Rack
Building A Framework On Rack
 
Managing And Optimizing Memory Usage
Managing And Optimizing Memory UsageManaging And Optimizing Memory Usage
Managing And Optimizing Memory Usage
 
Intravert atx meetup_condensed
Intravert atx meetup_condensedIntravert atx meetup_condensed
Intravert atx meetup_condensed
 
intl me this, intl me that
intl me this, intl me thatintl me this, intl me that
intl me this, intl me that
 
Becoming Indie
Becoming IndieBecoming Indie
Becoming Indie
 
Smalltalk Metaprogramming supports Probabilistic Program Analysis
Smalltalk Metaprogramming supports Probabilistic Program AnalysisSmalltalk Metaprogramming supports Probabilistic Program Analysis
Smalltalk Metaprogramming supports Probabilistic Program Analysis
 
MacRuby - When objective-c and Ruby meet
MacRuby - When objective-c and Ruby meetMacRuby - When objective-c and Ruby meet
MacRuby - When objective-c and Ruby meet
 
Keeping your users happy with testable apps - Greg Shackles
Keeping your users happy with testable apps - Greg ShacklesKeeping your users happy with testable apps - Greg Shackles
Keeping your users happy with testable apps - Greg Shackles
 
Open Web
Open WebOpen Web
Open Web
 
Cracking OCPJP 7 exam
Cracking OCPJP 7 examCracking OCPJP 7 exam
Cracking OCPJP 7 exam
 
Django Testing
Django TestingDjango Testing
Django Testing
 
Java E O Mercado De Trabalho
Java E O Mercado De TrabalhoJava E O Mercado De Trabalho
Java E O Mercado De Trabalho
 
The Right Pill for JRuby Memory and Thread Issues: Eclipse Memory Analyzer
The Right Pill for JRuby Memory and Thread Issues: Eclipse Memory AnalyzerThe Right Pill for JRuby Memory and Thread Issues: Eclipse Memory Analyzer
The Right Pill for JRuby Memory and Thread Issues: Eclipse Memory Analyzer
 
Accelerate Your Rails Site with Automatic Generation-Based Action Caching
Accelerate Your Rails Site with Automatic Generation-Based Action CachingAccelerate Your Rails Site with Automatic Generation-Based Action Caching
Accelerate Your Rails Site with Automatic Generation-Based Action Caching
 
The Horoscope of OSGi: Meet Eclipse Libra, Virgo and Gemini (JavaOne 2013)
The Horoscope of OSGi: Meet Eclipse Libra, Virgo and Gemini (JavaOne 2013)The Horoscope of OSGi: Meet Eclipse Libra, Virgo and Gemini (JavaOne 2013)
The Horoscope of OSGi: Meet Eclipse Libra, Virgo and Gemini (JavaOne 2013)
 
Atlassian - A Different Kind Of Software Company
Atlassian - A Different Kind Of Software CompanyAtlassian - A Different Kind Of Software Company
Atlassian - A Different Kind Of Software Company
 

Más de Christoph Pickl

Más de Christoph Pickl (20)

JSUG - Layouting TeX documents with the Memoir class
JSUG - Layouting TeX documents with the Memoir classJSUG - Layouting TeX documents with the Memoir class
JSUG - Layouting TeX documents with the Memoir class
 
JSUG - Cocoon3 Student Project Idea by Reinhard Poetz and Steven Dolg
JSUG - Cocoon3 Student Project Idea by Reinhard Poetz and Steven DolgJSUG - Cocoon3 Student Project Idea by Reinhard Poetz and Steven Dolg
JSUG - Cocoon3 Student Project Idea by Reinhard Poetz and Steven Dolg
 
JSUG - ActionScript 3 vs Java by Christoph Pickl
JSUG - ActionScript 3 vs Java by Christoph PicklJSUG - ActionScript 3 vs Java by Christoph Pickl
JSUG - ActionScript 3 vs Java by Christoph Pickl
 
JSUG - TeX, LaTeX und der Rest by Norbert Preining
JSUG - TeX, LaTeX und der Rest by Norbert PreiningJSUG - TeX, LaTeX und der Rest by Norbert Preining
JSUG - TeX, LaTeX und der Rest by Norbert Preining
 
JSUG - TeX Day by Christoph Pickl
JSUG - TeX Day by Christoph PicklJSUG - TeX Day by Christoph Pickl
JSUG - TeX Day by Christoph Pickl
 
JSUG - The Sound of Shopping by Christoph Pickl
JSUG - The Sound of Shopping by Christoph PicklJSUG - The Sound of Shopping by Christoph Pickl
JSUG - The Sound of Shopping by Christoph Pickl
 
JSUG - Tim aka EPROG2 by Martin Schuerrer
JSUG - Tim aka EPROG2 by Martin SchuerrerJSUG - Tim aka EPROG2 by Martin Schuerrer
JSUG - Tim aka EPROG2 by Martin Schuerrer
 
JSUG - Java Service Enabler by Andreas Hubmer
JSUG - Java Service Enabler by Andreas HubmerJSUG - Java Service Enabler by Andreas Hubmer
JSUG - Java Service Enabler by Andreas Hubmer
 
JSUG - Hoppla by Florian Motlik and Petar Petrov
JSUG - Hoppla by Florian Motlik and Petar PetrovJSUG - Hoppla by Florian Motlik and Petar Petrov
JSUG - Hoppla by Florian Motlik and Petar Petrov
 
JSUG - Google Web Toolkit by Hans Sowa
JSUG - Google Web Toolkit by Hans SowaJSUG - Google Web Toolkit by Hans Sowa
JSUG - Google Web Toolkit by Hans Sowa
 
JSUG - TU Wien Cocoon Project by Andreas Pieber
JSUG - TU Wien Cocoon Project by Andreas PieberJSUG - TU Wien Cocoon Project by Andreas Pieber
JSUG - TU Wien Cocoon Project by Andreas Pieber
 
JSUG - TU Wien Castor Project by Lukas Lang
JSUG - TU Wien Castor Project by Lukas LangJSUG - TU Wien Castor Project by Lukas Lang
JSUG - TU Wien Castor Project by Lukas Lang
 
JSUG - LaTeX Introduction by Christoph Pickl
JSUG - LaTeX Introduction by Christoph PicklJSUG - LaTeX Introduction by Christoph Pickl
JSUG - LaTeX Introduction by Christoph Pickl
 
JSUG - OSGi by Michael Greifeneder
JSUG - OSGi by Michael GreifenederJSUG - OSGi by Michael Greifeneder
JSUG - OSGi by Michael Greifeneder
 
JSUG - Filthy Flex by Christoph Pickl
JSUG - Filthy Flex by Christoph PicklJSUG - Filthy Flex by Christoph Pickl
JSUG - Filthy Flex by Christoph Pickl
 
JSUG - Seam by Florian Motlik
JSUG - Seam by Florian MotlikJSUG - Seam by Florian Motlik
JSUG - Seam by Florian Motlik
 
JSUG - Google Guice by Jan Zarnikov
JSUG - Google Guice by Jan ZarnikovJSUG - Google Guice by Jan Zarnikov
JSUG - Google Guice by Jan Zarnikov
 
JSUG - Java FX by Christoph Pickl
JSUG - Java FX by Christoph PicklJSUG - Java FX by Christoph Pickl
JSUG - Java FX by Christoph Pickl
 
JSUG - Tech Tips1 by Christoph Pickl
JSUG - Tech Tips1 by Christoph PicklJSUG - Tech Tips1 by Christoph Pickl
JSUG - Tech Tips1 by Christoph Pickl
 
JSUG - Inversion Of Control by Florian Motlik
JSUG - Inversion Of Control by Florian MotlikJSUG - Inversion Of Control by Florian Motlik
JSUG - Inversion Of Control by Florian Motlik
 

Último

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Último (20)

The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 

JSUG - AS3 vs Java by Christoph Pickl

  • 1. AS3 vs Java Christoph Pickl Thursday, March 5, 2009 1
  • 2. Getting used to Flex/ActionScript from a Java developer's perspective www.jsug.at www.alpenflash.at Thursday, March 5, 2009 2
  • 3. Agenda 1. Languages 2. Development 3. Design Patterns 4. Miscellaneous Thursday, March 5, 2009 3
  • 4. About Myself TU Wien Student Former Java Developer Flash since Version 5 Co-Founder of jsug.at DJ/Turntablist http://web.student.tuwien.ac.at/~e0525580 Thursday, March 5, 2009 4
  • 5. Discussions during presentation are welcome Thursday, March 5, 2009 5
  • 6. Languages ActionScript 3 compared to Java Thursday, March 5, 2009 6
  • 7. The limits of my language are the limits of my world. Ludwig Wittgenstein Thursday, March 5, 2009 7
  • 8. Advantages of AS3 Common Syntax + Function Type Metaprogramming Type Hinting (~static) Built-in Language (e4x) Mandatory override Thursday, March 5, 2009 8
  • 9. Disadvantages of AS3 Lack of OOP Features No abstract classes − No private constructors Dynamic Classloading Strings instead Enums Runtime Errors Many things are coming soon... Thursday, March 5, 2009 9
  • 10. Development Flex Builder vs Java perspectives Thursday, March 5, 2009 10
  • 11. Advantages Fully integrated in + Eclipse environment Low Barrier of Entry Use yet existing Power Common Perspectives (Sync, Debug, ...) Switching Languages Thursday, March 5, 2009 11
  • 12. Disadvantages Reorganize Imports Slow Auto Completion − Code Templates Incremental Compilation Maven Plugin(s) Not open source Submitting patches? Thursday, March 5, 2009 12
  • 13. Design Patterns Reuse solutions for common problems Thursday, March 5, 2009 13
  • 14. Patterns are great for forming a design vocabulary. Bill Scott Thursday, March 5, 2009 14
  • 15. Singleton in Java package at.jsug.as3vsjava; public class Single { private static final Single INSTANCE = new Single(); private Single() {} public static Single getInstance() { return INSTANCE; } } // final Single single = Single.getInstance(); Thursday, March 5, 2009 15
  • 16. Singleton in AS3 package at.jsug.as3vsjava { public class Single { private static var INSTANCE: Single; public function Single(enforcer: SingletonEnforcer) { } public static function get instance(): Single { if(INSTANCE == null) { INSTANCE = new Single(new SingletonEnforcer()); } return INSTANCE; } } } class SingletonEnforcer { } // const single: Single = Single.instance; Thursday, March 5, 2009 16
  • 17. Design Patterns Book Features of AS 3.0 OOP Concepts 12 Sample Patterns Creational Structural Behavioral www.as3dp.com Thursday, March 5, 2009 17
  • 18. RIA Patterns http://www.uxmatters.com/mt/archives/2007/03/conference-review-uie-web-app-summit-2007-part-ii.php Thursday, March 5, 2009 18
  • 19. Miscellaneous Stuff that didn’t fit (in other chapters) Thursday, March 5, 2009 19
  • 20. Frameworks?! Apache Stuff Logging, Collections, ... IoC-Container Spring ActionScript Maven Unit Testing OR-Mapper Thursday, March 5, 2009 20
  • 21. We don’t like proprietary stuff! If it’s not opensource, please keep it away from us! Thursday, March 5, 2009 21
  • 22. Conclusio Sun guys are engineers Adobe guys are designers Bring’em together Thursday, March 5, 2009 22
  • 23. Any Questions? christoph.pickl@student.tuwien.ac.at Thursday, March 5, 2009 23