runrev app compared to a windows app

LiveCode is the premier environment for creating multi-platform solutions for all major operating systems - Windows, Mac OS X, Linux, the Web, Server environments and Mobile platforms. Brand new to LiveCode? Welcome!

Moderators: FourthWorld, heatherlaine, Klaus, kevinmiller, robinmiller

Post Reply
Golferman
Posts: 3
Joined: Sun Oct 25, 2009 12:25 pm

runrev app compared to a windows app

Post by Golferman » Tue Oct 27, 2009 10:53 am

Hi All
Can I have some views as to comparing a runrev windows app to a .net windows app. I have a sort of large application to do for a friend and I thought this would be a good time to get to know more about runrev. But I still don't want to have to do it over. It will be a full windows app that normally I would just do in VB or C#. I have the trail version of runrev now and would like some honest opinions. From what I have read so far in the help you can not create or inherit in runrev. If this is true do they just have another way that they do it that is just as good or what. It's not a deal breaker just wanted to know. Is runrev in the big leagues now. Can you do a regular windows database application in runrev. I thank you for any time given to me for your responses. I could use some honest opinions. Thanks again.

John :P

whelkybaby
Posts: 47
Joined: Sat Nov 17, 2007 6:04 pm
Location: Worcester, UK

Post by whelkybaby » Wed Oct 28, 2009 5:58 pm

Hi John,

It's odd how nobody's written a reply to this one yet!

Whilst I can't be sure that I fully understand creation and inheritance as xTalk languages are all I know, I'll take a stab that this is do with creating similar objects that look and behave in the same way. If this is so, Rev puts a number of methods at your disposal to do this.

In recent versions, they introduced behaviours (also known as parentScripts) where a script can reside in one object (usually a button) but be referenced by many other objects. So, for example, if I wanted to create a field to be used many times in a form that validates its contents, I can put this code into a button somewhere and have each field reference the button, rather than write code to do this within each field.

Before we had behaviours, we had frontScripts and backScripts that could be used to catch events across an application, which can be used to determine the type of control that was being interacted with by the user and control its behaviour that way. I personally prefer frontScripts to behaviours because you can trap events not normally fired to the control, such as suspendStack.

You can also trap events higher up the message path, such as in a card or stack script.

All of these techniques can be used to control individual objects or much more complex ones that are built up from other objects and then grouped together.

With regards to controlling appearance, I personally use a preOpenCard handler in a frontScript to evaluate the controls on the card and change their appearances to what I need them to be, usually based upon the platform that the app's running on e.g. setting the heights and margins of buttons to the correct values for the Mac and Windows platforms.

To give an example of frontScripts in action with complex controls, I've been working on a tree view for Rev that's currently in beta. Head on over to www.theworcestersource.com for more info.

Hopefully that helps. If I'm wide of the mark, hopefully someone else'll jump in!

All the best,


Steve

mwieder
VIP Livecode Opensource Backer
VIP Livecode Opensource Backer
Posts: 3581
Joined: Mon Jan 22, 2007 7:36 am
Location: Berkeley, CA, US
Contact:

Post by mwieder » Wed Oct 28, 2009 6:25 pm

John-

Just to add a little to this:

What do you mean by "regular windows database application"? Yes, you can indeed to database apps: MySQL, Postgres, ODBC, SQLite, Valentina, Oracle... with the Enterprise version (your options are more limited with the Studio version). It's a bit hard to give a good answer to this without more detail on what it is you want to do. But I've used rev to provide front-end applications for MSAccess and SQLite before. Since rev isn't primarily a database development environment you have to do more coding work than you might if you were using a database tool (MSAccess, FileMaker, etc.), but the same would be true in VB or c#.

Inheritance is supported in rev. Up to a point. Behavior buttons give you one level of inheritance, but not more. But the event message path is fully inheritance-friendly. See Richard Gaskin's article on this at http://www.fourthworld.com/embassy/arti ... _path.html.

