Website Suitability of XoJo

Greetings. I am new to XoJo, and have just a little programming experience, and would like to ask a couple questions:

  1. In general, how suitable is XoJo for 1)making company websites, and 2)making e-commerce websites? Seems much easier than having to learn html/css/javascript/php/mysql, but most of the XoJo documentation I’ve read talks about web applications as opposed to these sorts of websites. Would love to hear opinions on this.
  2. On a lesser note, I just did the web tutorial, and customized it a bit by clearing the text field after adding a new entry to the Task List, and was wondering how to get the cursor to appear and be blinking in the text field once it’s been cleared?

Thank You,
Jeff

Xojo is really good for web apps. Not so much for web sites.

While I’ve seen it done I think you’ll be better off using a tool that does web sites. Xojo requires a persistent connection thus if you expect more than a few dozen users you’ll have to do load balancing and multiple instances of the app running.

There are ton of ways out there of doing e-commerce solutions. Using Xojo would be reinventing the wheel, and I think you’ll be disappointed with the result.

Others may disagree, but that’s my opinion (been using Xojo for 16 years).

Hello,
did you try YourTextField.SetFocus for making the cursor jump to the desired textfield and make it blink?

As Bob already said, Xojo-Web is intended for creating web applications. I mostly do web projects this way:

  • RapidWeaver or other website creation tools for the static part of the site. The site structure and design is done here in html/css. You can design the site the way you like.
  • Xojo-Web for the interactive part of the site. The web application created with Xojo is simply loaded/embedded into an iFrame in a html-site.

Here you can see an example of this method:
http://blubbsoft.ph-gmuend.de
The website itself is created with RapidWeaver (a tool for quickly creating websites). The „Anmeldung“ an “Kontaktformular“ sites display a Xojo web application embedded into an iFrame.

You should use the tools which are doing the job right. Nowadays with HTML5/CSS3/Javascript they outrun the Xojo web edition.

The advantage of using JavaScript is that calculations and heavy processing can happen on the clientside, which is faster than on the server side. The Xojo WEB edition puts heavy loads on the server side, slowing everything down.

The WEB edition is a more easy way to build dynamics into a website, also it limits you severely. It is better to use JavaScript with a good framework which you can download from the internet.

I create HTML5 games in combination with Javascript. Once you master JavaScript, it is a piece of cake. For your webshop, you can use a commercial solution, which some of them are free.

The easiest way is not always the best way. Also doing things yourself gives you a head position to others who use visual tools. You can keep up with new versions when doing things yourself, users of visual tools have to wait until their tools support them. In case of Xojo, can take a long time (iOS, Android…), which is something to consider.

That is not true. The Xojo Web framework itself does not do that – it is itself a complete client-side Javascript framework.

It more or less entirely depends on the developer: if you code like in Xojo desktop you’ll of course slow down your Web app severely.

[quote]The Xojo Web framework itself does not do that – it is itself a complete client-side Javascript framework.[/quote] Is this true? I also thought that everything is done on the server like Chris has mentioned.

Anybody can verify this?

Look at a web app’s files on the client-side with your browser’s developer extension.

For a web site HTML/CSS/Javascript is probably preferable, in terms of design especially. But Xojo is extremely adept at dabase and processing, which makes it an ideal tool for the backend and engineering part of an e-Commerce site.

In fact, the best of both worlds is to use HTML/CSS/Javascript for the web site, and Xojo Web anytime processing is needed.

Some moderation maybe in order. Most of the framework is actually pure CSS/JavaScript, completely client side. Of course, programming is done server side, which has some evident security advantages. Something not to neglect on an e-Commerce site.

As for the “Heavy load”, if programmed right, Xojo is not the monster you make it to be. In fact, like any tool, it is possible to program so badly, the result is pitiful. A good programmer will obtain a light and zippy executable.

