Half Rant/Half Advice Request

Half Rant/Half Advice Request

Post just about everything that isn't directly related to Spring here!

Moderator: Moderators

Post Reply
User avatar
SinbadEV
Posts: 6475
Joined: 02 May 2005, 03:56

Half Rant/Half Advice Request

Post by SinbadEV »

So I would like to start developing a piece of software... among other thing it would be able to connect to RSS feeds and figure out what to do with them based on content and user preferences (RSS content has a media-file like, the link is followed and and interface to play is displayed) etc... not just that but that get's you the gist of the type of infrastructure I would need.

My problem, as has almost ALWAYS been my problem, is that while I can program (and now do so on a daily basis) the accompanying nightmare of development environments, libraries and APIs, cross platform etc pisses me off to no end...

I have no problem developing in Microsoft Visual Studio for .NET as this is a nice Open and Shut Case of "We do everything so you don't have to"... but any time I've tried SDL or wxWidgets or devCPP or other tool of that nature I just have so much other CRAP to get over before I can do anything useful I quite often just give up early on.

SO, my question is this, FIRST:

Is there a relatively easy, cross-platform development environment that makes the process of developing code that will run on Windows as Well as Linux and Mac, that exposes GUI Controls and network communication and windowing etc at the level of simplicity that MSVS does and what is it? (If it's Java, what IDE should I use?)

If not, I'll basically be building a .NET windows only or ASP.NET version as a Prototype, how likely are the code and concepts I build in that environment going to translate to a cross platform implementation? will it basically be starting from scratch again?

Also, .NET code is "Supposed" to be "Platform Independent" how likely is it that I can port to Linux and Mac using some technology like Mono?


I'm interested in using sqlLite as my backend for storing data... will this work with .NET?

Also, Also, Is there anyone out there who is pretty good at programming and has a bunch of spare time and wants to build a program for me?
User avatar
Pxtl
Posts: 6112
Joined: 23 Oct 2004, 01:43

Re: Half Rant/Half Advice Request

Post by Pxtl »

If you want to stay in MS-land, there's C#. You have to restrict yourself to 1.1 to get reliability, and even then the more intelligent gui-stuff is gone... but if you just want to put elements on a form, it works cross-platform using Mono.

I've found cross-platform stuff is easy in Python.
Auswaschbar
Spring Developer
Posts: 1254
Joined: 24 Jun 2007, 08:34

Re: Half Rant/Half Advice Request

Post by Auswaschbar »

Qt. Imho the best way to write GUI apps.
User avatar
thesleepless
Posts: 417
Joined: 24 Oct 2007, 04:49

Re: Half Rant/Half Advice Request

Post by thesleepless »

PyQT qt with python = the best way to make cross platform gui apps IMO
MelTraX
Posts: 470
Joined: 02 Jan 2007, 16:18

Re: Half Rant/Half Advice Request

Post by MelTraX »

I really like .NET with C#.. If you want it cross-platform, use Mono from the beginning. SharpDevelop is a leightweight opensource alternative to Visual Studio but it does crash every now and again and the debugger can't handle cross-thread stuff well.

Mono provides tools to check a .NET application for anything not supported by Mono. You can however also use Mono on Windows and develop straight to Mono. In theory that should make sure that your application works cross-platform.

One of the major things Mono doesn't support is calling native (ie non .NET) libraries. Since I need this for my project, I didn't really test Mono but I'd guess it shouldn't be any more difficult than deving against .NET.
User avatar
smoth
Posts: 22309
Joined: 13 Jan 2005, 00:46

Re: Half Rant/Half Advice Request

Post by smoth »

Ot: what. About things like presentation foundation and mono?
User avatar
MidKnight
Posts: 2652
Joined: 10 Sep 2008, 03:11

Re: Half Rant/Half Advice Request

Post by MidKnight »

WxPython. Python is nice, simple, cross-platform, and easy, and wxpython is a very nice wx port for it, also cross-platform. WxPython also comes with this really neat tutorial app with code examples and everything else you'll need to learn the framework.
User avatar
AF
AI Developer
Posts: 20687
Joined: 14 Sep 2004, 11:32

Re: Half Rant/Half Advice Request

Post by AF »

Java + Netbeans + swing worked well for me, but there are some golden rules you must follow when using spring or you'll end up with the run of the mill buggy crappy program:

Always run GUI code on the swing event dispatch thread

SwingUtilities class + Runnable task copy paste around the relevant code works wodners. And make sure each change is in its own runnable so its in as many small pieces as possible.

If you manage this it will run fast and smoothly, no horrible burps or hiccups. You can use the nice point and click GUI editor in netbeans and all the shiny stuff with no issues.

But if you don't follow that rule

Then you get deadlocks, freezes, major slowdowns, corrupt rendering, unresponsive GUIs, undefined behaviour, race conditions, crashes that only crash the UI end etc etc. Not following this rule is the nubmer 1 reason java gets such a bad name, and its why one particular version fo AFLobby was orders of magnitude faster and stabler than the previous version
User avatar
Beherith
Posts: 5145
Joined: 26 Oct 2007, 16:21

Re: Half Rant/Half Advice Request

Post by Beherith »

AF wrote:Java + Netbeans + swing worked well for me, but there are some golden rules you must follow when using spring or you'll end up with the run of the mill buggy crappy program:
Sorry about the off topic, but amazingly freudian :)
User avatar
Peet
Malcontent
Posts: 4383
Joined: 27 Feb 2006, 22:04

