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
[EMAIL PROTECTED]
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
----------------------------------
[EMAIL PROTECTED]
----------------------------------

_______________________________________________
use-revolution mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/use-revolution







_______________________________________________
use-revolution mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/use-revolution

Reply via email to