Wednesday, September 28, 2011

Server.Transfer vs. Response.Redirect

Server.Transfer and Response.Redirect might seem like duplicates in ASP.NET but both are very different beasts. The fundamental difference between them is quiet easy to understand.



Fundamental Difference
Reponse.Redirect will forward the new url request to the end user browser as a 302 moved http response
Server.Transfer will continue the server side processing with a new aspx page

Implications
Intuitive with Respose.Redirect:
  • take longer due to a roundtrip (server - browser - server)
  • The address in the users browser address bar is changed
  • You can redirect to offsite pages
  • You can redirect to standard html pages
Additionally with Server.Transfer you can access properties of the aspx page that transfered the control whereas with Response.Redirect all the server side data objects are released (you can use session variable etc to store / retrieve and share data between pages obviously). 

Enjoy!

Wednesday, September 21, 2011

Android / iOS native marketplace / appstore applications with Flash / Flex Captive Runtime and Native Extensions

I am overjoyed to hear this news! The new version of flex SDK has just been released and now you can bundle AIR runtime WITH your android application. This new feature is called Captive Runtime support.





Press release : http://www.adobe.com/devnet/flex/articles/whats-new-flex-flash-builder-46.html

This has always been the way with iOS applications. i.e. you just compile your application and it runs straight from app store with no external dependency required. Previously the user needed to install adobe air separately on his android device similiar to how the user needs to install the adobe air runtime on the desktop.

A walkthrough for the Captive Runtime can be found here : http://www.tricedesigns.com/2011/08/10/air-3-0-captive-runtime/

This will be a huge win for flash / flex that are now fully native on iPad / iPhone / Android markets.

Also now on these devices you have the support to call native apis (similar to PInvoke in .NET). This feature is called Native extensions. A detailed description of how to do this can be found here : http://www.adobe.com/devnet/air/articles/extending-air.html

This really means that there is no boundary you cannot cross now with flash / flex on these devices.

Enjoy the new possibilities! 

Making game sprites with anime studio

Anime studio is a great software for rapid animation. I am in no way affiliated with the company ... just a fan :

It is great for character poses e.g. "thinking" pose:


And a "no you didn't" pose:


You can also add auto tweens between poses. And this is exactly what makes it great for making sprite sheets. You can export a sequence of pngs for your animation sequence and them combine them into a single sprite sheet png. Additionally it also has a great effects library support (smoke ... and ... blasts!).

I have known this for quite sometime but I just googled for it and a couple of interesting case studies came up.

Here is a video overview how you can use anime studio with GameMaker (tm) :


Here is a great game for apple iOS drawn with anime studio.
(Details : http://machineboy.com/blog/apps/2011/02/04/no-pain-no-game-making-your-first-iphone-game/)

Enjoy!

Thursday, September 1, 2011

The state of Flex Frameworks

As you might know I have been experimenting with Flex for a while. Due to the ability to target andoid/iOS/facebook in one go!

But the way I am wired I need to know just about everything about the technology before I start to get my feet wet. I learnt this with C#. Didn't know about reference types vs. value types after a whole year of coding! (although ... I do miss the careless abandon of my old coding ways)

I feel that now I have the language Actionscript down (I wrote a small book "Actionscript for C# developers" that I will share after its more stable) and have a fair understanding of the flex / flash apis. I now need to dive into the community work that has been done in flex.

Like silverlight / wpf (where I finally settled with MVVMLight ... and I know why I did that ;) ) I am going about searching for the most community accepted solution for flex. Fortunately I know about dependency injection, MVC (thanks to django), a lot about databinding (thanks to mvvm / silverlight / wpf) so its not a voyage of discovery rather a voyage of rediscovery.

Just FYI : With Silverlight / WPF it is clear to me that if I have ICommand delegate based implementation, a servicelocator implementation (and after MEF is officially a part .NET framework why go with any other?) , an INPC implementation and some form of App encompassing Mediator .... I am good to go! Now I need to figure out how these translate to Flex and what are the solutions proposed by the community.

Here are my two cents for flex:

Cairngorm (what was)
One thing is clear. Cairngorm is the official adobe solution : http://sourceforge.net/adobe/cairngorm/home/Home/ but is a no go for new projects. Its not really the ideal actionscript solution to the types of problems that are faced : http://archive.davidtucker.net/2009/10/13/the-current-state-of-flex-frameworks/
I do feel however that one should view how it was architectured before moving on to the community shiny frameworks.

Community (what is )
So now the question really comes down to which of these is the way to go. I am selecting the most popular solutions (high number of community supporters) here and not going with the completeness / quality. Because I am trying to be a late adapter for now :)

So heres the list I will be evaluating along with first opinions:



I took me about three months of active research and reading to fullly abridge the whole MVVM frameworks story for silverlight / wpf. I hope it will turn out faster for flex.

Till then enjoy!

Update October 2011:  It has become pretty clear to me that RobotLegs is the way to go. Infact it is one of the most watched Actionscript libraries on GitHub!