Re: Half Rant/Half Advice Request

Post by Peet »

User avatar
Dragon45
Posts: 2883
Joined: 16 Aug 2004, 04:36

Re: Half Rant/Half Advice Request

Post by Dragon45 »

Python seconded, Java a distant seconded. .NET veto'ed. .NET is not really cross platform.
User avatar
Pxtl
Posts: 6112
Joined: 23 Oct 2004, 01:43

Re: Half Rant/Half Advice Request

Post by Pxtl »

@Smoth

Mono supports only the barest 3.0/3.5 stuff. You're stuck with 2.0 mostly, and for windows.forms I've found it's buggy as hell even if you stick to 1.1 stuff.

I haven't used it personally since the TkInter days, but Python is the best platform I've used for cross-platform development. Unless you need the heavy lifting of a native or VM language, Python is quite nice.
User avatar
AF
AI Developer
Posts: 20687
Joined: 14 Sep 2004, 11:32

Re: Half Rant/Half Advice Request

Post by AF »

Beherith wrote:
AF wrote:Java + Netbeans + swing worked well for me, but there are some golden rules you must follow when using spring or you'll end up with the run of the mill buggy crappy program:
Sorry about the off topic, but amazingly freudian :)

XD I cant believe I did that
User avatar
thesleepless
Posts: 417
Joined: 24 Oct 2007, 04:49

Re: Half Rant/Half Advice Request

Post by thesleepless »

how is it freudian?
User avatar
Licho
Zero-K Developer
Posts: 3803
Joined: 19 May 2006, 19:13

Re: Half Rant/Half Advice Request

Post by Licho »

MS .NET is working on linux except WPF. That is - including 3.5 stuff..
I use it regulary all the time and never run into major problems.
Just compile it in VS on windows and then simply run on linux using mono. Do not use mono to recompile it, run windows compiled code.


If you want advanced GUI features, use GTK# instead of .NET's native windows.forms.

ASP.NET is working except for some latest LINQ and AJAX related stuff.. notably LINQ data source and ajax update panel was a bit buggy last time i tried it..

But overal compatibility is very good. Most projects i make run under mono flawlesly.

For example springie, p2p downloader server or planetwars server didnt need any modifications to work on debian and ubuntu.

Planetwars site itself (ASP.NET) needed some tweaks to run under apache on debian.
User avatar
SinbadEV
Posts: 6475
Joined: 02 May 2005, 03:56

Re: Half Rant/Half Advice Request

Post by SinbadEV »

I went with Windows Forms .NET (non-WPF) with a SQLite back-end, primarily for simplicities sake as I already am going to have a hard enough figuring out what I'm doing... and because a lot of what I am doing has been done, in part, already, so I can borrow other peoples stuff (like the tweatsharp and sqlite .NET libraries)...

So far I have managed a piss-poor Twitter client and then got stuck trying to figure out some logistical things on the design side... then I ran out of spare time again... maybe this weekend I'll get some more code side stuff done.
User avatar
Pxtl
Posts: 6112
Joined: 23 Oct 2004, 01:43

Re: Half Rant/Half Advice Request

Post by Pxtl »

@Licho

I can't speak to the rest, but Mono's windows.forms implementation is awful.
Post Reply

Return to “Off Topic Discussion”