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 - ActionScript 3 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 - ActionScript 3 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 - AS3 vs Java by Christoph Pickl
JSUG - AS3 vs Java by Christoph PicklJSUG - AS3 vs Java by Christoph Pickl
JSUG - AS3 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 - 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 - 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
 
JSUG - QTJambi by Jan Zarnikov
JSUG - QTJambi by Jan ZarnikovJSUG - QTJambi by Jan Zarnikov
JSUG - QTJambi by Jan Zarnikov
 
JSUG - Bazaar by Florian Motlik
JSUG - Bazaar by Florian MotlikJSUG - Bazaar by Florian Motlik
JSUG - Bazaar by Florian Motlik
 
JSUG - Effective Java Puzzlers by Christoph Pickl
JSUG - Effective Java Puzzlers by Christoph PicklJSUG - Effective Java Puzzlers by Christoph Pickl
JSUG - Effective Java Puzzlers by Christoph Pickl
 
JSUG - Maven by Michael Greifeneder
JSUG - Maven by Michael GreifenederJSUG - Maven by Michael Greifeneder
JSUG - Maven by Michael Greifeneder
 
JSUG - RESTful Web Services by Florian Motlik
JSUG - RESTful Web Services by Florian MotlikJSUG - RESTful Web Services by Florian Motlik
JSUG - RESTful Web Services by Florian Motlik
 
JSUG - Scala Lightning Talk by Michael Greifeneder
JSUG - Scala Lightning Talk by Michael GreifenederJSUG - Scala Lightning Talk by Michael Greifeneder
JSUG - Scala Lightning Talk by Michael Greifeneder
 

Último

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
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)

Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
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
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
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
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
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
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 

JSUG - ActionScript 3 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