Elevate Software

Login Login


Home » Elevate Software Blog » Elevate Web Builder (Updated)

Icon Elevate Web Builder (Updated)

Posted by Tim Young on Tue, Aug 16 2011
As some of you may have noticed, we have a big banner on the home page of the web site that links to some preliminary information on our upcoming product Elevate Web Builder. I thought that I would take a moment to discuss the producct a little bit, and explain a little of the rationale behind it.

If you've noticed that things are a bit quiet around here lately, this new product is why. I started development on Elevate Web Builder in spring 2011, with the intention of doing ElevateDB 3 development in parallel with the new product. Of course, what happened was that ElevateDB 3 development started to take a back seat due to the extreme development demands of the new product. Apparently, writing an IDE and compiler is pretty hard work. Smile It was probably for the best, though, since this new product has allowed me to take a break from database engine development for a while, and that breathing room has provided me with some great new ideas for ElevateDB 3. ElevateDB 3 is still about 75% done, and development will resume in earnest around November after the initial Elevate Web Builder product launch.

The Elevate Web Builder product is actually a very good complement to ElevateDB. The general idea will be that the ElevateDB 3 Server will be getting an additional web interface that will allow it to serve up data to an application written using Elevate Web Builder. This will allow the developer to completely separate the core database functionality from the application logic in the web interface and presentational layer in the web application. You will be able to complete an entire application development process using only our products, which will save large amounts of money on support and integration costs. Of course, you will also be free to use any web server or application server of your choosing with Elevate Web Builder. Any web application built with the product can communicate to any HTTP server.

That's about it for now. Feel free to ask any questions that you may have in the comments section, and I'll be happy to provide as much information as possible.


Here's a link to a short demo video of the product:

Elevate Web Builder Introduction

Tags: Elevate Web BuilderPermanent Link

Comments Comments (25) You must be logged in to comment

Comment Bernaert Dominique said... Reply
is this a complete db web framework you are creating?
Which components will be available?

Bernaert Dominique

Comment Tim Young [Elevate Software] said... Reply
It's not a database framework, at least not yet.  It's a client-side web framework and compiler that could literally be expanded to include just about any type of component that you could normally create for Delphi in a desktop Windows applicaton.

Comment Tim Young [Elevate Software] said... Reply
Also, regarding components:  initially there will be the standard components (edit, button checkbox, radio, memo, combobox, listbox, image, timer, panel, link, menu, grid, and htmlcontainer).  The list will expand as the product matures.  However, it is always possible to add your own components for runtime usage, and there will be an "external component" container component available for usage at design-time.

Comment Tim Young [Elevate Software] said... Reply
Oops, forgot one: label.

Comment Richard said... Reply
I'm still a bit confused. When you say web builder, do you mean it generates HTML, CSS and Javascript to be run in a web browser, or is it still a Windows executable like normal Delphi that runs on a WIndows web servrer, similar to IntraWeb?

Comment Richard said... Reply
Sorry, I just read the main page which makes it much clearer. This will be fantastic if you can make it work with iPhone and Android.

What about a local database? It would be nice to copy  data from the database server to my phone and back again, so I can use the app without a network connection. That is something that traditional phone web apps make very difficult.

Comment Tim Young [Elevate Software] said... Reply
Richard: There really isn't anything required to make it work with iPhone and Android as long as they contain a browser that supports the current Javascript and DOM standards. However, I'm sure that there will be lots of little differences or limitations that will require some workarounds in the framework.  Initially, though, we're targeting desktop browsers.

Local database access will be tough still.  Persistent storage capabilities still aren't 100% pervasive due to older browsers being in play, but HTML5 allows for it, so it is possible to use it in Elevate Web Builder.  HTML5 storage uses key-value pairs, and is normally limited to 5MB of storage, though.  It might be possible to get something useful within those constraints.

Comment Rony Gellaerts said... Reply

Your new Elevate Web Builder looks very promising and definitely filling a gap for Delphi developers when you not want to use IW.

A have a few questions for you that comes into my mind directly:

1. Just out of interest, are you using Embarcadero's delphi command line compiler for compiling the projects or is the compiler self-made ?
2. Can you make use of third-party components (like TMS components for exam). If so, do they have to installed in the component palette first ? Are third-party components used in the "external component" container only or can they put directly on de form ?
3. Does EWB include a deployment manager with ftp-client for uploading all the necessary files to the webserver ? (Application files, EDB server dll, css, html, ...)
4. How about secure webpages (https) ? For password protected webDB applications, do you provide PW-dialogform input pages (login, PW) out of the box ?
5. Is there a debugger present in the initial release ?

Comment Tim Young [Elevate Software] said... Reply

1) No, it's not the Delphi compiler, it's 100% hand-coded.

2) No 3rd party components at design-time, as of yet.  You can add components at runtime as much as you want, though, including external Javascript widgets, etc.

3) Yes, there will be a Deploy option that you can use to deploy your project directly to a web server directory via FTP.

4) No, if you want a login form, you'll have to create it.  It will probably take all of 5 minutes to do so, though. Smile

