December 02, 2008
Use Flex Builder to extend the Suite
We’re working to make it easier & easier for Flash/Flex developers to extend the Creative Suite. The new PatchPanel technology allows developers to use ActionScript to access the scripting DOM of a CS host app.
- It’s easier to write code because the DOMs for Photoshop, Illustrator, InDesign and ExtendScript are imported directly into Flex Builder. That means all the benefits of developing SWFs and AIR applications in FlexBuilder can now be applied to the development process of SWF panels (e.g., code-hinting, code-completion, refactoring, etc.).
- Debugging is on par with developing within Flex Builder. We can actually run the SWF within the Creative Suite host application and debug directly within Flex Builder. That’s dramatically significant.
- We can develop for both platforms using the same code base.
- We can develop for PS/AI/ID using the same framework (not the same code, though, because of the sometimes dramatic differences between the DOMs).
- PatchPanel is free.
PatchPanel creator Bernd Paradies also cites the following:
- You can copy and paste your old ExtendScript scripts into your Flex project, build them, and run them.
- You can write PP code that targets other CS hosts (e.g., Photoshop.alert() in InDesign brings up Photoshop).
- PatchPanel comes with complete LiveDocs-style documentation for ID, PS, AI, Bridge, PatchPanel, and SwitchBoard.
- The PatchPanel CS4 examples come with MXI samples that make it really easy to create MXPs that you can install via Extension Manager 2.x.
- PatchPanel comes with a special version of SwitchBoard, which allows you to do asynchronous communication with other CS apps without having to go through the host.
- You can use PatchPanel in AIR applications for smaller scripts.
For a deeper dive, check out Bernd’s video demo & overview presentation. Also look for Dr. W’s MAX presentations & some new tutorials to emerge soon. In the meantime, developers can download PatchPanel from Labs and discuss it on the Labs forum.