Ext

Ext JS Designer Preview

October 8, 2009 by Aaron Conran

We are very excited to share our latest version of the Ext JS Designer. This new version adds many new features to improve your efficiency creating application designs. Once you get accustomed to these features its difficult to live without them. For those of you that don't have the time or ability to download and play around with the Designer, we have created a Preview screencast in which we mock up some interfaces. We have tried to show off as much features and functionality as possible.

New Features

  • Duplicating Components
  • Transforming Components
  • Undo/Redo
  • Configuration Searching
  • Auto Updating
  • Screenshots

Duplicating Components

How many times have you copied and pasted a set of source code and/or configuration and modify a couple of values to save on some keystrokes? The designer now has the same ability by providing you the ability to duplicate sets of components and then modify their values.

Take a look at this quick sample where I've leveraged the duplicate functionality to quickly build a form without dragging and dropping the components and setting up common configurations over and over.

Building a simple form:
Building a simple form

Transforming Components

When developing you are capable of quickly changing a component from one class to another without losing your configurations by changing the class that you are extending from or instantiating.

For Example:
MyGrid = Ext.extend(Ext.grid.EditorGridPanel, {
 
});
// or
new Ext.grid.EditorGridPanel({
 
});

Developing in the designer should not be any different. If after creating a GridPanel I decide that I really meant to use an EditorGridPanel. I can right click on the component within the inspector and see which transformation options are available.

A GridPanel can be transformed to an EditorGridPanel and vice-versa.
A GridPanel can be transformed to an EditorGridPanel and vice-versa

Let's put together a GridPanel. When we drag out a field for a particular column the designer intelligently knows that in order to use a TextField within a column it must convert itself to an EditorGrid. The designer will automatically perform this transformation for you.

Loan Application Grid

Another interesting transformation is converting a TabPanel to a Panel and then setting the layout to accordion. Fields are capable of transforming between types.

Component Undo/Redo

If you make a mistake while putting together your application you can undo/redo the last change that was made via the Undo and Redo buttons in the top toolbar. A current limitation of this feature is that if you perform a transform on a top level component then the history is reset.

Configuration Searching

Searching for 'la' in a Ext.form.FormPanel.A critical feature missing in prior releases was the ability to search configurations which are available to the component you have currently selected. In the past, if you were searching for a component configuration you had to look through the entire list available! The screenshot to the right demonstrates searching for the 'la' configuration in a FormPanel.

You can now unset configurations by clicking on the x on the right hand side of the configuration. This is useful when you want to remove setting a configuration and not just set it to "".

Newly Added Components

Some of the exciting new components added are:
  • EditorGrid
  • ButtonGroup
  • BoxComponent
  • Slider

Auto-Update

We are using Adobe AIR's Auto Update framework to provide updates to the designer as we push out new public releases. When we release a new version you will be prompted to update to the latest version. You can expand out the "Release Notes" to see what enhancements and bug fixes have been made. Adobe AIR provides us the ability to quickly deploy updates to all of you as new versions are released seamlessly.

Auto Updating the Designer via Adobe AIR
Auto Updating the Designer via Adobe AIRScreenshots - Leveraging ActionScript within Ext JS

One feature we wanted to implement within the designer was taking screenshots of your budding prototype directly within the application. Imagine this, you quickly mock up a borderlayout complete with tabs, a grid, and a form and then click the screenshot button. You can then choose to save the screenshot of the component you've just created as a PNG. We thought that this would probably be a simple task within AIR but ended up having to do quite some digging to figure out how to accomplish it.

In order to create a screenshot of the applications current state we can use air.BitmapData to retrieve the raw bitmap data of the current screen by calling the draw method.

var capture = new air.BitmapData( window.htmlLoader.stage.stageWidth, 
                                  window.htmlLoader.stage.stageHeight);
capture.draw( window.htmlLoader );

The contents of the variable capture now has the raw bitmap data of our entire application. We'd like to convert this into a modern format like PNG and save it to the file system. We will use PNGEncoder from as3corelib. You can compile and use any arbitrary actionscript code to a SWF and expose it to JavaScript within Adobe AIR by including it in the page by giving it a type of application/x-shockwave-flash.

