Introduction to Morfik
From Morfikwiki.com
In this connected age, when people think about the World Wide Web and the speed in which things happen, the ability to adapt quickly is everything. The development of sophisticated Web-based applications has never been a quick or easy task, and the technology and tools generally used show more and more weaknesses as the size of applications grow.
By thinking outside the box, Morfik is redefining how Web applications are built from the ground up, 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 it more productive.
Contents |
[edit] The Old Way
To better understand Morfik's approach to Web development we have to look at traditional web development with a critical view and an outside perspective. When the Web was created, its main purpose was simply to make information easily accessible by other people, mainly with the goal of making collaboration between groups of scientists and students, easier. At that time there were no Web applications. There were simply Web pages.
Web pages were nothing more than simple text documents with some special tags (groups of characters) inserted to enhance formatting. The idea of using the Web to ask for information from the people who were visiting different pages did not take long to appear and mature and so server-side programming for Web pages began. The next step was to add some small measure of interactivity to the page itself because going back and forth between the server and the browser, sometimes on different sides of the globe, made for a poor experience. This was especially true when filling out large forms or multiple forms. After many years of evolution of the Web, Web application development is still, essentially, done in the same fashion. This means that thousands of people around the world are creating huge systems with tools which were originally conceived to format text and to create basic interactivity in Web pages. While this is possible, it is far from being the most productive way of doing it.
One other aspect of Web development the traditional way is that most frequently portions of the browser side code get mixed with the server side code. This is hardly ideal, either, as it makes for either bloated pages, or applications that require many page loads. Both scenarios lead to reduced performance and a less-than-ideal user experience.
[edit] The Morfik Way
In 2005, Morfik introduced to the world 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 and leverage their experience while still getting the benefit of a modern visual designer, which makes creating stunning interactive Web interfaces a breeze. Morfik AppsBuilder is powered by a set of compilers for the Morfik language. This language has no syntax of its own, just semantic meaning. Morfik implements a set of compilers which map Object Pascal and Basic syntaxes to the underlying Morfik language, thus providing a familiar syntax to allow developers to become productive quickly. The high-level code that is created by developers is then compiled by the Morfik compiler. 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.
[edit] A Great Tool for Browser Applications
The HTML/XML/CSS/Javascript code combination that Morfik compilers generate 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 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 2.0: the Browser Application. Browser applications (or Browser XApps), are applications which 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 which is 100% browser-based and does not care at all about which server it is served from. Browser XApps can even run without an internet connection!
Morfik Browser XApps can be used to interface with different services which are currently available on the Web or simply to break down more complex projects with different teams working on the Interface (presentation layer) and the application logic in separate projects.
The power and ease of use of the Morfik high-level language syntaxes will make Morfik AppsBuilder the best tool to build complex applications which are required to run within a browser, allowing the creation of projects which 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 (which combines browser and server components). In order to access a database a Browser XApp will still require interaction with a server component, due to browser security limitations, but this component 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.
[edit] A Great Tool for Server Applications
Morfik AppsBuilder is designed to cover all the basic needs of a developer or company 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 for Web-based, online applications which could accommodate such disparate requirements. The first decision made when considering the development of Morfik's server-side strategy was to focus on performance and scalability. Morfik server components are totally stateless by default. Being native binaries, they consume many fewer resources than similar solutions which are based on virtual machines as Java and .Net. Another advantage of implementing server components as native binaries is that they can do anything a native application is able to do on the selected server platform. Since Morfik AppsBuilder 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.
[edit] A Great Tool for Design
Morfik AppsBuilder is now even better tools for designers than they were ever before. An enhanced Form Designer allows you to get a better feel for how your applications will look at runtime. New improvements to the Morfik Framework and to the IDE itself allow for instantaneous switching of the project's look through the use of Themes.
While web designers all over the world are spending their time coming up with tricks to create nice-looking effects and then having to reproduce these tricks in many different places, Morfik's R&D team is busily adding new features to the Morfik Framework and controls which allow the developer to add new formatting and design touches to their applications by changing a couple of properties and recompiling their applications.
Using the new Form Designer, developers and designers can now have a much clearer picture of how their forms' components will come together inside the browser, and so should need fewer iterations of design changes to get the desired look for their pages.
[edit] Aggregating the Web
Morfik applications can easily call out to a multitude of services which are available on the Web and access internal company databases, bringing together data from myriad of sources into a single front-end application. The ability to bring together these disparate data sources comes from the fact that while Morfik AppsBuilder provides all the tools to create incredible browser applications, it also provides all the tools to do server-side forwarding of calls to other domains and 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 provide consolidated information to their executives, regardless of where the information is coming from.
[edit] Unprecedented Productivity
The combination of Morfik's Framework, visual workspace and compilers allows developers to quickly reach unprecedented levels of productivity in creating sophisticated web applications. In fact, this is so much so that there are companies that are using Morfik to win contract bids, even when the final work is required to be done on a different platform. These companies are taking advantage of how fast and easy it is to create great-looking Ajax applications with Morfik to provide site mock-ups or even fully-functional prototypes for the work they are bidding for. This gives these companies a decided advantage as their competitors are not able to put together a matching prototypes in the same space of time.
As of version 2.0, Morfik AppsBuilder has placed even further emphasis on productivity. The new design features, such as Themes and Control Effects, were all created to allow developers to quickly perform tasks which substantially alter the appearance of an application or website, but which will no longer require extensive coding changes.
Also in Morfik AppsBuilder 2.0, in order to make developers' lives easier, project management and navigation has become a much more visual experience by the general use of thumbnails instead of plain text lists. Internal tests showed that people located the document they wanted to work on much quicker by scanning for its likeness than by reading through the list of document names. Combined with the ability of filtering the project view, it becomes not only a time saver but a pleasant experience, which is just the opposite of what a looking for a name in a possibly long list is.