5) No debugger in the initial release.  Debuggers in Javascript are a little tricky, so this will take some time to come up with a solution.  However, due to the architecture, it is fairly difficult to generate a runtime error using the product.  The only way to do so is to cause a null reference exception by trying to do something with a nil object reference, or by forcing a "list index error" in a TStrings or TObjectList.

Comment David Cornelius said... Reply
I don't completely understand the need for this product.  There are so many IDEs and web-building tools already, isn't this reinventing the wheel?  (Sorry, I don't want to be critical, I'm just trying to understand why.)

It must be for Delphi developers that don't know any other language or platform and are "stuck" writing Windows applications.  This then allows them to use the only language they know to write web applications, is that right?  And possibly an easier path to take their EDB Windows application to the web.

Does this do more than RADphp and ElevateDB for PHP?

Comment Surjanto Kwe said... Reply

So this EWB will result in php files that is ready to deployed to Apache server ? Hmm, this might be a very good solution for those who don't want to learn php and html at all

Comment Jose Eduardo Helminsky said... Reply
There is not a good IDE to develop web applications integrated with databases. I have developed an IDE based on Delphi. It works very good in IE. It is integrated with my own web server for database issues (specially DBGrids). It is working so good but I am glad to know ElevateSoftware is developing an IDE that will work with any browser and I don´t need to waste my time (so short) for developing and improving this. I am very curious about the final code (of course html + css + javascript + ajax???). Keep the idea because it is fantastic (just to remember: the world is being moved to the web).

Comment Tim Young [Elevate Software] said... Reply
David: you're not quite understanding what the product is, or how it is different from what is currently available.  You'll probably have to just try it yourself when it's available to see what the differences are. It is not like PHP, ASP, IntraWeb, or any of the numerous frameworks that generate content from the back-end with bits of JavaScript sprinkled in here and there for a little interactivity in the browser.  It is a JavaScript compiler that generates 100% JS applications that run completely in the browser, i.e. don't need a server for content.  Did you check out the short demo video ?

Comment Tim Young [Elevate Software] said... Reply
Surjanto: No, it compiles down to JS, HTML, and CSS files (along with any images used for theming).   It is 100% client-side only, and does not concern itself with the back-end code on the web server.

Comment Tim Young [Elevate Software] said... Reply
Eduardo: the final code is 100% JavaScript, HTML, and CSS, all emitted from your Object Pascal code and forms that you design, just like with Delphi.

Comment Surjanto Kwe said... Reply

Since my background was database programming, and this EWB is client side only (no database right ?) any idea what serious system can be made using EWB ?

Comment Steve Gill said... Reply
Hi Tim,

Sounds really good.  I currently use PHP with a CodeIgniter framework for web applications but this sounds like it may be easy to use.  If I can access data from a MySQL database and run it on a Linux based web server then I'm very interested.

Comment Tim Young [Elevate Software] said... Reply
Surjanto:  we'll have a demo application with the final product that is the exact same demo application as what we ship with ElevateDB and DBISAM - CDCollector.  It will show you how to do database access through a web server, and will include source code to the web server layer also (there's a small web server component that ships with ElevateDB that you can use to handle dynamic HTTP requests that serve up data as a web service).

Comment Tim Young [Elevate Software] said... Reply
Steve: yes, absolutely.  The web application will be completely back-end-agnostic, and will not care what it is talking to as long as it serves up the correct data.  And yes, using EWB will be as easy as using Delphi.

Comment David Cornelius said... Reply
Tim: Yeah, I saw the video, but missed the part about this being a completely browser-based deployed app completely in JavaScript.  That makes a bunch more sense and really is quite interesting. Thanks for the re-explanation!

Comment Richard said... Reply
Hi Tim,

For a few months I have been looking at options of creating web applications for both iPhone and Android. Fortunately there is some common ground between the two platforms. Both use WebKit based browsers, which generally means HTML5 and CSS3. Also, both Google and Apple have done a lot of work with Javascript. HTML5 has local storage using the SQLite database engine.

Although it's still new, I've tried JQuery Mobile and it works beautifully. Hopefully with a future release, EWB will do something similar to JQuery Mobile, but using Pascal instead, and without the hassle of HTML, CSS and Javascript.

By the way, there is a similar product I have tried called NSBasic. It generates Javascript, HTML and CSS from BASIC code. Converting a language like BASIC or Pascal is actually a great way to create web applications without having to be an expert in HTML, CSS and Javascript. NSBasic specifically target phones, so you have the edge there when it comes to desktop web applications.

Comment Tim Young [Elevate Software] said... Reply
Richard: EWB works great on Android (haven't tried it on iPhone yet, but don't anticipate any issues).  It also has some serious improvements over some of the other development environments, specifically how it interfaces with external code and how it emits the JS code.  This is especially important for mobile devices with slower connections.

Comment Adam Brett said... Reply
Wow Tim, Great work.

Does this product have any relationship at all with Morfik? I have written to you about Morfik a couple of times & EWB seems similar in certain respects.

I look forward to trying out the product!

Comment Steve Gill said... Reply
Hi Tim,

Will we be able to use CSS to style EWB, including the components? Also, are we still looking at a 1 October release date?

Comment Christian Kaufmann said... Reply
Any news on release 1.0?`

cu Christian