Page 1 of 1

Is Windows Supported as much as the Mac?

Posted: Wed Mar 04, 2009 6:33 am
by smpcs
Hi,

I am currently evaluating cross-platform software development solutions and am intrigued by Runtime Revolution. Reading the forums I get the impression that overall OSX is supported just slightly better than Windows.

My question is: What is the experience of the Windows Developers using RR? For example, do you feel like a "second class" of developer with more issues/problems to deal with?

I am not specifically asking about the Video/QuickTime issue which has been discussed previously here, but more generally how well you think the Windows Platform is supported. Before parting with my cash, I am interested in how happy the Windows centric developers (of which I belong to) are?

Thanks for your time.

P.S. I wasn't sure if this should go into the General or Getting Started sections, but here it is.

--
Scott McDonald

Posted: Wed Mar 04, 2009 9:52 am
by Mark
Hi Scott,

Windows and Mac OS X are equally well supported by RunRev. There are just a few extras on Mac OS X that simply don't exist on Windows, such as Core Image effects and "metal" windows.

If QuickTime is installed, it will run equally well on Windows and Mac. The issue is what to do if QT is not installed on Windows.

I have never made any software with Revolution that worked on Mac OS X but not on Windows or Linux.

Best,

Mark

Posted: Wed Mar 04, 2009 10:28 am
by SparkOut
Hi Scott,

I think your perception may stem perhaps a little from the fact that Revolution has evolved from a Hypercard and xTalk background, which has been familiar to Apple users for years, but the same awareness is not abundant in the Windows camp. You'll likely therefore find a greater proportion of Mac users relative to Windows on Rev-oriented fora and lists than you would probably find in other situations, such as a php developers' list.

I personally am from a Windows background, and have never developed anything for a Mac, and only played with a few low-key and test stacks for Linux. QT dependence aside, as you said, I don't believe that Windows is "supported" any less, or in any way that makes me feel second class. There are some issues that you will come across in development with Rev, and no doubt you will wonder why some things aren't done the way way want, or implemented as you expect. That sort of situation is cross-platform itself, and Rev developers from all backgrounds will face the same. There are very few "limitations" or problems caused in one platform that are not reflected in another. The only one I can currently think of is that on Windows there is an inability of the date functions to recognise a date earlier than 1971.

There's things that Rev can't do without recourse to externals or alternate scripting languages, so vbscript or command line shell execution triggered by a Rev app may be required sometimes - for instance in interaction with an Excel spreadsheet, or interrogation of certain system properties. The good news is that Rev supports the execution of these natively, so you can make a vbscript routine and get Rev to "do" it without having to call another file somewhere else on the computer. A Mac developer would use a similar technique by getting Rev to "do" an Applescript routine.

Anyway, while you will "rub along" with more Mac developers in your use of Rev than you have been used to, once you get familar with the Rev environment and community you'll find that they aren't *all* Windows haters :wink: (many of them develop cross-platform too) and you certainly won't feel any less supported by Revolution as an organisation.

HTH, from a Windows perspective.

Posted: Wed Mar 04, 2009 12:04 pm
by smpcs
Hi,

Wow! Prompt, comprehensive and informative replies. I read in the User Guide that:

Revolution has a very active and friendly user community.

and now I know that is true.

I am quite happy for there to be different ways of doing things since RR is cross platform, but in my search to find the "best" tool (of course, there is no such thing) I came across one solution (not Revolution) that clearly started on the Mac but is now cross platform and the community seemed to have more than a few Windows developers who felt like they were being neglected in the feature lists. Hence my question.

At this stage I'm still weighing up whether Revolution is general purpose enough for my needs. As a long time Delphi programmer I am used to being able to do *anything* C++ can do, such as being able to define and use completely new objects and data structures. One other option I am considering is wxPython which is closer to what I am doing now (and free!).

So while I understand that RR requires a rather different way of thinking about writing code, I can see that RR may be more productive - as long as not too many externals or "work arounds" are required.

