logo

 

     
 
Home
Site Map
Search
 
:: Bitwise Courses ::
 
Bitwise Dusty Archives
 
 
 

rss

 
 

ruby in steel

learn aikido in north devon

Learn Aikido in North Devon

 


Section :: interviews

- Format For Printing...

Morfik M2 - Ajax, The Next Generation

Visual Ajax Builder
Thursday 17 April 2008.
 

Just when you think you’ve seen everything there is to see in application development tools, along comes Morfik! In some ways, Morfik’s visual Ajax IDE, WebOS AppsBuilder, is bucking all the trends. All the most fashionable web developers tell me that the best tools for application development are a simple text editor and a command prompt. Morfik’s IDE is way out there at the other extreme - it lets you create Ajax applications by dragging, dropping, coding and debugging all inside an elegant ‘visual’ environment.

Morfik’s visual design environment has been given a slick makeover in version 2. Here is a view of the form designer with the new Office-style ‘ribbon’ at the top of the workspace.

Suffice to say, you’ll either love it or loathe it. If you don’t want ‘no stinking IDE’ then you definitely won’t want the Morfik IDE. If, on the other hand, you long ago put the command prompt behind you in favour of visual design tools such as Delphi, Visual Basic or C# and feel that the usual code-centric way of Ajax development is like taking a step back in time, then the Morfik IDE will be like a breath of fresh air.

- Note: I wrote about version 1 of Morfik AppsBuilder in July 2007. See HERE.

Morfik is currently working towards the release of version 2 of the IDE (called ‘M2’ for short). the first public beta of which is scheduled for 23rd April, 2008 at the Web 2.0 Expo in San Francisco. I was shown a demo of the current in-house beta of the software and I spoke to Shahram Besharati (VP, Founding Partner) and Mauricio Longo (Product Manager) who told me about some of the new features.

“We’ve made a lot of changes in how the IDE works,” Longo told me, “Because we wanted to make it easier for people to accomplish the most common tasks. For example, in M2 it will be easier to create pure browser applications - that is, applications that don’t need to connect to a server. You will be able simply to select the type of project you want to create and the IDE will do many of the things for you which you previously had to do manually.”

M2 will, in fact, be released in two editions, The WebOS IDE will be comparable to the current product - with the full suite of tools needed for client-server development while a new lower cost product, Morfik Express, will target browser-hosted Ajax applications only. This is claimed to be “ideal for companies and individuals who want to enter the social network application space, or that have an established Web presence that they want to enhance.”

“One of the things we’ve simplified is the way in which subforms are added,” says Besharati, “In fact, the developer can now create entire predefined page layouts which means that you won’t have to worry about how to add and position subforms. You just pick a design and everything is done for you.”

Picking predesigned layouts is just one of numerous usability improvements in M2. Probably the most obvious new feature is its ‘Microsoft Office-style’ ribbon - the tabbed toolbar of buttons and icons that was introduced in Office 2007. I’ve said before that I am far from being a fan of the ribbon in Office itself. However, having recently used another product (MindManager Pro) which uses a similar style of ribbon, I can see how it can make an application more accessible to a newcomer. I should say at this point that I have not yet had the chance to try out M2 myself so I can’t give a definitive opinion on its new interface. I have seen a demo of the software, however, and, in principle, I can see that the ribbon might be a useful addition.

This is the Project workspace showing mini views of pages and forms.

It’s not just the ‘front end’ that’s being updated, though; so too has the back-end technology: the Morfik Framework.

“The Morfik framework has caching built in to keep certain bits of your page in memory,” Longo explains, “Elements that are repeated on pages - headers and footers, ,for example, don’t have to be reloaded all the time.

“Designing an application for a browser has been brought to the same level as server-side development. For example, we’ve introduced tools to load XML data in a way that’s similar to loading data from a database. This means that users who don’t need to access a database will be able to user all the same coding and visual design tools but load data from a simple XML file. “

Visual design is one of Morfik’s specialities. The IDE lets you create web pages by dragging components onto a design surface and coding ‘event-handling methods’ just as you would in VB or Delphi.

The Morfik IDE was, in fact, written in Delphi and, to an old Delphi-hand like me, the influence shows. The Morfik IDE is, in fact, a bit like a Delphi for the Ajax generation. You can even write Ajax programs using a Delphi-like Pascal syntax. Morfik supports four programming syntaxes - Pascal, Basic, C# and Java. According to Longo, the Pascal syntax is the most popular among their customers followed by VB with the other two ‘way behind’.

It doesn’t matter which syntax you choose, Besharati explains: “Morfik compiles the source code that is to run on the server to the native code of the underlying hardware (using the built-in Free Pascal compiler or Delphi, if installed) and synthesizes the source code that is to run on the browser to JavaScript. The JavaScript could be obfuscated if the option is selected.”

Ajax it may be but you don’t have to code in JavaScript. Here the Morfik editor is being used with the Delphi-like Pascal syntax...

The new release will extend the visual design capabilities with ‘themes’. A number of pre-designed themes will be supplied so that a user will be able to pick a theme and instantly change the page styles throughout an entire application. And it will be possible to create and modify themes of your own.

