FlashDevelop: a powerfull and free AS3 development tool

If you work with Flash like I do you probably have said a bunch of bad words while you were coding AS3 using the native Flash IDE AS editor. I like Adobe, I really do, Flash can do amazing things and the IDE is getting more and more powerfull, however as a AS3 project manager, the Flash IDE sucks.

I could have saved tons of working hours if Flash IDE had some sort of smart code completion, or if it had a better project manager panel (a simple one that hides the SVN directories, for instance). The logical choise for me would be change to another IDE or methodology, such as Flex Buider, but sometimes I'm binded to the Flash IDE because I can't use a different approach.

Tired of wasting my time coding like that, I've decided to search for a better AS3 development tools. Thanks to the open source community, I've found FlashDevelop, a  free and open source ActionScript 2/3 and web development environment.  It seemlessly integrates with Adobe Flash IDE, Adobe Flex SDK, Mtasc, Haxe and Swfmill.

Some of the features:

  • AS2 Project management with seamless Swfmill and Mtasc integration (using a portable standalone command line tool).
  • Advanced ActionScript 2 and ActionScript 3 completion & code exploration with automatic classpath detection (even without project).
  • Smart contextual Actionscript code generators.
  • SWF and SWC classes and symbols exploration.
  • Test movie in Adobe Flash IDE and with clickable error results (Flash CS3).
  • MTASC compilation/code checking with clickable error results.
  • Types Explorer.
  • Automatically cleans ASO files of modified AS2 classes.
  • Files explorer (can create Flash 8 Trust Files for you).
  • Automatic JavaDoc creation from methods.
  • Smart Actionscript help websearch on F1.
  • Jump to class/member declaration on F4.
  • XML, HTML/PHP, JS, CSS code highlighting.
  • Multibyte character encoding.
  • Program menu customization with XML files.
  • as2api GUI for documentation generation.
  • Snippets, lines bookmarks, code folding and zoom.

FlashDevelop has enhanced my production cycle and I think it can do the same for you. Download it now and enjoy!

Tagged , , , , , ,

Webapps brought to the Desktop

Some years ago, the only thing that came to my mind when I heard the word "web" was "very simple websites", a bunch of bytes available for browing. Google was not even born at that time and everyhing was focused on desktop applications. If your application was able to connect to the web, then it could update itself in a easy way, nothing else.

The main flow was to bring every single business plan into the desktop world: office stuff (such as Microsoft Office), e-mail (Outlook), image, music, movies, etc. In the web world at that time, Javascript was an ugly word to be fired and Flash was just a way to make things look a little bit better.

The world is different now and ironically it seems to be the opposite of what it was in the past. Instead of bringing things into the desktop, the idea is to take them to the cloud, make them available on the web. This is happening very fast, but sometimes it's useful to have some desktop behavior in a web app, such as offline access to your e-mails.

webappers

Why can't we use the best things of those two words (web and the desktop)? Even better, why can't we use our web development knowledge to create hybrid apps that work in those two worlds? In fact, we can, and a lot of people have noticed that.

The first one I can recall is Adobe with Apollo, on March 19, 2007. Apollo, after named to Adobe Integrated Runtime (AIR), is a cross-platform runtime environment for building rich Internet applications using Flash, HTML or Ajax, that can be deployed as a desktop application. A very powerful tool able to create nice apps featuring half desktop half web blood.

Right after Adobe, Mozilla started working on a similtar idea and on October, 2007, Prism was born. It is open source, like all the things Mozilla does, and it splits web applications out of the browser and run them directly on the desktop. Prism development is not fast as Adobe's AIR is, but they are moving forward.

These days I've found a brand new tool like those previous ones: Appcelerator Titanium. As far as I could see, it works just like AIR, but it is open source. I read a few forum threads at Titanium forum and some developers said their Titanium apps were running faster then their AIR versions. Another very nice thing is you can use sevel languages to code your application, such as PHP and Phyton instead of only HTML and Javascript.

If you were thinking about developing an desktop-and-web application in a easy way, take a look at those options above. I'm sure you will have a lot of heavy weapons available to make your ideas to come true.

Tagged , , , , ,

IE6 has already fulfilled its destiny, it’s time to upgrade!

One of the most annoying thing I did during the development of our web projects was to keep our apps running smooth in a wide range of old browsers. Not too many years ago, there was only one "king" in the browser's kingdom: Microsoft Internet Explorer. King is a little bit unappropriated, however on February, 2005, IE 6 was pumping the web engines with a market share of 82.79%, what is a quite impressive number.

Excluding the security problems, the non W3C compliant behavior and other issues, IE6 as the only major browser would be a great deal to all web developers. The existence of  just one browser means few environments to test and few compatibility if/elses. The web-developers burden, however, was far from being released.

In 1996, Opera was first released publicly with version 2.0. Coming next, Apple first released Safari as a public beta on January 7, 2003. Following the flow, in November 9, 2004, Mozilla came up with Firefox 1.0. The last one to join the party was Google Chrome, released as a public beta on September 2, 2008. With the built-in markup madness that HTML allows and with no clear rules for how a browser should behave, the web development became a nightmare.

Luckly things got better and the development of major browsers started to have its foundations over W3C standards and performance worries. Every new version of each browser introduced a set of brand new stuffs, including security improvements and higher Acid scores. Everything would be great, except for one huge problem: IE6, an old and obsolete browser, is still widely used!

That problem drastically increases the complexity of web apps, because developers, in order to ensure the website will look fine, have to workaround all the stupid things IE6 does. As the WordPress guys usually say, "code is poetry"; in my opinion IE6 compatibility code is classified as a bunch of ugly words within a rhyme. It's time to move on, let IE6 go!

To tell that to your users, a good approach is the ie6 upgrade warning. It is a little script (7.9kb) that displays a warning message politely informing the user to upgrade the browser to a newer version (links to newest IE, Firefox, Opera, Safari, Chrome are provided).

Make the Internet a better place, let old things in the past and move on to the new ones. Upgrade your browser.

Tagged , ,

Profiling and debugging PHP

Reviewing the code is an important task every programmer must (or should) perform. Sometimes the program you have just coded looks nice and fast, because all the tests you have performed using your well-controlled devel0pment sandbox showed no errors.

Unless you are a god when programming, you may have left some little performance tweaks behind. Most of the time you can replace several method calls with the returned value stored in a variable, or avoiding nested for/whiles, or freeing a result set in order to save some memory, etc. In the end, all those tweaks can make the difference between a smooth user experience and an extremely painful development problem.

If you are a PHP developer, you can use the free PHP Quick Profiler (PQP) to help profiling and debugging your code. No more echoing vars, objects or queries in order to find performance mistakes. Using an automated tool to show you what is going on, you can save a lot of time and ensure your app is stable and fast. I read about PQP at WebAppers these days. They also have a screenshot (below) and a link for a demo.

PHP Profiler

If you want more options for profiling and debugging, I recommend Xdebug, which is a very powerful tool. We have been using it at Decadium for a long time.  Some of the features include stack traces and function traces in error messages (with full parameter display, function/file name and line indications), information about memory allocation and protection for infinite recursions.

Xdebug is also free and has support for Windows and Linux.

Tagged , , ,

Hello world!

Welcome to my personal website! Here you can find some information about my work, about the stuff I've created and about the useful (and not so useful) texts I read every day. I hope you can find here something cool or, at least, something able to help you somehow.

Feel free to mail me at any time for suggestions and enjoy the lack of content!