Hi All,
I'm toying with the idea to develop an application and being a portable apps convert, it just makes sense to develop an app that can run on any (windows) machine without having any dependencies on what should be installed on the machine.
SharpDevelop (C#, Boo) was my first choice IDE but with its dependence on .NET/Mono means that I cannot use it.
I've been out of development for more than 10 years and am a bit lost in terms of what is available out there and what is available for free. So I was hoping that you guys can point me in the right direction if I give you the criteria to which the language/IDE must adhere to.
The main purpose of the app is to be first and foremost run as a stand-alone application, as most users will not have an Internet connection. However a web application that can also function when the user is not connected would be ideal, i.e. the app must be able to interface/integrate with other web applications.
Second, the language/IDE must allow me to develop the app visually as I do not want to be coding for months.
Finally, I'm considering using mySQL as the database but am still unsure on how to deploy it seemlessly with the (portable) app.
Any advice, pointers or assistance would be appreciated.
Many thanks
Paul
I would think C++ is the best to go 8). Microsoft made visual C++ and it's a very portable language :).
Insert original signature here with Greasemonkey Script.
Yes, a visual version of C++ is probably the obvious choice, but I'm not sure there is a free version of it.
I've been analyzing python today and it seems to cover almost all the boxes.
Anyway, I'm keen to find out what some of the developers would suggest.
Regards
Paul
Check out the wxWidgets toolkit, and wxDevC++ or wxGlade. wxWidgets is a GUI toolkit that has ports in c++, java, python, and several other languages. wxDevC++ is an IDE for the c++ toolkit and includes a UI design tool. wxGlade is an IDE and UI designer for the python and c++ versions of the toolkit.
The developer formerly known as ZGitRDun8705
I'll definitely go and have a look.
Regards
Paul
of the apps on this site, Toucan, is written in wxWidgets, although I wouldn't look at the code if I were you, it's getting a complete re-write for a reason
http://www.microsoft.com/visualstudio/en-us/products/2008-editions/express
Michael D. Shook
I have heard some interesting things about Adobe Air, if you are looking for a program that is at home on the desktop as well as available via the web. Visual IDE stuff is available through Adobe's CS applications, which are pricey, but it looks like Adobe is trying to position Air as a lightweight, secure, relatively portable platform. If it is a good platform, it would be nice to see a variety of good OpenSource applications for it. OpenSource might also need some relaxation of Air's dependence on commercial signing certificates (sigh).
I hope you can set up your app to be able to run on a "locked down" machine; that is, if it is "installed" (rather than portable) it should not try to write its settings to its own directory, since the administrator may have restricted that, and besides you don't want multiple people overwriting each other's settings. The ideal situation is to have some easy way to tell the program where to keep its configuration and properties, and not simply assume it will be in the executable's directory.
MC
Why not Delphi? I think it meets all of your requirements and there is a version that is free.
Hi pete108,
Thanks I did not know free versions of delphi existed. I also know Pascal better than C++.
It seems that delphi uses .Net which in my mind means that there is a prerequisite on the clients computer, but this is where my understanding becomes a bit fuzzy.
I was thinking of using GTK+, but it seems it is still quite difficult to use and I don't particularly like the applications that are based on it.
This brings us back to wxWidgets suggested above. However I'm not sure if that places any restrictions in terms of what needs to be installed on the users machine.
Regards
Paul
Delphi use .Net but your applications don't have to. I've been using it for the last couple of weeks and I really like it. PAM was made using Delphi.
pete108
Hi Pete108,
Delphi will be much easier for me to learn than C++, but at the moment I still favour wxWidgets due to the fact that the apps look native to the OS, unlike GTK+. Simply (re)compiling the app on the target OS will prduce a native looking app.
Does Delphi offer something similar? If memory serves me right, the Delphi's db integration is also a breeze compared to other languages.
I'm still a bit intimidated by C++ and have not found the right IDE + RAD/Visual programming tool for it. At the moment I'm still working my way through all the python IDE's as I think it would be an easier learning curve.
Thanks for all the input.
Regards
Paul
I don't know if Delphi can or will cross compile but there is a version for linux called Kylix. Which I think will compile the windows project with very little modification.
Hi Pete108,
I had a long discussion with a pro Delphi developer last night and apparently Kylix is the brother in jail that nobody talks about anymore
I'm not sure exactly what the issue was but from what I understood it will/has major ramifications throughout the delphi (linux) development circles.
Anywy, Delphi is still high on my list. Seeing that I have access to an expert locally.
Regards
Paul
wxWidgets doesn't have any dependencies on the host system. Because of the way it is structured, you can compile your app by linking to the Win32 wxlibraries (you need to compile the libraries first) and it generates standard c++ code that can be used on any Windows system.
The developer formerly known as ZGitRDun8705
Yes, this is what I like about it.
SPE seems to be a good IDE that allows you to use wxWidgets in Python as well as allows closer integration of wxGlade into the development process.
At the moment it seems to be the closet to what I'll need.
As Python also supports C++, one can always replace the code with C++ code when the app is a success and speed becomes a concern.
Thanks for all the input and guidance.
Regards
Paul
Another option is Qt. Qt is C++ based, and can integrate with the Eclipse IDE. It also has the benefit of being cross-platform.
formerly rayven01
Qt is closed source, any Qt apps require the Qt*.dll files, and it isn't very widely used anymore. Sticking with wxWidgets leaves him using an open source library, does not depend on .dll files, and is easier to compile to be cross platform
The developer formerly known as ZGitRDun8705
Qt is available under GPL. The open source version only lacks integration with visual studio. As for not being widely used.. in windows it probably isn't, but in Linux the entire KDE desktop is based upon it, much of which is now in the process of being ported to Windows.
Launchy is an excellent example of a current, slick, Open Source QT-based application.
formerly rayven01
It have just been suggested to me that I should not discount netbeans 6?
Any ideas?
Regards
Paul
That would mean java is being used, which, while more common than .NET, is still not on all PCs and java tends to be much slower than a natively supported language like c++. There is a solution for using a portable java, but that means much more space on the drive has to be used, or the launcher has to look for a local version.
The developer formerly known as ZGitRDun8705
That is true, however most of the installs would be from CD as the target userbase would not have reliable Internet connections making a large install not that much of a problem.
Anyway, I don't think it would make the top of my list. I just forgot about it and apparently NetBeans 6 has fixed the problems of designing appropriate looking fron-ends.
Regards
Paul
To summarise, it seems the following is the recommendations...
The best fit is wxWidgets as it will give flexibility and seemless looking apps.
Whether you use C++ or Python is up to your level of expertise and ability to get down into the nuts and bolts.
If this is a bridge too far or if you cannot find the correct IDE/RAD tool. Then Delphi and/or NetBean (java) could be considered. Java being a bit more cross platform capable, whereas Delphi will give you speed and possibly a bit easier to develop.
Thanks again guys for your help.
Regards
Paul
Your comments seem to mix up three things:
Netbeans and Eclipse IDEs can evidently be used for more than just java.
GDK can be used with several languages.
And so forth.
Not all languages interface well with all libraries, and some IDE's work better with one language or library than another.
You probably know all that, but it wasn't clear in your note.
MC
You're absolutely correct and that is what is making it so difficult to make the right selection.
In the end though the windows library (wxWidgets) as my first choice is what will drive the selection of the other two, i.e. programming language and IDE.
Regards
Paul
If your main aim is not the language but it is to get back up-to-speed, to contribute and to grow then I think you might want to try a different strategy.
I think that should then inform what you go and do and find.
Now for my bias, since I actually program on the projects that I'm recommending:)
I would choose to work on Virtaal or Pootle for the following reasons and consequences:
Could you please remove the links from your signature, dwayne, as they're not allowed by the forum rules.
I am a Christian and a developer and moderator here.
“A soft answer turns away wrath, but a harsh word stirs up anger.” – Proverbs 15:1
I found a web site where I purchased a Basic Compiler which is very simple and easy to use. The program is MiniBASIC and it has NO Registry use for installation.
I am using it on my USB sticks.
If that helps anyone looking for a good portable development program then it can be seen at:
http://www.codercreations.com/
There is a DEMO Version available also.
BPak