Your choice of development tool will, of course, depend on what you want as a result. The only times I've *not* been able to develop something in rev that I could in c# or (shudder) VB have been pretty esoteric things where there are problems with the rev engine (strict serial port signalling on a microsecond level, etc.). At times I'll need to craft external libraries in C++ to extend the rev environment and which I call from rev.

But I'd say if you're comfortable developing the application in another environment you'll probably want to do it there rather than invest in the learning curve for rev. On the other hand, I feel I am probably four or five times more efficienct developing in rev than in c# (or any other environment, for that matter). And that's with over twenty years' experience in C coding behind me.

And I should also mention that coding in rev is, well, fun. I find that a lot of the time by the time I've got something pseudocoded it's already written.

HTH

Golferman
Posts: 3
Joined: Sun Oct 25, 2009 12:25 pm

Thanks

Post by Golferman » Thu Oct 29, 2009 3:22 pm

Thanks to both whelkybaby and mwieder for the time you gave be. I should of been more clear but your answers answered my question basically. I am going to do a app for a friend and I have bought rev a few times before then not have time to test it out. I want to do a windows app.

I quess the main thing I wanted to know was when I install my app the use just sees a windows application. Maybe rev is a windows application development tool. I quess the "stacks" and "cards" stack = your main window and cards are like child windows in a MDI app or planes of a window. The message path thing I am going to have to really study. I am use to events. Like onMouseUp you call a message would this be an event firing and onMouseUp is a method to handle the event.

Thanks again for your help. I wish RunRev had a cross over tutorial. For people coming from a OOP development environment for windows to RunRev.

Best Regards,

mwieder
VIP Livecode Opensource Backer
VIP Livecode Opensource Backer
Posts: 3581
Joined: Mon Jan 22, 2007 7:36 am
Location: Berkeley, CA, US
Contact:

Post by mwieder » Thu Oct 29, 2009 5:36 pm

Apps developed and delivered as standalone applications with rev are indeed Windows .exe applications. If you do things right you can deliver faceless commandline apps and you can also deliver full GUI apps with multimedia and whatever you want in them.
Like onMouseUp you call a message would this be an event firing and onMouseUp is a method to handle the event.
Exactly. Normally the mouseUp would be placed in the object that gets the mouse event, as in a button, but you can place the handler father along the hierarchy (in the card script, for example), and then the controls on the card all inherit the mouseUp event handler.

greggarcia
Posts: 33
Joined: Mon Apr 27, 2009 3:32 pm
Location: Coatzacoalcos, Veracruz, Mexico
Contact:

another question about runrev and databases

Post by greggarcia » Thu Nov 19, 2009 5:17 am

Hello everybody sorry to interrup the flow of this topic but i has been followed the runrev news and read a lot of comments in the forum but i still have a doubt wich version i need to buy, either studio or enterprise i do not if with Studio i can develop a real applications for a windows enviroment working either a local database or with sever database with multiuser... Can you help a little bit? also i using a macbook pro but all the applications that i would like to develop are a windows base, so what if i bought a studio running in a mac and embed a database, it will work in windows?, thanks so much for your reply.

RRobert
Posts: 151
Joined: Sat Feb 28, 2009 8:20 pm

Re: another question about runrev and databases

Post by RRobert » Thu Nov 19, 2009 7:06 am

greggarcia wrote:i using a macbook pro but all the applications that i would like to develop are a windows base, so what if i bought a studio running in a mac and embed a database, it will work in windows?, thanks so much for your reply.
Yes. The difference between revStudio and revEnterprise is the option that you could author on all plattforms. Which is pleasant for debugging and to make specific GUI changes.

Robert

mwieder
VIP Livecode Opensource Backer
VIP Livecode Opensource Backer
Posts: 3581
Joined: Mon Jan 22, 2007 7:36 am
Location: Berkeley, CA, US
Contact:

Post by mwieder » Thu Nov 19, 2009 7:18 am

You may need to look at Enterprise if you're going to be using multiuser databases on a server, though.

hliljegren
Posts: 108
Joined: Sun Aug 23, 2009 7:48 am
Contact:

Multiple inheritance

Post by hliljegren » Thu Nov 19, 2009 9:25 am

