Morfik 07 - Developer's Handbook Introduction
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 out side the box Morfik is redefining how Web applications are built, from the ground up, introducing into it 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] What is WebOS AppsBuilder?
WebOS AppsBuilder is Morfik's flagship Web application development tool which combines several compilers, and extensive object-oriented framework and an IDE that redefines what is state-of-the-art for this kind of software. 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.
[edit] The Old Way
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, some times on different sides of the globe, made for a poor experience. This was specially 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.
[edit] The Morfik Way
Morfik introduced to the world, in 2005, 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 WebOS 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 compilers yielding different results depending on which part of the application the code is for. 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 in intrinsic flexibility has led to the possibility of creating a new type of project in Morfik M2: the Browser Application. Browser applications (or Browser XApps), which are considered to be experimental, are application 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 was served from. 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 WebOS AppsBuilder the best choice of 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. Though still in experimental stage, Morfik Browser XApps are already quite powerful. Once they achieve production status, Browser XApps should be able to do just about everything you can do with a full WebOS 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.
[edit] A Great Tool for Server Applications
Morfik WebOS 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, on-line, 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 and being native binaries they consume much less 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 WebOS 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 M2 is now an even better tool for designers than it ever was before. An enhanced Form designer allows designers to get an even better feel for how their 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. The introduction of a totally new Page designer allows the developer to have a clear view of how his Forms will come together in order to compose a page. This new designer, also, makes it possible to shift the layout in which Forms are organized, with a single click, and get immediate visual feedback. 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 the their applications by changing a couple of properties and recompiling their applications. Using the new Page designer developers and designers can now have a much clearer picture of how their pages' components will come together inside the browser and so should need less 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 WebOS 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, IDE 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 I know of 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. With Morfik M2 the emphasis on productivity has been even greater than it had already been in the first release of WebOS AppsBuilder. The new design features, such as the Page designer, themes and application layouts 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 M2, 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 and 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 looking for a name in a, possibly, long list is.
