Hi Hans,
welcome!
Working professionally with LiveCode & databases myself, I may be able to give a helpful hint to some topics. I'm sure others will come to provide a broader view. So I'll concentrate on the points in your post that "raised an eyebrow" when reading ;-)
Hans-Helmut wrote:I am personally using Windows 10, 64bit and Android. As I seem to understand, most users here are into Apple Macintosh and iPhone side?
This is correct. Not only the by far most users are Apple addicted, RunRev (the company behind LiveCode) also has a strong emphasis on iProducts (the latter may be a cause for the first). As you can easily recognize by the style of their web presentation (or by reading the change notes of the few last years) they view LC as "the tool" to quickly churn out "apps" for iGadgets.
Android, Linux and Windows are supported, too, but to a much, much lower degree. And thus have a quite smaller user base.
Nevertheless LiveCode is a great developing environment, including cross platform distribution, even for tasks by far surpassing the creation of another mahjong clone, or the umpteenth video player for tiny screens.
It's possible to create things with it that actually earn money, else I wouldn't use it ;-)
Hans-Helmut wrote:I have a technical background and work with professional programmers. They have not been into Livecode yet.
Here I see a serious problem. LC (the language) is fundamentally different to traditional C-like, and even to the newer Basic-like languages. Sometimes I still do VBA coding (foe MS Access), and it doesn't go together well - it usually takes a day of frustrating accommodation to finally throw the switch in the brain and start to think in the new context.
Having a team of professional programmers learn & switch to LC? This may work, but may cause a lot of trouble, too.
Judging based of myself, who suffers eye cancer if forced to read only PHP and its wasteland of parentheses, this will fail miserably. But your developers may be better than this lonely guerilla coder :)
Hans-Helmut wrote:I am now testing Livecode 8.1.2. Playing around I found that 2 x it completely crashed. And often enough on my Windows laptop, it stops for a while having the wheel spinning (Windows suspend mode) and it may take a while for the Livecode to recover.
The 8.* versions are rather new and still in heavy development. There are some few grumpy old dev's among us that regard it not yet reliable and stable enough for serious work, and prefer the 6.* for their use.
6.* also is commonly regarded as much faster in many aspects, where the newer 8.* and 9.* versions are getting better and better.
You're not forced to use the new versions, read the release notes on the
download page and judge yourself what's needed. For instance, if you don't need support for new Apple OSses and can live without the new widgets and HTML5, you can easily use 6.5 (fastest ever) or 6.7.10 (as I do).
Hans-Helmut wrote:I noticed that even some seconds of inactivity close the database connection. Maybe it is an issue to solve on the server side?
This sometimes comes with MySQL databases configured to serve web sites - they can be optimized to answer thousands of tiny queries in quick succession, avoiding resource-blocking long sessions.
I generally don't use "standing connections" at all with web dbs - too much hassle managing it. Instead I work with short connections, one at a time:
Code: Select all
put revdb_connect("mysql","myServer.org",myDBName,myUser,myPass) \
into MyDBID
if MyDBID is not a number then -- connecting failed
db_Err someParams -- error handler here
return empty
end if
put revdb_querylist(tab,return,MyDBID,StrSQL) into MyVar -- send query
get revdb_disconnect(MyDBID)
if item 1 of MyVar is "revdberr" then -- something went wrong
db_Err someParams-- another error handler here
return empty
else
return MyVar -- return result of query
end if
This is (the relevant part of) my basic shared handler for select queries. There's another one for action queries, quite the same, just "revdb_execute()" instead of "revdb_querylist()". And with these two handlers I do
all of my database work.
You may feel tempted to use the long list of functions and commands LC provides for further database use, and maybe even the dreaded DataGrid, the alluring bane of any LC newbie. Think twice!
I avoid those like devil the holy water. I can nearly sing SQL (and take the view that who doesn't shouldn't be allowed to even touch a db ...), and I generally try to use the suiting tool for the job - so I set up my databases with HeidiSQL (or another good db manager) including structure, views, procedures etc.
Then I use the superior chunk handling capabilities of LC to construct carefully crafted SQL statements, and throw them to the db. Finally I use LC again with its easily manageable interface components to present the data, and to let the user interact with.
Hans-Helmut wrote:But what I find is that Livecode IDE seems to be awfully slow. The speed is varying for connecting or receiving table definitions or receiving selected user entered data. But it was never below 2 seconds for about 10 rows and it may take 5 seconds or more to retrieve and indexed list of names.
Since my interactions with the db only consist of sending commands and receiving results they are usually done in a low millisecond range, limited only by connection speed. And since all of my views and procedures live on the database server it's only a question of the available resources there (and the way how the db is set up and the views and procedures are written) how fast the db spits out its results.
Hope I could help a bit, must get back to work. While writing this a new idea crossed my brain ...
I'd like to emphasize that above is my personal opinion, of a quite old developer of highly specialized & customized database front-ends and process automation tools that wouldn't survive a week in a today's programmers team ;-)
So my opinions are strongly biased and should be taken with a grain of salt.
Have fun!