I was wondering how other users of Xojo organize files and folders for their multiple XOJO projects.
I created my own system, but perhaps I could find a better way to do it, comparing with other users.
I do not intend to work with a Version Control System.
Version Control System is must have in development unfortunately Xojo is not able to implement Version Control for beginner due to project format. I donāt really understand why. Version Control is a good practice even for beginner
I wouldnāt say āmust haveā as Iāve always done without this and all is fine.
Itās like managing other kind of documents: it depends on your habits.
Quickly said, inside my projects folder, I have an āarchivedā folder (where I put what I donāt develop anymore), a ācurrentā folder and a folder where I have shared classes. Each folder is the organised in sub folders (projects name for the āarchivedā and ācurrentā folders and classes name for the other).
When/If I start a project over, Iād either create a new folder (e.g. āMyProject 2ā) or keep inside the same folder a āMy Project.v2.<Xojoās extension>ā file, depending on the case.
I have a folder in my Documents area named āRealBasic Projectsā (which indicates how long Iāve been using this system) that contains the various projects, each in its own folder. At that same level is a folder containing my shared modules.
The individual project folders may contain subfolders for each version I want to retain but are historically older and not actively maintained. If I need to experiment with something that will take considerable coding, Iāll make a copy of the project file(s) first, just in case I need to restore it after doing something stupid.
The entire RealBasic folder gets backed up to the cloud at least once a day if Iām actively working on a project. I tend to not use version control since it isnāt cost effective for me.
Itās still more expensive than the Lite option, but itās available in the Desktop version for $299 (unless something changed). Thatās a lot more affordable than the Pro.
I have a primitive version control system of my own making which is useful to me. Apart from that, I have a master Xojo folder and then subfolders, each of which contain a individual project.
As I work, I make compressed (zipped) time stamped files of my project so I limit my losses if disaster strikes. I like using zip files not so much because of the space savings, which are really not important, but because this way I avoid inadvertently opening an older version of the project with all the horror that that entails.
i have a own hd partition and then folders for each programming language.
inside the projekt folders. one folder as parent for all test project folders.
for all software setups i install it direct after the drive letter L:\Xojo 2020r1.1
to have a good overview and quick access.
in the ide / project itself i use folders for ui, classes, icons, images.
Quickly said, inside my projects folder, I have an āarchivedā folder (where I put what I donāt develop anymore), a ācurrentā folder and a folder where I have shared classes. Each folder is the organised in sub folders (projects name for the āarchivedā and ācurrentā folders and classes name for the other).
When/If I start a project over, Iād either create a new folder (e.g. āMyProject 2ā) or keep inside the same folder a āMy Project.v2.<Xojoās extension>ā file, depending on the case.
Sure, why use a fully featured industry standard tool, when you can roll your own instead and live with the lack of features and human errors instead?
To get started with version control the binary format is enough. Use external items instead of the text format. I found the text format not suitable for my needs because my projects share a lot of code.
I donāt do the cleanup where Xojo changes 100 files when only a couple of classes are changed. For comparing different versions of files I use Arbed. But I need to do that only a couple of times a year.
Industry standard tools donāt suit everyoneās needs, as with anything.
My flexibility is well served with my habits, better than with someone elseās tools, for example.
Never had a lack of features, but have the simplicity (nothing to install, nothing to pay, nothing to set up, can work without internet connections).
As for human errors, you learn a lot with having them.
When using with binary projects it is not searcheble and the code reuse is really hard job while xojos structure is not really allowing it completely. The use of github makes no, absolutely no sense with binary projects, in that case you can do a simple database with check in and check out. But That is not the clue of github.
Anyhow I prefere another form of structure in development environment. They could take a look to JetBrains, Netbeans, Eclipse.
And more fast stgring functionality would be nice. Even the B4J IDE is faster as emulated wine running on Linux than xojo 2020R1.1. So I think there is a need to rethink and reengineer parts of the IDE to have also the ability to bring up coding with Github or even SVN in a really usable and usefull function.