MySQL, Postgress and ODBC is supported in Rev Studio and they all allows for "server" access. To my understanding it's only Oracle thats not supported in the Studio version.

And you can at least mimic multiple inheritance by using "the target" in the the code instead "of me", and then add a few lines of code.

Create a button with the following script:

Code: Select all

on mouseEnter
   set the backgroundColor of the target to 100,200,100
   pass mouseEnter
end mouseEnter

on mouseLeave
   set the backgroundColor of the target to empty
   pass mouseLeave
end mouseLeave
(Makes it green when you hover the mouse over it)
Now create a second button that has the first button as it's behavior. If you add the following code to the second button:

Code: Select all

on mouseEnter
   if the behavior of me is not empty then
      call "mouseEnter" of the behavior of me
   end if
   set the textStyle of the target to "bold"
   pass mouseEnter
end mouseEnter

on mouseLeave
   if the behavior of me is not empty then
      call "mouseLeave" of the behavior of me
   end if
   set the textStyle of the target to "plain"
   pass mouseLeave
end mouseLeave
(Turns the text bold when you hover the mouse over)

Finally create a third button which has the second button as it's behavior. Hover your mouse over that button and you will get a button that is both green and bold!

Maybe this is not a very good example but I hope you get the point...
...I also think this could be improved a lot (maybe using a front script?) but it was a quick thought that just poped up when I read that you can only have one level of inheritance.

mwieder
VIP Livecode Opensource Backer
VIP Livecode Opensource Backer
Posts: 3581
Joined: Mon Jan 22, 2007 7:36 am
Location: Berkeley, CA, US
Contact:

Post by mwieder » Thu Nov 19, 2009 5:41 pm

Thanks for setting me straight on the database capabilities of the Studio edition. I remember there was *something* it wouldn't do...

...and that's a very clever implementation of multiple levels of inheritance.

DavidBurleigh
Posts: 19
Joined: Sun Apr 05, 2009 9:27 am

Re: runrev app compared to a windows app

Post by DavidBurleigh » Wed Feb 17, 2010 8:42 am

good luck getting Rev to work properly, it's full of bugs and they refuse
to fix them. All they want you to do is to purchase, yet again, another
upgrade. I can't even connect to ODBC databases and I have 2.9.
This company is run by a moron.

Dixie
Livecode Opensource Backer
Livecode Opensource Backer
Posts: 1336
Joined: Sun Jul 12, 2009 10:53 am
Location: Bordeaux, France

Re: runrev app compared to a windows app

Post by Dixie » Wed Feb 17, 2010 11:22 am

David Burleigh....

I think that your comments are uncalled for... If you have some problems connecting to your data then why don't you post your questions to the forum... In my experience, all the questions that I have asked of the forum have been answered quickly and with a solution to enable me to get over my problems...

Yes, there are some bugs in Rev, but the times I have pointed them out to the runrev team through the proper channels they have been addressed.

I connect to databases using runrev daily and find the database libraries 'solid'... So, again I would say to you if you have a problem... then ask..

Dixie

BvG
VIP Livecode Opensource Backer
VIP Livecode Opensource Backer
Posts: 1236
Joined: Sat Apr 08, 2006 1:10 pm
Location: Zurich
Contact:

Re: runrev app compared to a windows app

Post by BvG » Wed Feb 17, 2010 2:07 pm

I can understand that sometimes rev as a company can get on ones nerves. But just saying that on a public and long term stored forum is not going to change their ways. Instead, you'll be just file you under "social outcast with a grudge against everything".

So, if an advertised feature doesn't work, what can you do? The most important thing is to mail support. Do not let them get away with telling you to file a bug report, that's not something a customer is required to do. Require them to help you directly, or make them aware that something is not working as intended. Be polite and resolute, and you will be much more satisfied then by feeling forced to badmouth a company (tho that can help release some steam, it's hardly productive for your cause).
Various teststacks and stuff:
http://bjoernke.com

Chat with other RunRev developers:
chat.freenode.net:6666 #livecode

Post Reply

Return to “Getting Started with LiveCode - Experienced Developers”