Introduction

The ability to adapt quickly is everything in this connected age, yet the tools and technologies used to develop sophisticated web-based applications are showing more and more weaknesses as the size of applications grow. A process that has never been either quick or easy is only becoming harder.

But, by thinking outside the box, Morfik is redefining—from the ground up—how web applications are built. Morfik is introducing into them technology from other areas of IT specialization such as traditional application development, graphics design, computer-aided design and productivity applications. Morfik is combining elements of all of these areas into the development of web applications in order to make the whole process more productive.


MorfikScreenshot_M3.png


The old way

Morfik's approach to web development can be best understood by taking a critical look back at traditional web development. When the World Wide Web was first created, its main purpose was to make information accessible and to aid in collaboration between groups of scientists and students. At that time there were no web applications; there were simply web pages.

TheOldWayRS.png The earliest web pages were nothing more than simple text documents with special tags (groups of characters) inserted to enhance formatting. Server-side programming was then introduced to gather information from visitors to these pages. Unfortunately, sending information back and forth between the server and browser, often situated on opposite sides of the world, was a slow process. It made for very frustrating user experience—particularly when filling out large or multiple forms. The situation was improved somewhat by adding a small measure of interactivity to the pages themselves, but this is where things seemed to stall. Even after many years of evolution, web application development is still, essentially, done in the same fashion. Thousands of people around the world are putting all their effort into creating huge, interactive systems with tools originally conceived only to format text and build the most basic web pages. While it is possible to do this, it is far from being productive.

Traditional web development frequently results in portions of the browser side code getting mixed with the server side code. This is hardly ideal as it makes for either confusing code in pages or applications that require many page loads. Both scenarios lead to reduced performance and a less-than-ideal user experience.

The Morfik way

Morfik introduces a whole new way of creating web applications through the use of high-level, object-oriented languages and visual design tools. With this new tool set, developers can code their applications using time-tested software development practices. They can leverage their experience while benefiting from a modern visual designer. This makes the creation of stunning, interactive web interfaces a breeze.

TheMorfikWayRS.png When using Morfik 3.x, developers can become productive very quickly as they are able to make use of their existing skills and knowledge. Morfik language has no syntax of its own, just semantic meaning. Developers code using syntaxes from familiar high-level languages such as C#, Pascal and Basic, and Morfik implements a compiler that maps these to the underlying Morfik language. Code intended for the interface (browser) side of the application is compiled into a combination of HTML, XML, CSS and JavaScript, while code intended for the application control (server) portion of the application is compiled into a native binary executable or dynamically linked library. To make things even easier, the Morfik compiler also takes into account the visual design information and generates the images necessary to display the desired effects.

A great tool for browser applications

The HTML/XML/CSS/JavaScript code combination that the Morfik compiler generates for running in the browser is entirely standards-based and compliant, communicating with the Morfik-generated server components through standard HTTP requests and web service standards. Because of this, the browser portion of a Morfik application (XApp) can call out to any standards-based server platform and the Morfik-built server components can be called from any standards-compliant client application. This intrinsic flexibility has led to the possibility of creating a new type of project in Morfik, starting from version 2: an application that has only browser-side code. Such pure browser applications (or Browser XApps) are applications that do not directly depend on any server-side component, though they might use several different services from different service providers on the Internet. The Browser XApp is essentially an application that is 100% browser-based and does not care at all about which server it is served from.

Morfik Browser XApps can be used to interface with different services that are currently available on the Web or to simply to break down complex projects involving different teams working on the interface (presentation layer) and the application logic into separate projects. This can also be achieved using regular Morfik applications that consume services published by other applications, regardless of them being built with Morfik or not.

The power and ease-of-use of the Morfik high-level language syntax makes Morfik the best tool for building the complex applications that are required to run within a browser. This allows the creation of projects that might not be feasible to implement directly in JavaScript. Browser XApps should be able to do just about everything you can do with a full web application (combining browser and server components), but in order to access a database a Browser XApp will still require interaction with a server component due to browser security limitations. This component, however, could be implemented in any platform which is capable of creating industry-standard compliant web services. You can also use the XML data sources in browser applications to separate data from layout in your project.