[quote=348688:@Eli Ott]That is not true. The Xojo Web framework itself does not do that – it is itself a complete client-side Javascript framework.[/quote]So Xojo Web Edition no longer sends client side events on a round trip to the server?

I did not say that Xojo is a monster. I only said that HTML5/CSS3 and Javascript are better alternatives in my opinion.

It is not up to myself to label people with different opinions than myself as “bad programmers”. It only means that our experiences are very different. Based on what I see here on the forum and the excellent advice myself and others received here from you Michel, you are indeed a very good programmer.

My background is very different than yours. I only use Xojo for Windows desktop applications, for anything else I have to rely on other tools or have created them myself in… Xojo. That is the beauty of Xojo, when needing a utility to make the job to be done faster, startup Xojo and start programming to make my working life easier.

Xojo is a very good rapid development tool but has its limits, like every software including mine. Considering the very helpfull and skilled community here, Xojo is a very good choice because of the resources and skills found here.

This is not true.

Chris, you are thinking either/or. You cannot easily do database in HTML/CSS/JavaScript. If you care to read what I posted, I clearly said HTML/CSS/Javascript is much better for web sites, especially designwise. But if you need to do eCommerce, Xojo Web is very well suited.

It is not the only tool available, and there are other out there, such as php. But the comfort of the Xojo RAD environment is IMHO unrivaled.

I completely agree with you Michel, with your last reply.

Connecting to a database with JavaScript is perfectly possible, but should never be done for security reasons. To connect to a database it has to be done using PHP scripts for example. There is no easy road here besides of using Xojo WEB.

That is where we have to weight our decisions about which solution we use. For small projects with a few users, Xojo WEB can be perfect. When the project grows with many users, things get slower with Xojo WEB edition. I am willing to reconsider my opinion, if someone proves me wrong on this subject on the WEB edition.

Of course this is true. It is just tied to a Xojo Web Server and the client-side is a black box for us developers (with the exception of WebControlWrapper).

Hi Eli,

If the user left the textbox blank, and I wanted to check if the textbox is blank, does it won’t trip to the server anymore?

If you want to deal with that on the server side: yes.
If you want to deal with that on the client side: no.

But this is the same with every framework. What Xojo does is it hides it from you – which can be both a blessing and source of troubles, depending on what you want to achieve.

I’m not clear what do you mean. So, I need to know how do you explain this. When we put a pushbutton in a webpage and inside PushButton.Action event, we put this code,

Msgbox "Test message"

How does this code/framework/app work? Step by step until we see the message box.

  • WebPushButton is clicked
  • Client-side framework calls triggerServerEvent (which is part of the client-side Xojo framework)
  • Server-side framework handles incoming request (a WebControlWrapper subclass would handle this in ExecuteEvent)
  • Action event is raised
  • Server-side framework sends JavaScript code which usually is a function call into the client-side framework (a WebControlWrapper subclass would send this with ExecuteJavaScript)
  • Client-side executes the JavaScript code received

[quote=348704:@ronaldo florendo]Hi Eli,

If the user left the textbox blank, and I wanted to check if the textbox is blank, does it won’t trip to the server anymore?[/quote]

When I wrote above about bad programming, that would be a perfect example of what NOT to do. You don’t poll to know what is in the textbox to see if something is there. You wait for user to click “Send” or whatever means the form should be sent to the server.

This is true of any tool that interacts with the server, would that be for processing or database. Php being another popular example.

[quote=348707:@Eli Ott]- WebPushButton is clicked

  • Client-side framework calls triggerServerEvent (which is part of the client-side Xojo framework)
  • Server-side framework handles incoming request (a WebControlWrapper subclass would handle this in ExecuteEvent)
  • Action event is raised
  • Server-side framework sends JavaScript code which usually is a function call into the client-side framework (a WebControlWrapper subclass would send this with ExecuteJavaScript)
  • Client-side executes the JavaScript code received[/quote]
    So, how do you mean with “it is itself a complete client-side Javascript framework.”?