Viewing By Category : Central / Main
Tuesday, November 9, 2004
Central SDK for Flex available
I wasn't aware of this but the Central SDK for Flex is already available at macromedia.com. Just browse over to the default download page for the Central SDK and click on the topmost link "Macromedia Central 1.5 SDK".
After agreeing to the license agreement you'll see the different downloads of the SDK - and now there also is the Flex SDK for Central.
Friday, October 15, 2004
Advanced RIA engineering: applications that run in the Browser and in Central
One of the most overlooked things about Central 1.5 is probably the fact that it is fully ActionScript 2.0 compatible. Combined with some best-practice design patterns it's now pretty easy to expand a Central application's field of operation into the browser - and vice versa. In one of our latest projects we went just that way: we needed to build a client software that runs in the browser and in in Central. Both versions needed to share the basic appliaction logic but have to be specific in their concrete runtime environment.
So basically we needed an application that behaves differently in different environments (Browser, Central) but still they should provide common interfaces to work on. We ended up with a the following setup:
A FlashPaper version of the above diagram is available here.
The main application ConcretePortableApp implements a comon interface PortableApp to ensure that the needed methods are available to the Client (in this context the term 'Client' refers to the part the of software that acts as a single entry point, e.g. a UIObject instance that initializes the rest of the application). The main application also defines the default behaviour of the application.
The main application is extended by two subclasses, CentralApp and BrowserApp. Both overwrite or extend the default behaviour according to their needs. For example, CentralApp also implements the mx.central.Central interface and initializes the Central environment during startup. Because both subclasses extend ConcretePortableApp they are also of type PortableApp. This means if we create instances of the sublcasses both will be compatible with our common interface.
This finally leads to the AppFactory class. The AppFactory uses logic to determine which class to instantiate according to the current runtime environment and returns an object of type PortableApp to the Client (again this is possible because of the implemented interface). That way the Client does not need to know in which runtime environment the application is running and can happily work with it.
I hope you found this article interesting - and if you have any comments or questions please do ask!
Friday, September 17, 2004
Some in-depth info on Central 1.5
Now that Central 1.5 is live I would like to contribute some developer-centric information on how the new feature set helped us in a just finished project for one of our customers.Basically, they use the Central platform to support their sales men on their sales business. More concrete infos on the project soon to come. But now for some technical stuff :)
First, Central 1.5 now fully supports all Flash Player 7 features while offering some more functionality. The most interesting one - especially when it comes to developing applications that should run offline, too - is the File IO API that let's you read/write files on the user's machine while remaining the security sandbox metaphor intact. This feature enables you to write directly to XML files for example - ne need to serialize your data to Shared Objects that are not human readable anymore. But you can also open mp3 files on the user's drive if he gave the permission do to that.
Together with the very effective caching functionality the File IO features simply rock! The key idea behind the caching is simple: if Central is online and you request a remote file (no matter how: XML.load(), LoadVars.load(), MovieClip.loadMovie(), ...) Central fetches this file - nothing special about that. You can then add this URL to Central's cache by calling addToLocalInternetCache(url) - the next time you request a cached URL, e.g. myXML.load(url) Central checks its cache and returns the cached file. If it's not there, Central gets the online version - very easy and effective. Now, suppose your offline: again, calling myXML.load(url) returns the cached version - you simply have to do nothing about it, the data loading calls are checking the cache subsystem and do their stuff. Very cool!
Another killer feature of the File IO API is the upload feature. I'm sure this will cause a lot of discussion, especially arguments like: "hey, if it is in Central, why can't we have it in the Flash Player, too?" - honestly, I don't know if this feature will be added to the regular Flash Player but it would be extremely helpful.
Central 1.5 also supports AS 2.0 and the v2 component framework, making it easier to maintain look & feel. Although the Central SDK comes with an own collection of the v2 components that are optimized for Central, 90% of the standard Flash MX 2004 components work in Central 1.5, too. This is not supported by Macromedia however but it works ;). This enabled us to create an application that runs in Central 1.5 and (with a limited feature set) in the browser, too. This is done with simple AS 2.0 inheritence: the main application logic acts as an superclass for the BrowserApp and the CentralApp classes which in turn overwrite/extend the main class to their needs - effective and easy.
The development process which was awkward in Central 1.0 has been optimized and offers developers now an integrated wizard in Flash MX 2004 that helps building and deploying Central 1.5 projects. Still it is not optimal, though: Central applications have to run inside the Central shell to test them so you have to switch between Flash and Central and real debugging is not possible. Anyway, I am really looking forward to Central 2.0 and give enough user input I am pretty sure this will be optimized.
Best of all, the Central licensing has been optimized. You can choose between two flavours: either you distribute your product as a try & buy product (for US residents only at the moment) or you choose the Open Distribution program which enables you to just distribute your application at your like. The best: it's free, baby - no more per seats/per year licensing. For more information check this link.
In summary Central 1.5 is worth checking out (I think so) - stay tuned for more information on our latest project, too. Here are some official links concerning 1.5:
PS: oh, and there's the new AIM/ICQ integration layer, basic Flex support and other things to examine!
Thursday, August 19, 2004
Do you miss the HotspotFinder?
There was a lot of holler lately about the Central HotspotFinder application and why it isn't availbale any more. Christian Cantrell has the answer.
Sunday, May 23, 2004
Central MX 1.5 Features
Wir sind zwar im aktuellen Beta von Central MX 1.5 und dürfen über kommende Features eigentlich nichts sagen, da aber nun in zahlreichen Blogs und MM-Präsentationen dieses Features bereits angekündigt werden, beziehe ich mich einfach auf diese Quellen ;-):
Improvements in 1.5 release Full support for FP7 ActionScript 2.0 File Upload and Download Improved UI, enhanced application try Memory/Performance Improvement Integration with Flash Authoring (3-click publishing) --> das wird den genervten Dirk besonders freuen!! Improved Network Detection Provide integration with Flex Public release of AIM SDK