Dev Dives: Streamline document processing with UiPath Studio Web
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
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