Use the mxmlc compiler from the Flex SDK to compile the code:
aaron@aaron-desktop:~/as3corelib-.92.1/src$ mxmlc -source-path=. com/adobe/images/PNGEncoder.as 
Loading configuration file /home/aaron/FlexSDK/frameworks/flex-config.xml
/home/aaron/as3corelib-.92.1/src/com/adobe/images/PNGEncoder.swf (1242 bytes)
You can then copy the file into your project and include the file:
<script src="adobe/PNGEncoder.swf" type="application/x-shockwave-flash"></script>
We can now encode the raw bitmap data and write it to the file system:
var file = air.File.documentsDirectory.resolvePath('screenshot.png');
var stream = new air.FileStream();
// Encode image captured from air.BitmapData
var png = window.runtime.com.adobe.images.PNGEncoder.encode( capture );
 
stream.open( file, air.FileMode.WRITE );
stream.writeBytes( png, 0, 0 );
stream.close();

When you import classes from ActionScript into your HTML App they will immediately be placed in the window.runtime namespace with their appropriate package namespaces.

Therefore our class com.adobe.images.PNGEncoder is placed in window.runtime.com.adobe.images.PNGEncoder. (As an aside this is all AIRAliases.js file which you include simply provides smaller aliases from window.runtime into the air namespace.)

When taking the screenshot we also use a clipping rectangle and the copyPixels method to to grab only the bounding rectangle of the currently active component.

Summary

We've added lots of features which should improve your productivity when building user interfaces with the designer. We hope you like our progress and as always we greatly appreciate your feedback. For those of you that have suggestions, questions, found bugs, or just want to make a remark, we are listening.

