I’m just about to finish up my latest Web2.0 project and though I would share my thoughts, struggles and ideas for improvements and hear how others are handling similar situations.
First of all, wow, Xojo Web really lets me develop web apps in record speed with minimal effort. In total I have spent less than 3 weeks of active development time on this project https://2024.1001words.art (feel free to sign up and test, it is still in beta).
Secondly, wow again, Xojo Web has really improved on performance lately. Im running this Web app (as a single instance) on a Raspberry Pi 5, 8Gb ram and 1Tb SSD sitting in my office. Another Rasperry Pi 4 is running NGINX as a SSL load balancer in front of it. It seems to handle 196 requests/s without a sweat when hitting the first page of the site with oha. Running multiple instances of the app should in theory multiply that figure. It will be very exciting to see how this setup holds out ones we go live with it.
Getting so much done, single handedly, in less than 3 weeks of active work, with a complete server infrastructure the size of 3 decks of cards costing about $200 is pretty fantastic.
This little project, despite 0 budget, has been a true joy to work on thanks to Xojo Web.
But there have been some constraints that have led to frustrating compromises in the final app, maybe some of you have some ideas on how to work around them or fix the underlying issues.
Xojo Web, unlike regular web pages does not handle dynamic page flow very well, in fact not at all as far as I can tell. Since everything in Xojo Web has a absolute fixed position, height and width it is to my knowledge impossible to implement a page flow like a traditional web site where say a text paragraph will push the below items down vertically if the text is long.
In Xojo all text is presented in a fixed positioned box with a fixed height and width.
In the app I have had to use Text Areas to present texts that can vary in length, resulting in scrolling of the individual Text Areas, instead of the page, if the texts displayed is longer than what fits in the Text Area, that in turn depends on the screen size of the viewing device.
Im basically missing 2 things that would have made this project even better, easier and more fun to develop.
-
A Text Field/Area without height, that acts like text/objects on a traditional web page, ie flows downward depending of the length of the text, ie the height of the Text area depends on it’s content. (I would like to be able to put * as the height of a text field and have the height adjust dynamically)
-
Relative positioning of objects on the page (specially Top) so that a Text Area above other objects pushes them down if the text is long. (I would like to set “relative” as the Top parameter of an object and have it top automatically aligned to whatever is on top of it on the page)
-
Web Pages with dynamic height, ie the page height is determined by the height of its dynamic content instead of the page height parameter. (I would like to be able to put * as the height of a page and have the page height adjust dynamically bu the content)
Yes, this can to some extent of course be compensated for in code, but that is a messy coding process that is not elegant.
Maybe I could alter the apps css files in a way to achieve this?
I have not yet checked out the underlying css files, but I have a feeling this could be done using positioning relative etc etc in the css, but that might mess up the whole app if applied out of line with the framework.
Optional dynamic height for at least Text objects as well as relative top positioning of objects would improve things greatly in my opinion.
Could it be implemented in Xojo Web?
How have others solved these types of issues?
1 post - 1 participant