Best practices for web app development

Getting ready to develop my first web app. I’ve been using XOJO for desktop develop going way back to the Realbasic days. Just wondering if there any basic best practices to follow for web development. I intend to use the most current release of XOJO.

If you have a suggestion that you would like to share, I’d love to hear it.

Hi John,
The basic Xojo IDE is much the same as for Desktop apps, but be aware of a class called “Session” which does not exist in desktop. It’s a very handy class for storing methods (database connections especially), and any properties or variables that you want your web user to use / see (that is unique and only visible to this one user - like login details, etc).

The App class can be used for any global variables / constants / methods - but bear in mind that ALL your web users would be “seeing” stuff common to all users.

WebPage is pretty similar to a “Window”, but WebContainers are also very handy for creating effects like tabbed windows or switchable page layouts etc.

Deploying the completed app is quite a subject in its own right! Xojo Cloud is a simple turnkey solution, and also https://strawberrysw.com/ have a very easy-to-use deployment system for certain Linux based Virtual Private Servers. Or you can easily host a web app on a private LAN by simply building a Standalone build that matches the OS that will be hosting it.

I’m sure others will chip in with further advice with some do’s & dont’s…

2 Likes

My recommendation. Think big, start small (until you are familiar with the concept). The following might help you to get into the Bootstrap concept. I don’t recommend to change the default bootstrap theme at the beginning, though. But out of experience, many people seem to be very interested in changing the default bootstrap :-).

4 Likes

Thanks, that helps a lot. Kind of make you appreciate the fact that Filemaker has done all this work for you by providing themes for desktop, iPad, and iPhone. But I digress… I’m working in XOJO and this explains a lot.

1 Like

yup, every solution has it owns pro and cons. And of course “natively” you can do “more” with CSS and Javascript. But hold on, that you need php or python for the backend, and/or frameworks … And you lose the capability of re-using at least parts of your code 1:1 for desktop apps or mobile. So for me Xojo Web 2 makes quite a decent job with a relative low learning curve if you have already some experience, and definitely a low learning curve in comparison to learn all the other languages.

Let me phrase it differently: if someone has no experience with web backends, Javascript etc. he might not be able to realize everything he is dreaming of but it is absolutely possible to develop a web app doing the job without bothering much about all the nitty-gritty stuff. Especially when using Xojo Cloud. Click the button and it will run.

Disclaimer: Im not using Xojo Cloud myself. But I looked at it and bought it a couple of months. It is very well done. It is not my price league and I know how to run it on my own, so I’m hosting it myself. But I’m not aware of any web development system where you can achieve so much by just clicking a button and(!) allowing you to host it by your own, if you don’t want to pay for the easy full-service.

@John_Fatte
I added an article showing how to change objects individually, perhaps this one might help you as well.

1 Like

Someone asked me how to change the height of a row in WebListBox in Web 2.0. My answer enclosed:

1 Like

Awesome solution but damn, what a pain.

Is there a way to disable sorting in the listbox?

How about the problem of cells taking up the whole listbox “stretched” until you hit the sort button. Kinda funky behavior.

per column, for instance for the third column:

lbYourListBox.ColumnSortDirectionAt(2) = WebListBox.SortDirections.None

1 Like

It’s all relative. Trying to do it by your own is a pain as well :slight_smile: - I think it is pretty good for a first version, but yes more improvements are highly appreciated.