Anyway thanks again for the replies. I will need to continue working with the Trial version and think some more.
--
Scott McDonald

Posted: Sun Mar 15, 2009 3:36 am
by mwieder
Scott - no problem with new data structures, especially now that we have multidimensional associative arrays. But if you need actual pointers to memory locations you'll need to rethink things. And if you need access to things like external ActiveX controls then you'll either have to write a shim library in some other language or go with something other than rev. Also, if you use the BDE in Delphi then you may have a hard time with databases in rev. But other than that, I can't think of much you can do with Delphi that you can't do with rev. Have fun playing with the trial.

Posted: Mon Mar 16, 2009 1:19 am
by smpcs
Hi mwieder,

Luckily I don't use ActiveX, so that won't be a problem. As far as BDE/Databases are concerned most of my work is not database heavy, so once again that should not be an issue either.

I must admit it was quite a shock to find out that until recently, arrays were only one-dimensional in Revolution. But now they are multi-dimensional I can live with that.

* Previously some of my projects have used a lot of maths, so I will be doing some benchmarking just to see how fast Revolution is in that area. Any comments about this issue are welcome.

What I am looking for is a system that is cross-platform and has easy deployment, without being C++ or Java.

While wxPython looks great, the deployment looks kind of tricky with licensing questions and the issue of needing a Python interpreter on a clients machine. Also in one sense going from Delphi to Python feels more like a sideways step, while I am interested in taking a step up in terms of UI abstraction and trying something different.

Lastly I've got to have confidence that Revolution is going to stick around, as I don't like investing time in platforms that don't have solid vendor support and "disappear". Runtime Revolution seems to meet that critera.

Anyway still working on the Trial version -- still got 18 day remaining.

Posted: Mon Mar 16, 2009 6:29 am
by mwieder
There have been various workarounds for the single-dimensional array thing. It's not really as restricting as you might think, since they're associative arrays rather than numeric. I have usually coded something like

put x into myArray[clientName,"city"]
put x into myArray[clientName,"state"]

to get two dimensions. But the real multidimensional arrays are just what the doctor ordered.

When I first started with runrev I had a lot of match calculations that I had offloaded into dlls. They pretty much immediately became native code - it's that fast for most things. If you're doing a lot of image manipulation your mileage may vary. There are very few things I need external libraries for these days, mostly things dealing with operating system features or linking with other dlls. It'll be interesting to see what your results are fiddling with your math routines.

...and I have to admit I like Python. Not for everything, but I can say that about rev as well. And communications between rev and Python is easy with sockets.

Posted: Mon Mar 16, 2009 1:17 pm
by smpcs
Most of the maths I have done before is "spreadsheet like" so not too intensive like image work, but still needing a fair amount of real arithmetic without slowing down the application from the users perspective.

My main project will stay in Delphi about (75,000 lines of code) for the foreseeable future, but my plans are to develop another (much smaller) commercial application in Revolution to evaluate it for all future new development.

Certainly, if almost all code can be kept as RevCode that is an advantage as I believe it maximises productivity, provided not too many "work arounds" are needed for any limitations in the Script language. That is one reason I like Delphi -- you can do pretty much anything in it without having to leave the one environment and language.

Python is neat, but I really need to be able to distribute software as some form of executable file and while Python can do this, there are issues of support DLLs and questions about code security. In my opinion, Python is great for in-house or academic applications, but less so for a "shrink wrap" style of program -- which is my main market. Previously Windows only, but for me part of the point of trying Revolution is to be broader and handle OSX and Linux as well.

Posted: Mon Mar 16, 2009 6:07 pm
by mwieder
I have much the same problem with Ruby - we really need a Rails compiler to keep our code protected, and it's a moving target. Ruby keeps evolving and so the compilers try to catch up, and then Rails is a bit behind. They all play leapfrog, so things aren't stable enough to compile something that can be shipped.