Using Revolution for LARGE projects

Sarah sarahr at genesearch.com.au
Wed May 28 20:14:00 EDT 2003


Hi Igor,

I have made a few medium sized projects and have just started work on a 
large project. I agree with the other responses so far, that Revolution 
IS suited to large projects, however I would also urge you not to 
consider the project as a single entity. In your list below, you have 
divided the task up in sections: that's great - now consider each of 
those sections as a separate project that can be linked to the other 
sections. This will make the project seem far less complex and make it 
easier to debug.

To answer your specific queries:
1. Will it be manageable?
Yes, if you structure your stacks and scripts well. Don't try to make 
multi-purpose stacks. Use a separate stack or even stack file for each 
significant task. Comment your scripts well (remember, someone else may 
have to make changes in the future) and use clear variable and handler 
names. Read Richard Gaskin's article on scripting style before you 
start. Because of the graphical way of laying out objects and then 
applying scripts directly to the object concerned, it is very easy to 
track where problems occur.

2. Will it be fast enough?
You are talking about a multi-user database structure, it has to use an 
external database like MySQL. As you predict, the speed problem won't 
be in gathering the data, but in updating the graphical display to 
match. There are always multiple ways to do things in such a flexible 
language as Transcript and some will be slow but there are nearly 
always fast ways to go. You might like to have a look at my Speed.rev 
stack (web site link below), which points out some of the key tricks, 
and Richard Gaskin also has a stack called 4WBench.rev (I think) which 
will allow you to test various scripting options.

3. Will it be reliable?
One of my apps was last upgraded on 6th January and it hasn't quit 
since :-) You do need to have safe-guards in case another app brings 
down the system, so make sure that any data changes are saved as soon 
as possible rather than being cached for a single large update. The 
only problems I have had with stability of compiled apps, is where they 
are trying to access an internet socket which isn't available. Under 
Mac OS 9, this is fine, but with OS X, it can cause an unexpected quit 
or some other problems.

Sorry to be so long-winded :-)
Cheers,
Sarah
sarahr at genesearch.com.au
http://www.troz.net/Rev/


On Wednesday, May 28, 2003, at 07:57  pm, Igor Couto wrote:

> Dear Revolution Experts,
>
> I am considering using Revolution as a development tool in a large 
> project, but am hesitant because of the apparent lack of complex 
> applications made with Revolution - apart from Revolution itself. Most 
> applications I've been able to locate on the web that are made with 
> Revolution seem to be relatively small.
>
> I was wondering whether anyone participating in this list has used 
> Revolution to develop a LARGE, COMPLEX application. To give you an 
> idea of the size and level of complexity I am considering, here is a 
> bit of information on the software package in question:
>
> It is basically an integrated medical practice management system. The 
> program will:
> a) Store daily appointments for doctors, and display daily and weekly 
> charts.
> b) Manage an electronic waiting list of patients by order of arrival
> c) Keep patients' clinical records (including scans of x-rays)
> d) Keep an administrative to-do list
> e) Maintain patients' accounts and financial information
> f) Provide statistical information on doctors, patients, and the clinic
> g) Issue a variety of printed reports, including invoices, receipts, 
> statements, patient history, consultation schedule, etc.
> h) Multi-user (networked)
> i) Issue alarms and notifications
>
> Because the product must be cross-platform (Macintosh and Windows), I 
> have been weighting the pros and cons of both RealBasic and Revolution 
> - as these seem to be the most feature-full and robust cross-platform 
> development environments around. While RealBasic seemed appealing at 
> first, I soon stumbled across several limitations, some of which would 
> eventually compromise both the user interface, and the design of the 
> application. Revolution seems to have all the user-interface 
> functionality we want built-in (or easily customisable or 
> programmable), however I haven't been able to ascertain whether it 
> would be:
>
> 1) Sufficiently MANAGEABLE in a large project: are Revolution-based 
> projects just as easy to manage and maintain as projects developed 
> with a 'normal' object-oriented language? Are there more debugging and 
> maintenance problems in Revolution because of the lack of strong data 
> types? Is it sufficiently easy to apply object-oriented concepts of 
> application design (specifically classes and data structures) in 
> Revolution?
>
> 2) Sufficiently FAST: what database should we use as the back-end? 
> Valentina? MySQL? And considering that some of the windows in our 
> applications are going to be making several simultaneous queries to 
> the server, and then updating tens of objects in the interface 
> (graphs, option menus, tables, summary fields, etc.). Do you believe 
> that a Revolution interface can be made sufficiently fast and 
> responsive - or will the user always be dealing with some lag and 
> screen refresh issues?
>
> 3) Sufficiently RELIABLE: the application will be absolutely 
> mission-critical, so reliability is a major concern. How stable and 
> reliable are complex applications made with Revolution?
>
>
> Any experiences you have that might help in pointing me in the right 
> direction would be greatly appreciated!
>
> Many thanks in advance,
> --
> Igor de Oliveira Couto
> ----------------------------------
> igor at pixelmedia.com.au
> ----------------------------------
>
> _______________________________________________
> use-revolution mailing list
> use-revolution at lists.runrev.com
> http://lists.runrev.com/mailman/listinfo/use-revolution
>
>
>
>
>





More information about the use-livecode mailing list