Android Question Multi-user development

sivakrith

Member
Licensed User
Longtime User
Hello,

Having tested and developed a few mini projects in B4X, we want to expand our development team, ie. everyone could end up developing the same project from different computers. A small test of opening the same project from another machine didn't go well. Seems B4A IDE is not designed that way. Would like to have your expert opinion about how to proceed with this. Would like to have your expert advice in this regard.

Happiness Always
BKR Sivaprakash
 

Sandman

Expert
Licensed User
Longtime User
So basically you had the project on one computer (a server?) and several people tried to open it from the IDE? And that didn't work well?
 
Upvote 0

sivakrith

Member
Licensed User
Longtime User
Thanks Sandman,
Yes. We could open the project, but could not run the project. We tried a B4A (Android) apps only so far.
 
Upvote 0

Sandman

Expert
Licensed User
Longtime User
Did you consider using a central repo and then each person used git or mercurial (or something like it)? I imagine that's the method most people use.
 
Upvote 0

sivakrith

Member
Licensed User
Longtime User
Thanks Sandman,
I think you are talking about a version control system. I don't think we have any skill set to host and use that. Any other suggestion?
 
Upvote 0

Sandman

Expert
Licensed User
Longtime User
I think you are talking about a version control system.
Correct.

I don't think we have any skill set to host and use that.
You really should give it a shot. It's considered a solved problem and you will find lots and lots of beginner guides online to help you understand it, so if you're willing to invest a couple of hours then you should be golden.

Any other suggestion?
None.

I really recommend trying to adapt to the consensus solution, which is to use a central repository. If you don't like git there are several other options but git is what's considered standard for most. (I actually use Mercurial instead, sort of like git but a lot easier to understand for me.)
 
Upvote 0

Sandman

Expert
Licensed User
Longtime User
TortoiseHg is also recommended, along with it.
Yep, that's what I use. Or, to be more exact, I use it for my internal code review because it gives a nice overview. All the actual committing, pushing, pulling and merging I do on the command line. It's so simple that I never bothered taking an hour to learn TortoiseHg well enough. :)
 
Upvote 0

andymc

Well-Known Member
Licensed User
Longtime User
I'd highly recommend using GIT. It only takes ten minutes to learn the basics, you don't need to use GitHub or anything just use it on your local network, then use github if you want a remote copy or have people in other places.

Seriously, I put off getting in to version control as I thought it would be complicated but Git makes it so simple.
 
Upvote 0

Sandman

Expert
Licensed User
Longtime User
It's great to use Github (or some other service like them, there are several), as it's also a very simple way of having an off-site backup of the source. More than one company have imploded because they lost their source code at some point.
 
Upvote 0

Andrew (Digitwell)

Well-Known Member
Licensed User
Longtime User
It's great to use Github (or some other service like them, there are several), as it's also a very simple way of having an off-site backup of the source. More than one company have imploded because they lost their source code at some point.


Take a look at BitBucket as another free Git host. https://bitbucket.org/

Some Cpanel type web hosting provide remote git as well.
 
Upvote 0

Didier9

Well-Known Member
Licensed User
Longtime User
Thanks Sandman,
I think you are talking about a version control system. I don't think we have any skill set to host and use that. Any other suggestion?
That is exactly the reason why version control software was invented.
Trying to do version control without version control software requires considerably more skill, tolerance for screwups than learning to use version control software, and a lot more patience than I have...
 
Upvote 0

andymc

Well-Known Member
Licensed User
Longtime User
Thanks all. Really impressed with your nice suggestions.
With these, I would like to try out https://git-scm.com/. Hope this will suit B4X development(s) with local hosting.
Shall I try https://desktop.github.com/ for windows GUI with GIT?
Git desktop might be a good option for you. As it will let you easily see code differences before pushing them up to a remote repository and gives you easy buttons to use for Git processes like push, pull, fetch etc... without needing to use the command line.

I use VS Code for most of my day-job coding and this integrates really well with GIT, not sure how B4X IDE manages though as I've not tried GIT with my B4A work yet.
 
Upvote 0

DonManfred

Expert
Licensed User
Longtime User
in-built facility to connect to a git repository?
No. There is no in-build support in B4X. But you can use 3rd Party git-support.
 
Upvote 0

sivakrith

Member
Licensed User
Longtime User
Thanks, DonManfred.
It's really confusing for me to choose one. I don't want to use GitHub as of now. Want to use my local server instead for B4X projects. Seems Git is on the client-side, where it can pull data from a server, can commit changes to the server, etc.
I want Git to pull data from my local server. For this which one's to installed in the server and in (all) clients? To my understanding Git is to be installed in all clients' machines which should be configured to pull data from the local server. Correct me if I'm wrong.
Any help in this area is really appreciated.
Thanks.
 
Upvote 0
Top