106 Responses to “Ext JS Designer Preview”

  1. Tweets that mention Ext JS - Blog -- Topsy.com

    [...] This post was mentioned on Twitter by Aaron Conran. Aaron Conran said: @extjs New blog post: Ext JS Designer Preview http://bit.ly/1VkQwv #ext #xds New Features to improve productivity [...]

  2. Medvedev

    Hello, Aaron! It’s awesome app. How can I save project in Java Script in this designer?

  3. prometheus

    Hi Medvedev, project saving ability will come in the stable release, in the time when ExtJS 3.1 released, if I knows as right.

  4. Sergey Popov

    Looks great, looking forward to see demo with import/export and save/load functionality.

  5. Mats

    Looks fantastic, can’t wait for the release!!

  6. IntelliJ IDEA中文爱好者博客 » Blog Archive » Ext JS Designer Preview

    [...] ExtJS官方Blog上(http://www.extjs.com/blog/2009/10/08/ext-js-designer-preview/)发布了Ext JS Designer新版本,版本号为1.0.5,这个版本添加了不少新特性,如直接修改title,config参数搜索等等。不过还是之前问题,没有打开生成代码的功能,你设计后,还是看不到生成的代码,这个功能应该不会很久,很快就会出现啦。 [...]

  7. Henry

    Ext JS FTW!

  8. Troy McCabe

    Incredible upgrades to 1.0 that was previously out. Makes it _so_ much easier to do tedious tasks, or templated configs. Excited for what else is in the pipes too, you guys do great stuff!

  9. Nickolay

    Great work!

    Will it support user extensions of different kinds (for example layouts)?

  10. Aaron Conran

    Nickolay -

    Yes, it’s in the works to support user extensions of all kinds (Components, Plugins and Layouts). When we complete the marketplace infrastructure more details will follow on how to implement your own user extensions for use in the designer.

  11. Crysfel

    Awesome!! really impressive. thank you for this update.

  12. Eric Berens

    Very nice work Aaron and team. I have to say using the designer has helped in prototyping and debugging complex layouts. I look forward to future functionality and work on the project. Keep it up!

  13. Paul

    Nothing major but just pointing out that the “download” link above doesn’t work in Safari on the Mac. Firefox is fine.

  14. Jonathan Griffin

    Speechless as always!

  15. Brian Deacon

    I’ll bite. Even after learning what a .cpgz is and figuring out how to crack it open… I still don’t see how to install this. It’s an Air app, yes? Link to some intall instructions?

  16. Eric Berens

    @Brian

    If you have Adobe Air installed (http://get.adobe.com/air/) you should be able to download the file and run it. The installer will automatically start.

  17. Ian

    Is it just my AIR environment…but how do you actual see the JS code that gets generated from the UI you create by all the dragging and dropping? I don’t see any place or button that says view code, neither does any JS file get created in my install dirs (I’m assuming my environment is restricting this). Has anyone been able to see the generated code for their components?

  18. Brian Deacon

    @Eric

    Dunno if this happens automagically in a windows environment, but on my mac, I had to rename the .air.zip to just .air and then the extension association picked it up. (And now I just learned that .air files are just zip files with a different name…)

  19. Claude

    Great job Aaron!

    It’s great to see Designer make so much progress. Designer has helped us complete prototypes much faster than before since we are able to visualize the components and use real data.

    Keep up the god work!

  20. Claude

    God-like work or good work, your choice. :D

  21. Aaron Conran

    @Ian

    Code generation is not currently in the designer. This will come in the ‘Pro’ version release in a month’s time. If you’d like to take a look at what the code will look like:
    http://www.extjs.com/forum/showthread.php?p=378242#post378242

    @Clause lol

    @Brian Did this only happen with Safari? How about Firefox?

  22. Tof

    Good stuff!
    Can we download it without Air packaging like a tar or zip file?

  23. 贺博

    看着很炫,但是我还是习惯直接编码方式

  24. Mark

    This is fantastic. Look forward to the release!

  25. Mark

    This is fantastic. I look forward to the release!

  26. nickevin

    朋友 生成的代码的功能 是需要收费的

    friends, the generated code features are fee-charging

  27. Gisma

    Круто, круто, круто :)

  28. Jason

    Aaron you are a genius! Great stuff man.

  29. Murat Çorlu

    This will be great with saving or viewing design code support. Great job!

  30. Burivuh

    This is awesome! =)

  31. FashionPRG

    очень хорошая работа. впечетляют возможности. хотелось бы ее в действии посмотреть… потрогать так сказать )))

  32. tamsuper

    i will test it now.

  33. Ext Designer Preview | ExtDesenv

    [...] o mais novo preview do Ext Designer para deixar os membros da comunidade ainda mais ansiosos! Devo confessar que a cada lançamento de [...]

  34. josé mauricio

    WOW!!! ExtJs rules!

  35. josé mauricio

    extjs magic!!!

  36. Matt Bittner

    When the Pro version is released, will it too require Air?

  37. Daily del.icio.us for October 2nd through October 13th | Vinny Carpenter's blog

    [...] Ext JS Designer Preview Release – We are very excited to share our latest version of the Ext JS Designer. This new version adds many new features to improve your efficiency creating application designs. Once you get accustomed to these features its difficult to live without them. [...]

  38. Aaron Conran

    @Matt Bittner – Yes, it will always require an install. A web version is not an option as we need to be able to write/read to the file system. It also enables us to do some pretty slick things given that we know our users *always* will have a WebKit browser and lightning fast JavaScript.

  39. Ethan Brooks

    Will the production release be in available as in browser JavaScript that can be modified and incorporated other applications?

  40. Nuke

    I am playing around sigma builder, it’s simple but easy to use.
    But when I go deeply into programming, documentation is poor.
    Anyway, this builder&it’s source could be used under LGPL license.
    http://www.sigmawidgets.com/products/sigma_visual/VisualJS/index.html

  41. Ajaxian » Ext JS Designer Preview

    [...] Conran has published a new preview of Ext JS Designer which includes the new [...]

  42. Matt Bittner

    Thanks, Aaron.

    Also one thing to keep in mind. I’m not sure about others, but I know the project I’m on resides not on the “internet”, per se, but instead a different, stand-alone network. If there are others, maybe there needs to be a way to “disconnect” the designer from automatically checking whatever Ext site for updates, etc. Maybe this is already within the app and if so, my apologies for wasting time.

  43. Aaron Conran

    @Ethan Brooks – No, we took the desktop approach which allows us to read/write to the file system and be guaranteed that we know the environment that you are running in.

    @Nuke – Thanks for the link. It’s interesting to see what other people are doing in the same space.

    @Matt Bittner – This shouldn’t be a problem at this point. However, we are intending to add authentication to Ext so that you can dynamically get pro features and/or access to any components that you’ve purchased in the upcoming marketplace. That may pose an issue if you are in a secure financial/government environment as you are describing.

  44. Chester James

    Music credits would of been nice, that’s a cool tune.

    Oh yeah and the designer is looking very slick. Rock on!

  45. Jordan Lee

    Wow, looks like this will help to prototype new designs quickly. Looking forward to trying it out.

  46. NaYi - Programación y Herramientas online » Blog Archive » Preview del “Ext Designer”

    [...] Enlace |  Ext Designer [...]

  47. Aaron Conran

    @Chester James – Music is Pony Pony Run Run – Hey You

  48. Dan Schad

    Nice concept but the download did yield a very good experience. The layout did not run correctly in firefox and wouldn’t start at all in explorer. Very interesting to see what this will finally work like.

  49. Aaron Conran

    @Dan Schad – You need to install the Adobe AIR runtime to use the Designer. http://get.adobe.com/air/

  50. Ext JS Designer Preview « Articles

    [...] Conran has published a new preview of Ext JS Designer which includes the new [...]


  51. 很好

  52. bill

    it feel so good ,and i like it

  53. Joel

    Like Dan, i have Adobe Air installed but designer wont run on IE8. Running on firefox though. Love it.

  54. chamika somasiri

    can you develop this as a EXTJS development tool
    this is useless tool i don’t want to get screen shots i want to build a working application
    please improve this in to EXTJS Development Tool like EXTJS IDE…

  55. Tommy Maintz

    @Joel
    The Designer is not meant to run in the browser! It is an actual desktop application that you install locally. Adobe AIR is a platform that allows you to install applications written in HTML/Javascript. It allows us to open/write to files on the filesystem, and many other things that we need to provide certain functionality. If you have Adobe Air installed, and you run the .air file we have provided, it will ask you if you want to install the Designer, where you want to install it, etc.

    @chamika somasiri
    Taking screenshots is just one of the functionalities that we provide. I don’t know if you have actually read anything we have explained in our blogposts, but the Designer will of course allow you to build a working UI. It will generate Javascript classes for you, not just take screenshots.

  56. Ash

    Am new to ext-js the designer preview looks great and seems ideal for a newbie like myself, would love to install and have a play around. Are there any installation instructions around.

  57. giuspel

    Fantastic … I look forward to the release of version 3.1.

    Stupid question : The button “Load Data” for JsonStore doesn’t work? Bye

    GREAT work

  58. Cristian

    Hi. Congratulation for the great work! Impressive!

    A question: I want to integrate a designer in a web tool. It is possible to have a particular license (paying a fee of course) to embed ExtJs Designer in my application?

    Thank you,
    Cristian

  59. man

    Хорошая штука, сделайте кнопку сохранения и будет вообще круто

  60. Friday video: Ext JS Designer Preview « Position Absolute, ressources for the web developer

    [...] More information can be found here. [...]

  61. Chris

    I was checking out the preview via the download. What’s up with the viewport -> borderlayout? I don’t see any regions and nothing in the component properties related to regions…

  62. nicksaint

    Good job! Will it have an option to save the final code?
    Thank you

  63. TriPToNe

    Great stuff!

    But,
    - i cat’t save/load my designs,
    - when I change the component layout, (especially form -> table) the new layouts component config do not appear (OSX 10.5.8, Air 1.5.2, Ext Dp 1.0.5)
    - ext direct support?

    I’m also glad for a form to grid transform. I’m waiting for this tool very long time… It will be part of ExtJs distribution or a separated like JSBuilderX?

    ExtJs rocks! Keep good work!

  64. xxx

    Don’t you think this is like becoming VS ASP.NET components now :)

  65. Aaron Conran

    @ash – Install Adobe AIR and then download/install the .air file linked above.

    @giuspel – Did you specify a url for the JsonStore? Did you specify what fields would be in the response?

    @Christian – We haven’t made any decisions yet about OEMing the designer for integration with other products.

    @Chris – Viewport is just a specialized container. It does not immediately mean that it is a borderlayout. Change the layout configuration to ‘border’. Then drag and drop additional panel’s into the container. They will be auto-assigned regions which you can manipulate afterwards.

    @nicksaint – Yes, we will have a service that is capable of generating classes for what you design.

    @TripToNe – Code generation will be part of an additional service that plugs into the designer. Could you tell us more about your problem changing layouts from form to table? Ext Direct support is coming! :D It will be a separate tool like JSBuilder. We will distribute both a free and a paid version.

  66. Steve

    Trying to use the jsonstore and it says url has not been set. i have a local server with some json i want to use in the grid. How would i go about setting the url? I set the url to http://localhost/employees.json and it still doesn’t work what am i doing wront?

  67. Michael

    Nice job guys! Can’t wait until release. Currently, using Coolite.com for ASP.NET. Looking forward to an agnostic visual designer! Any idea when you guys will be ready for beta! I’m in!

    PS – Funky bg music! Heheh

  68. Ben

    Aaron is the man! Keep up the great work. The designer is coming along nicely, can’t wait until I can see the code it generates.

  69. Ext JS Designer IDE 新版本 | 嘿嘿哈

    [...] ExtJS官方Blog上(http://www.extjs.com/blog/2009/10/08/ext-js-designer- preview/)发布了Ext JS Designer新版本,版本号为1.0.5。 [...]

  70. Ext JS Designer 1.0.5预览 | 嘿嘿哈

    [...] 查看Ext JS Designer更多详情:http://www.extjs.com/blog/2009/10/08/ext-js-designer-preview/ [...]

  71. Ext JS Designer 1.0.5 (Preview) | ExtJSで楽しくRIA業務アプリ開発

    [...] ExtJS本家のブログにスクリーンキャストが載っています。 http://www.extjs.com/blog/2009/10/08/ext-js-designer-preview/ ExtJS Designer の [...]

  72. Abner

    Its getting very mature, I just tried this new version and I rellly enjoyed, but I see it’s just some demo cuz I can’t save or export the code. Anyway very nice job!

  73. g13013

    pity that it is payant, i understand why it is, seen the tremendous work that it represents and at the same time it is sad!. good work

  74. kriz

    There is a bug……….
    While I’m adding a jsonstore to a gridpanel,then quickadding the fields,I can not add any more fields.It doesn’t work.

  75. Tony Galfano

    This is very impressive. I’m new to Extjs and have been exploring the various libraries hoping to find one that I can sink my teeth into and learn to integrate into my projects. This designer puts Extjs way out front for me.

    I do have a question about database connectivity. Is it possible to incorporate database connectivity and field binding into the designer? For example, when setting up the project you could select the database and have the fields available for inclusion in grids, forms and other data bound elements?

    Great work and I’ll most likely by a license for this great library….hope the designer release is coming soon too.

  76. Scott Hathaway

    Hello – just wanted to give feedback on your visual designer. I really like the product. I work for Bell Helicopter and we would be purchasing it along with ext js support and licenses. We would much rather pay for the tool upfront instead of a yearly fee.

    Just my perspective.

    Scott

  77. jlhs5

    3 questions.

    1.- When is release a version?
    2.- What will it cost?

  78. coldsore information

    Looks fantastic, can’t wait for the release!!

  79. تهامي

    شكرا ممتازة جدا

  80. Alfvin

    Hi, nice app!
    I created a viewport, panel, grid panel, array store and data fields
    Inside Component Inspector panel (on the right), right clicking on data field.. then the context menu is stuck there forever, can’t close it. clicking new project, it’s still there..

  81. Brent

    Designer looks cool. But I’m not familiar with EXT JS so I’ve got a newbie question. How easy is it to link your controls to a database like MySQL? I’m from a Delphi background and would like to see controls that have a datasource so it can connect to a database table. This will allow it to display and save the contents back to the database. How easy is it to do this?

    TIA
    Brent

  82. Kobyn

    Is anyway to buy the code generator for Ext JS designer preview?

  83. Tom

    How download Ext JS Designer Preview?

  84. np

    question – how do i run / install the extjs designer?

  85. Andrew Jones

    @Tom, @np: There is a download link in the first paragraph.


  86. 很好,顶


  87. 不错,不错。

  88. anishanc

    Code generation is not currently in the designer.
    When ‘Pro’ version will release ?

  89. Thank

    Wihhh hebat….

  90. ThankJawa

    weleh weleh iki opo maneh cak, sing gawe mangan ope sih ??
    wong-wong podo mumet iki bikin enak wayah bikin program.

  91. Emernet

    When will be available the new version?

    thanks

  92. Alex

    When do you plan to generate EXT GWT code from this designer?
    Maybe some file.designer.java code?
    Serious, efficient, complex and MVC based apps with unit testing have to use such technology or you will be in trouble …

  93. james

    download?

  94. Chris

    I read in a previous post where the guy said he would like the cost to be an up front charge and not a yearly charge. I agree with that.

  95. beat making software

    Dunno if this happens automagically in a windows environment, but on my mac

  96. beat making software

    Incredible upgrades

  97. lylyliu

    It’s very great

  98. Arno Nyhm

    it works also for GXT?

  99. Johnson

    Great stuff! awasome

  100. l

    So when is this going to be released?

  101. kdemon

    Extjs, the best framework of javascript that I know, excelent!!!

  102. yuewah

    the downloadeded xds-1.0.5.zip does not contains “Ext Designer Preview.exe”. So it cannot run.

  103. yuewah

    have to change it to xds-1.0.5.air =.=

  104. Michael

    Hello,

    So is this due to be released at the end of November or in December? Very impressive product.

    Michael

  105. discry

    good ! but I know noting about extjs , can any one teach me some about it, my qq number is 565198745

  106. George

    Awesome! Great song, great framework! Great blog!!!

Leave a Reply

To prove that you're not a bot, please answer this question:



© 2006-2009 Ext, LLC