AS3 vs Java Christoph Pickl 1 Thursday, March 5, 2009
May 06, 2015
AS3 vs JavaChristoph Pickl
1Thursday, March 5, 2009
Getting used to Flex/ActionScript from a Java developer's perspective
www.jsug.at www.alpenflash.at2Thursday, March 5, 2009
Agenda1. Languages
2. Development
3. Design Patterns
4. Miscellaneous
3Thursday, March 5, 2009
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
4Thursday, March 5, 2009
Discussions during presentation are welcome
5Thursday, March 5, 2009
LanguagesActionScript 3 compared to Java
6Thursday, March 5, 2009
The limits of my language are the limits of my world.
Ludwig Wittgenstein
7Thursday, March 5, 2009
Advantages of AS3
Common Syntax
Function Type
Metaprogramming
Type Hinting (~static)
Built-in Language (e4x)
Mandatory override
+
8Thursday, March 5, 2009
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...
9Thursday, March 5, 2009
DevelopmentFlex Builder vs Java perspectives
10Thursday, March 5, 2009
Advantages
Fully integrated in Eclipse environment
Low Barrier of Entry
Use yet existing Power
Common Perspectives(Sync, Debug, ...)
Switching Languages
+
11Thursday, March 5, 2009
Disadvantages
Reorganize Imports
Slow Auto Completion
Code Templates
Incremental Compilation
Maven Plugin(s)
Not open source
Submitting patches?
−
12Thursday, March 5, 2009
Design PatternsReuse solutions for common problems
13Thursday, March 5, 2009
Patterns are great for forming a design vocabulary.
Bill Scott
14Thursday, March 5, 2009
Singleton in Javapackage 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();
15Thursday, March 5, 2009
Singleton in AS3package 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;
16Thursday, March 5, 2009
Design Patterns Book
Features of AS 3.0
OOP Concepts
12 Sample Patterns
Creational
Structural
Behavioral
www.as3dp.com17Thursday, March 5, 2009
RIA Patterns
http://www.uxmatters.com/mt/archives/2007/03/conference-review-uie-web-app-summit-2007-part-ii.php
18Thursday, March 5, 2009
MiscellaneousStuff that didn’t fit (in other chapters)
19Thursday, March 5, 2009
Frameworks?!
Apache Stuff
Logging, Collections, ...
IoC-Container
Spring ActionScript
Maven
Unit Testing
OR-Mapper
20Thursday, March 5, 2009
We don’t like proprietary stuff!
If it’s not opensource,please keep it away from us!
21Thursday, March 5, 2009
ConclusioSun guys are engineers
Adobe guys are designers
Bring’em together
22Thursday, March 5, 2009
Any Questions?
[email protected], March 5, 2009