Update : Unity3D has set up an exporter to target Flash which works very well! Without doubt they are working on an exporter for HTML5 too. This technology seems to be promising, I’ve added it on my to learn list!
I wouldn’t come back on the Adobe announcements, everyone know what’s happened and it has already been discussed everywhere. I just would like to share my student point of view about the future.
I started to develop and learn programming with AS3 5 years ago. It was in 2007, AS3 was just out. AS3 is really a cool language to learn programming. I know that purist doesn’t like it and say that it’s shit… but most of them have never taken a look on it. AS3 is OOP programming language, it’s easy to manage picture/shape, memory too (yeah the GC isn’t perfect, and you have to learn good practice but for the best), no pointer, simple listener on events, work with diversified media : video/sound/3D/game… and finally we can use frameworks which are available in other languages such as Box2D.
I loved learning C: managing memory, C++ :writing complex OOP (multi-heritage, operator overloading…), Java which has a syntax close to AS3 (yeah, I know its just the opposite ) and its difference on constructor, listeners…
Since last year, I’m back in the web and works essentially with AS3, and I feel really stronger than before because I learned newest things form other languages.
So what’s up now? Flash isn’t dead yet, and probably not in the next five years. But we couldn’t say that it’s always popular, don’t lie to yourself HTML5/CSS3/JS is the new elected. And now you have to think about what you love, here are mine :
– working in a web agency (I have sandwich course) with a small team (not like on a big game with 300 people).
– diversity : video/sounds/3D…
– desktop/mobile applications.
Finally I consider myself as an interactive developer. Here is what I don’t like :
– “back development” such as php, I don’t feel really comfortable with database.
– CSS/JS it’s not a troll… I will explain after.
– working on CMS website.
So this last day, I said to myself : “You must learn newest things, it’s time”. In july, I will work at full time and I’m not sure to find easily some works with my flash skills. So it’s time to start learning newest things. If you are a hero flash developer it may not be a big problem for you, you have enough experienced to work on amazing project (if you are up to date!), for people like me, I’m not sure. So here are my reflexions about what new skills I should pick up or not :
– HTML/CSS/JS, I will follow their updates as a web developer, but it’s not my priority at the moment. I’m not trolling : I don’t like CSS tricks, and JS is definitely not a better language than AS3 for lots of reasons. Obviously, we can make amazing things with framework like ThreeJS, WebGL, and the flash community has started to make amazing tools like this one for example : HTML5 Canvas API implementation of the AS3 BitmapData class. But JS with Jquery… is not something which interest me a lot, I’m not sure it will increase my programming skills as much as other languages.
– AIR & FP, I must keep my skills up to date. There are always lots of things to learn, and some cool stuff is coming (stage 3d on mobile). And AIR is really useful to create apps for desktop/ios/android.
– haXe, I’m following strongly haXe & nme activities. haXe may be the next programming language that we should learn, but the market isn’t ready : I can’t find any jobs which request strong haXe skills. And it’s not a junior developer who will impose his method.
– Hiddenwwod, like haXe HiddenWood sounds very interesting… but the same doubts here.
– Unity3D, I’m very interesting in Unity… but what will happen if in 2 years a good 3D game editors made with HTML5/CSS/JS is out? And I’m sure that there will be one.
– Java & Android, today was my last training day on this, it was great & fun to work (fight? ) again with Java. However I don’t feel really comfortable with it, and I’ve just bought an iPhone 4S, so…
– Objective-C & iOS, finally I will learn Objective-C. I know it’s really not the most beautiful programming language, but it’s an old one. I know it isn’t request for simple apps (air or html apps are great), but I’m interested in games. So after some days on this language, I will learn Sparrow Game Framework or Cocos 2D Game Framework, maybe Cocos 2D because it doesn’t simulate the flash displaylist/API like the other one. Even if it will be harder, I think it is better to learn a new language : start from scratch and learn language specificity.
To conclude here is my roadmap for 2012 :
– keep playing with flash (hey I’m an CitrusEngine’s official contributor now, cool stuff in preparation) & air.
– keep an eye on HTML/CSS/JS… my point of view might change (keep an opened mind!).
– learn Objective-C and made some cool apps & games!
– keep an eye on haXe and HiddenWood.
AIR is ready for AS3 developers and some new cool stuff is arriving (stage 3d), but it could not be as good as native apps. However haXe & HiddenWood seems to be, but it’s not easy to find a job with those skills.
So continue to improve your skills on what you love, keep an eye on your “old” job, learn strong language like Objective-C / Java, and be ready for cross platform compilation framework / language.
Finally future is really exciting!
And you, what do you think ?