A great tool for server applications

With Morfik 3.x you can also go to the other extreme of web development and create an application that only publishes web services without having any interface of its own. These are pure server applications and they can be used to implement a set of services which will be consumed by other applications.

Morfik is designed to cover all the basic needs of a developer working on the creation of a web application. Web applications can go from having a couple of users (during testing) to hundreds of thousands in a very short time. With this in mind, Morfik set out to create a scalable solution that could accommodate such disparate requirements of web-based, online applications.

Morfik's server-side strategy, first and foremost, focuses on performance and scalability. Morfik server components are totally stateless by default. Being native binaries, they consume fewer resources than similar solutions based on virtual machines such as Java and .Net, and they have the added advantage of being able to do anything that a native application is able to do on the selected server platform. Since Morfik and its framework are entirely standards-based, it is very easy to create a full-featured Web Services server application in minutes, or to add a Web Services interface to an existing application.

A great tool for design

Morfik 3.x is now an even better tool for designers. The introduction of Pages as high level visual objects combined with an enhanced Form Designer with true WYSIWYG allows you to get a much better feel for how your applications will look at runtime. The Morfik Framework combined with the development environment itself allow for instantaneous switching of the project's look through the use of themes and styles.

Web designers across the world spend their time creating great-looking effects, but then spend just as long trying to reproduce these tricks in different places. At Morfik, however, the R&D team is busily adding new features to the Morfik Framework and controls that allow you to add new formatting and design touches to your applications by simply changing a couple of properties and then recompiling your applications.

Using the new Page designer and an enhanced Form designer, developers and designers get a clear picture of how the forms' components will come together inside the browser. This means fewer iterations of design changes to get the desired look for your pages.

Aggregating the Web

The ability to easily import Web Services and to design sophisticated web-based interfaces makes Morfik a premier tool for creating applications that aggregate information from multiple sources. Morfik applications can easily call out to a multitude of services available on the web and also access internal company databases, bringing together data from a myriad of sources into a single front-end application.

Morfik can do this because in addition to providing all the tools to create incredible browser applications, it provides all the tools for server-side forwarding of calls to other domains and has the ability to access multiple databases from multiple vendors. Morfik applications can extend or act as front-ends to legacy applications, or just to put Ajax clothing on your existing web-based applications. All this comes together to allow businesses to consolidate information from a variety of sources. Just think what this could do for presentations to customers or company executives.

Unprecedented productivity

Many developers have already discovered that Morfik allows them to reach unprecedented levels of productivity in creating sophisticated web applications. In fact, some companies are using Morfik to win contract bids even when the final work is required to be done on a different platform. Thanks to the combination of Morfik's framework, compilers and visual workspace, developers can quickly and easily create great-looking Ajax applications that provide site mock-ups or even fully-functional prototypes for the work they are bidding for. They have a decided advantage over their competitors, who are unable to put together a comparable prototype in the same space of time.

Morfik has placed even further emphasis on productivity in version 2.0 onwards. New design features such as Themes and Styles allow developers to quickly perform tasks that substantially which alter the appearance of an application or website without requiring extensive coding changes.

Project management and navigation have become much more visual through the use thumbnails instead of plain text lists. Internal tests showed that it is quicker to locate a document by scanning for its likeness than by reading a list. Thumbnails, combined with the ability to filtering the project view, save time and enhance productivity.

The Mobile Web

Morfik explicitly supports building applications for Web access from the iPhone, iPod Touch and the iPad. Developers can design different interfaces for each device within the same Morfik project and the Morfik Framework decides which pages to serve based on the kind of device is accessing the application.

Support for previewing applications as they will look in the respective mobile devices is provided by the Morfik debug browser, making it easy for developers to see how their applications will look without having to constantly refer to the mobile device itself.

A new era in web development

Morfik is the logical next step in pushing forward the frontiers of web application development.

High level, object-oriented languages and visual design tools are combined in totally new ways that allow complete scalability, flexibility and a previously unseen level of productivity when creating sophisticated web applications.

Related Topics

See Also

Back to top