Integrating with a database? ARGEN is the closest you’re going to get.
That is what i supposed. ARGEN is nice - up to the point that you make modifications on the database. It’s like a one time start tool. And when things develop it gets problematic. My hope is that ARGEN will undergo an evolution - or something similar wll be integrated into Xojo itself … but not today and now. And to come back to Aurel this is may be an obstacle in winning new users.
I can tell you that in no uncertain terms that ARGen will not evolve this way. ActiveRecord (what ARGen generates) does warn you when you add a new field to a table that’s not accounted for. And that only happens when running in the debugger.
The way we use it (and since we wrote it for ourselves it makes sense) we use it for new tables/views but add single fields manually-it’s not that hard or time consuming. Keep in mind that at one point (just a few years ago) we created all of the DB objects and UI by hand and now ARGen gets us 75% of the way there.
Some have suggested that we should be a ‘compile and go’ utility meaning that they don’t want to have to code anything. To that, again, I say absolutely not. At some point you must learn how to code in Xojo. Using a crutch for coding means that you learn how to manipulate ONLY the crutch and as someone who trains other developers this is a bad way to learn any language. Heck, I’ve told some people that ARGen isn’t for them because they don’t understand how to debug Xojo code yet. Come back in 6 months when you learn the basics of Xojo. It’s not a tool for beginners, in my opinion.
Now, with all that said, Xojo could make the IDE a bit more database aware. But then our generic tool (Xojo) becomes very specific on how it works with databases. Does it work only with SQLite, all databases, or only supported databases? The questions go on and on. Generic is okay as long as you realize that it’s generic and come up with a plan on your own for dealing with it.
Hi Michael,
I actually came from a Clarion background. I used Clarion for 10+ years. I developed all of our company’s line of business apps in Clarion. My concern with Clarion and the catalyst for my change to Xojo (RealBasic at the time) was I thought TopSpeed could go poof as a company at any point and the lack of upgrades to the tool for modern UI and tiny user base concerned me. I also felt like moving beyond 4GL. I am REALLY glad I made the change. Sure there was a learning curve and it was steep at some points but once you get over that you will find it well worth it.
Now I will admit that Clarion was/is a very good tool for developing database centric business apps. Their licensing on their proprietary TPS database format is very good and the performance of the database is actually quite good, but there is nothing industry standard about it. My concern was I would be investing time in a tool that did not look like it was being maintained. At the time TopSpeed was talking about moving to .NET but that was talked about for years and I finally gave up because they were putting resources into that without maintaining and updating their existing tool. I felt like the tool I was using was obsolete and that the situation was getting worse, not better.
Xojo is not perfect by any means but just having an active and friendly user base that can help is a huge benefit. Xojo has a long history and they do keep the tool updated. There are certainly times when it feels like the updates are several steps behind the technology curve, but at least I know its on the radar and is being addressed.
Anyway I thought you might want to hear from someone that was in your spot several years ago that made the transition. If I had to do it all over again I would come to the same conclusion.
Hi Bob,
thank you for your opinion. I entered this forum to get answers like yours.
In fact I am working with Xojo now for a few years - maintaining a HUGE application someone wrote in RealBasic - and the effort is very high. I think too high. I also have Clarion and WinDev Apps runing - maintainable in a fraction of the time.
Your post implies that I am not going to “learn” Xojo if I am using generators? I have to disagree with that. I have my own, homebrewed generators, which do the biggest part of the job. And this can only work if I know what I’m doing.
By the way - I am sure Xojo will develop in this direction - because every platform will. It is the future.
And: Thank you for ARGEN
Hi Joseph,
thank you for your post. Very interesting because I also thought about moving away from Clarion. And yes: Softvelocity is a kind of strange company. But the worst part of this company is marketing - it simply does not exist. If you look at the tool itself: Version 10 is stable, based on a new IDE, running different versions of the compiler and also selectable template chains. May be you should try a look “back” to Clarion? Also conferences and communities are getting bigger and bigger.
And with regards to databases: It adresses all kinds of databases - I am using either TPS (easy) or MS SQL - best part is: You can deliver first with TPS for local usage - and later simply toggle a switch to get MS SQL. Perfect.
But one point you did not adress: Clarion and WinDev are running on Windows only. And this is a real drawback. I like to work on Apple - and this is perfect with Xojo. Like Tanner said above:
[quote]
Pick your poison… [/quote]
Right. If you wrote the generator of course you know how to debug and code in Xojo. My point is that many people look at ARGen as a shortcut to learning Xojo. They then send us support email and it’s obvious they don’t know much about Xojo.
I worked in Clipper, Visual FoxPro, Access, Clarion, etc for years. All are much better than Xojo for developing Database apps. True, Xojo is cross platform, but it does little to maintain a database. Building a “lookup table” is unusually hard. Bob Keeney’s ARGEN has the steepest learning curve I have ever encountered. I want to develop applications that solve business problems using tables and reports for small business operators that need simple low cost solutions. I do NOT want to learn programming. I love the MAC but I think I will have to go back to Access to get anything done. Xojo just doesn’t cut it.
To me it sounds like the second part of the statement contradicts the first… so I don’t think you meant exactly that…
Back in the stone age when woking for a major corporation, I used DB integrated enviornments on minicomputers like DataTrieve and VGL (a then 4GL that was the underpinning of a Laboratory Information Management System (LIMS) )… and I needed to know how to program to do anything besides VERY simple stuff…
I think you are saying want to use environment that does more of the UI and DB coding for you … that you would rather do more configuration than coding.
For a lot of simple business needs that can work well and be very efficient, but it also tends to be very limiting in some ways as well. particularly for bigger projects or for use for no clerical type needs…
Xojo gives you more freedom, but at the expense of more work.
That said Xojo could use better reporting and database management… and if it had a bigger market share I suspect there would be more sophisticated 3rd party tools to handle some of those things and more such functionality built it… but it would still not be like the tools you mentioned. because it is and will always be a general purpose 3GL … you would still need to write more code than with those tools… and that is nigh a bad thing!
- Karen
@William Broyles: Please show me a solution in Access that doesn’t have any “programming” and isn’t a total mess. This was practically the first thing I learned when using Access: do everything in code and don’t use saved queries and macros. Never looked back. But I only use Access for reporting.
If you say that Argen has a steep learning curve then the foundations are missing. You build a framework once and then you can use it always.
I think this says it all. Xojo is not a shortcut tool like FileMaker or Access. And ARGen/ActiveRecord is simply a database abstraction tool using the standard Xojo database classes that gives you some advantages in terms of auto complete and type awareness that the IDE doesn’t give you. Xojo, at the end of the day, it a programming tool.
I cant agree with Bob more. I was doing the database work by hand before ActiveRecord and it was tedious work. Then I started using ActiveRecors and my labor decreased drastically. Still had to write code but the amount was less as ActiveRecord did a lot for me.
Then ARGen came out and reduced it drastically again by generating the basics for me including some UI elements automagically.
Now is ActiveRecord/ARGen make Xojo like FileMaker or Access? Nope. But it does make it a lot closer to them for a programming language. But with any programming language you have to learn how to write code.
I wish I had bought FileMaker instead of Xojo!
Love Xojo, but it is NOT a database solution like dBase, FoxPro, or Access.
William: this have nothing to do with the original poster question (beside DataBase).
William, what is your question ? What do you have troubles with ?
Did you look at the DataBase examples (DataBase folder in Xojo) ?
Notably:
DataControl (ChinookSample.sqlite)
SQLite (EddiesElectronics.sqlite)
Note: for some reason (unknown), I loose my first answer. I do not wanted to re-write it so this is my answer !
[quote=374027:@William Broyles]I wish I had bought FileMaker instead of Xojo!
Love Xojo, but it is NOT a database solution like dBase, FoxPro, or Access.[/quote]
Xojo is not a database solution, but you can make it so. I did it. and I’m really happy with what I did.
Filemaker is a good app for prototyping databases. but it’s all BUT a programming language. and it cannot do more than the bad toy it has to make some thing automatic.
Xojo has a very light database handling, but you can (almost) do everything you want with it. just do it.
but yes you will have to learn programming for that.
here is how I make my databases now, and it’s a Xojo program I made. cross platform.
and the database tool is directly linked to the user application:
multi-window app, you can drag&drop records from one table to another if they are linked.
it’s make a new app with databases capabilities less than one hour to make a working prototype…
oh, I forgot, and deployment is completely free.
I start drawing an overview of the database with tables, fields and relations in a graphics program (Affinity Designer). Afterwards I create a prototype database in code and test it. The prototype is also in Xojo code. When it is fine tuned, then I have the database ready to use it.
It is maybe not the best way to design databases, but it works for me. I used Visual FoxPro before, and also used the same process.
@Jean-Yves Pochez Very nice program you made, looks realy great! Well done!
wow @Jean-Yves Pochez… that is a very nice design / layout for interacting with a DB.
some more screen copy of my implementation of the Chinook database client.
works the same for sqlite, postgres and mysql(beta)
unmodified list coming direct from the database editor:
the report editor:
default export models, you can make your own and add them to the list:
a customer record:
the edit menu where you find all the commands, same commands for each table unless you don’t allow it
still have to do some tweakings in the translations …
the sql query editor available in the database editor:
when you clic “->xojo code” in the editor, you can paste the code into xojo ide :
Very nice and clean design, …France got talent !!!