“We are also making lots of changes is in the area of deployment,” Longo says, “We have to say that deploying applications has not always been the easiest of things to do. There are all sorts of tasks you h=need to perform such as configuring DNS. To help with this M2 will have an auto-deployment wizard. You will be able to select the target where you want to deploy and do it all in just a few steps. It will package up your application, upload it to the server and synchronize tables as needed.”

- More information at: http://www.morfik.com/


Summary of the Main New Features of M2

Morfik supplied us with this overview of the principal changes and additions to the forthcoming product. This comes with a caveat: M2 is still in development and the feature set may change prior to its release. However, this should at least give you an overview of the direction in which M2 is heading...

Pages and page designer – M2 introduces the concept of a page as a major design and layout feature. Pages allow for the ease management and layout of Forms which are smaller portions of content which, when composed, make up a Web page. (Applies to WebOS and Express versions.)

Automatic Layouts – the M2 page designer allows users to visually select from a large number of commonly used layouts for distributing the Forms that compose a page. The designer can allows you to view instantly how the page looks in the new layout. (Applies to WebOS and Express versions.)

Themes and themeable controls – along with Pages and automatic layouts the addition of themes and the changes made to all Morfik controls to directly support themes gives the user unprecedented ease in customizing the looks of a Morfik built application or website without interfering with application logic. (Applies to WebOS and Express versions.)

Web Actions – M2 provides a series of predefined and currently used actions which can be visually tied to events which are triggered by controls. This translates into great ease of use for the user who is not an experienced developer while empowering the experienced developer to create his/her own actions, which are automatically picked up by the Morfik IDE. (Applies to WebOS and Express versions.)

Support for OpenSocial and Facebook APIs – M2 adds direct support for the OpenSocial and Facebook APIs to allow the user to create applications that interact with these platforms. (Applies to WebOS and Express versions.)

Synchronized browser code – The new compiler in M2 automatically generates specialized code to simulate synchronous behavior for browser side code that makes asynchronous function calls, without ever blocking the browser. This makes it much simpler to program certain aspects of application logic. Using this features it is easy, for example, to create simple animations. (Applies to WebOS and Express versions.)

New way of calling web services – M2 allows users to see Web Services as objects with properties to be set before execution and other properties to read after the service execution in order to verify call results. Combined with the synchronized browser code, this feature makes calling web services a breeze. (Applies to WebOS version, only.)

Enhanced Web Methods – Web Methods (a Morfik implemented Web Service) in M2 can be declared in any module, without the need to create Web Method documents for each method. This makes it easier and faster to create more extensive Web Service APIs. M2, also, performs an automatic browser side import of Web Methods which is declared on the server side of a Form module. (For creating Web Methods, applies to WebOS version, only. When referring to Web Method calls applies to both versions.)

Browser (server-less) only applications – With M2, Morfik introduces a new type of application which is entirely composed of code which will run inside the browser. These applications, by default, are totally server agnostic and can be deployed to any web server in the world. Browser only applications, however, can make web service calls. (Applies to WebOS and Express versions.)

Web Service Data Sources – Morfik has always used a web services based architecture to allow its browser side code to access database information. In M2 this architecture has been extended to allow Morfik applications to access any web service, which conforms to a certain set of rules, as a data source. This allows browser only applications to access data published by other Morfik Applications or by services implemented with other tools such as PHP, .net or Java. (Applies to WebOS and Express versions.)

XML data sources – M2 allows applications to see XML files as if they were a database table. This allows a user to create a website that can take advantage of several of Morfik’s database oriented features even though the end application might be browser-only and deployed to any web server. (Applies to WebOS and Express versions.)

Auto-deployment to Cloud computing environment – Along with M2 Morfik is introducing a hosted cloud computing service where M2 applications can be automatically deployed from within the IDE. This feature, which runs through a few steps in a Wizard can be called up with a single click and allows Morfik users to enjoy the easiest and fastest turnaround time to take a project from concept to actual existence and availability on the Internet. (Applies to WebOS version, only.)

Automatic Data Forms – M2 introduces as a new concept the automatic Data Form. This feature allows the developer to treat a data source as if it were a Form and just instruct the Morfik framework to open the data source in a specific section of a page (inside a SubForm control). A tabular view of the data source’s data will be presented to the user with an alternating line background that matches the current application theme. This automatically generated Form will also offer the user the possibility to switching to a single record view for data editing. (Applies to WebOS and Express versions. Express version will not allow data editing.)

RSS Feed designer – Creating RSS feeds has been made exceedingly easy with M2 through the addition of an RSS feed editor that allows the user to choose from among his data sources the one which will provide the information for the feed and to visually map the data source’s fields with the RSS information slot. (Applies to WebOS and Express versions.)

Helper methods – M2 allows any data type in the supported language types to be extended through the addition of user-defined helper methods. This feature has been used extensively by Morfik to add formatting, conversion and utility methods to all basic data types. This compiler feature added to the new methods implemented as part of the M2 framework make the M2 code completion much more powerful and useful as utility ‘functions’ become semantically tied to the data type they are meant to be used with. (Applies to WebOS and Express versions.)

Enhanced compiler – The Morfik compilers have been enhanced in many ways including, but not limited to, improved optimization, parallel compiling, full background compiling (without ever blocking the IDE) and the inclusion of new language features such as helper methods. (Applies to WebOS and Express versions.)

AddThis Social Bookmark Button


Home