Slashdot Mirror


Ask Slashdot: Linux Database GUI Application Development?

New submitter msubieta writes I have been developing some applications to use in small businesses using Windows and SQL Server. I would like to move on and start doing the same thing in Linux. I have looked at several Frameworks/Databases/Development environments and I really don't know what is the best/simplest/fastest to learn approach. I use VS and C# mostly, although I could easily go back to C++. I found Qt and GTK+ are the most common frameworks, but they seem to lack controls that deal with datasets and stuff (sorry, spoiled by the .net form controls), but I also know that I could use Mono in order to make the jump. I would have no problem on moving to MySQL, as I have done quite a lot of work on that side, and I would like to stick with the traditional client server application, as I find it easier to maintain, and a whole lot more robust when it comes to user interaction (web apps for POS applications don't seem to be the right way to go in my view). Any suggestions/comments/recommendations?

51 of 264 comments (clear)

  1. MySQL GUI tools list by shmorhay · · Score: 2, Informative

    Here is a Database Journal article from 2010 listing some useful MySQL GUI development tools that may provide some leads -- http://www.databasejournal.com...

    1. Re:MySQL GUI tools list by Anonymous Coward · · Score: 2, Funny

      Here's some five year old crap I googled up rather than not posting anything at all.

  2. Lazarus by Tablizer · · Score: 5, Interesting

    Look into the Lazarus project. It's a Delphi semi-clone.

  3. Biased, but... by tyroneking · · Score: 4, Informative

    I'm biased towards Python - and the following suggestions have nice UIs but they are web-based - so please forgive me in advance ;)

    After years working in Siebel (UI dev tools, transparent database interface, etc) moved over to Linux dev and was stuck for a while - finally settled on Flask (http://flask.pocoo.org/) a Python micro-framework, which is light (i.e. not as incomprehensible as Django ;) but comes with a lot of functionality if you need it. Jump in. Here's a good guide that mixes in Bootstrap to make a very appealing UI - http://flaskbook.com/

    Alternatively, go all ERP with lots of built in business functionality and nice UI features and try ERP Next (https://erpnext.com/) - which I'm looking at right now. It has some poor documentation, but the dev guide for the underlying framework (Frappe) is pretty clear (e.g. https://frappe.io/developers/g...) and looks less scary.

    1. Re:Biased, but... by TechyImmigrant · · Score: 2

      My small business runs on python, and as much as possible, text mode and command line programs.
      The (non technical - it's a yarn store) staff quickly decided they loved it, compared to the slow, pointy, clicky software they had dealt with before (I'm guessing its usually Intuit).

      Need a point-of-sale program to check someone out? type 'checkout'
      Want an annual year end stock report for 2014 taxes? Type 'annual_stock_report 2014'
      etc.

      Eliminating the GUI eliminated huge amounts of complexity and flattened the learning curve.

      --
      I should use this sig to advertise my book ISBN-13 : 978-1501515132.
    2. Re:Biased, but... by vux984 · · Score: 2

      "Want an annual year end stock report for 2014 taxes? Type 'annual_stock_report 2014'
      etc."

      Want to file your payroll taxes for january? "Type "file_payroll_taxes 01 2014"

      Want to view your receiables type "list_receivables"
      Want to filter that list to anything over 3 months?
      Type "list_receivables filtered to aged>90 days" ? Was I close? Probably not close enough that I just got what I wanted.

      But put me in front of a GUI and I'll find them efficienltly enough; no training required.

      "Eliminating the GUI eliminated huge amounts of complexity and flattened the learning curve.

      I doubt that very much.

      But there are some truly excellent off-the-shelf point of sale systems (the restaurant industry for example has some great ones). Most of the really 'terrible ones' out there these days are usually terrible because they're layered on 20 years of previous systems, and are windows 7 layers on top of windows 95 wrappers of OS/2 terminal apps.

      The good ones today, usually integrate with off-the-shelf accounting packages which while more complicated than yours are widely used and you can easily hire people who already know them; or can send them to 3rd party training if really necessary.

      Not that there is anything even slightly wrong with your small business or anything like that; it works for you. I just think your wrongly critical of what's available.

  4. I'd consider Go and PostgreSQL by MillerHighLife21 · · Score: 4, Informative

    Go is still young so if you're looking from a "language saturation" standpoint, it's not where you want it to be yet but it's gaining traction fast. It will be familiar from a typing standpoint and as a language it provides excellent concurrency, which in certain types of applications becomes a really big help. By learning Go you'd be providing yourself with a language that helps solve a complicated use case rather than just another language that does exactly the same things as other server side languages. It's compile time is almost instantaneous which is similar to a scripting language. Runs well on both Windows and non-Windows environments too, which will make it easier to use it along side your existing .NET stuff if needed.

    PostgreSQL as a database is pretty much amazing. Everything you like from SQL Server is there without a lot of the stuff that you don't. Here's a writeup that I did a few months back breaking down what's great about PostgreSQL in as concise of a post as I could. http://www.brightball.com/post...

    Since this is a specific "what should I learn based on my current background" type question, that's my recommendation for YOU based on the post.

    --
    "Don't teach a man to fish, feed yourself. He's a grown man. Fishing's not that hard." - Ron Swanson
    1. Re:I'd consider Go and PostgreSQL by greg1104 · · Score: 4, Informative

      That's a nice outline of Postgres features; small and very pedantic correction for you. CREATE INDEX CONCURRENTLY in PostgreSQL isn't really asynchronous, since the client running it is stuck there waiting for it. And it does still need a full table lock to complete. It just only needs that for a brief moment in most cases, to install the index when it's built. But that's not guaranteed. I added a caveat to the docs a version or two ago that warns about the bad case; see building indexes concurrently, in particular the bit starting with "Any transaction active when the second table scan starts..." It's really rare that happens, but if you have long-running transactions eventually you'll run into it painfully.

      I would restate the situation as "You can even create indexes with minimal locking of large tables when a new index is added". The code can't quite avoid locks altogether and remain transaction safe.

  5. Java FX by cyronix99 · · Score: 2

    Java FX is your friend

  6. If you really don't like web apps by OrangeTide · · Score: 2

    Then you should either write your own QT controls (and sell them or open source them). Or stick with Windows.

    I think POS is fine as a web app, as you can run a browser on any POS these days, and have it communicate to a small stub on localhost so that local operations (like system management) and cached/offline operations can still work in case the POS is temporarily disconnected.

    That opens you up to doing a mix of javascript for the GUI part, and the server back-end in C++, Java, Python, Ruby, NodeJS, Haskell, whatever. There are good server frameworks for just about all of those (except maybe C++).

    --
    “Common sense is not so common.” — Voltaire
  7. LibreOffice Base by chill · · Score: 2

    LibreOffice Base seems to be what you're asking about.

    http://www.libreoffice.org/discover/base/

    --
    Learning HOW to think is more important than learning WHAT to think.
    1. Re:LibreOffice Base by Tablizer · · Score: 2

      Have they improved the scripting? It used to have convoluted scripting with convoluted documentation.

  8. Qt has model-driven views. by TurboStar · · Score: 3, Interesting

    Qt has model-driven views. Here's some videos. See #47 for a bit about model-view: https://www.youtube.com/playli... Also, be sure to catch up on C++11/14 if you do come back to us from the dark side.

  9. GUI Datasets by StormReaver · · Score: 3, Informative

    Having programmed in GTK+, Qt, Java, and C#: I find C# to be the most painful for database interactivity. Its data bound controls (to me) are infuriatingly convoluted, complex, inefficient, and inflexible.

    I find it far, far easier to use a tool that generates database models, create readers and writers based on those models to abstract them away from the application, and then use those readers/writers in the mainline application. The payoff is immense.

    The closest fit for you is Java (since C# started life as Microsoft's attempt to make a Windows-specific version of Java). The two best IDE choices then become Netbeans and IntelliJ (do yourself a favor, and skip Eclipse).

    1. Re:GUI Datasets by Richard_at_work · · Score: 5, Informative

      You might want to take a longer look at C# because there is no reason you can't just use Entity Framework to do exactly what you find it easier to do - create the model, creates readers and writers, abstract the database stuff away and just get to use plain C# objects, lists, collections and other things instead of cumbersome DataTables or Datasets etc.

  10. You're picking your tool before your problem. by davidsheckler · · Score: 4, Insightful

    FIrst decide the right way to solve the problem, then look at the available tools to solve it.

    Client server is better at solving specific problems, anything graphics heavy usually. For pure data entry a straight up server side web application is usually the best choice. You don't need to support multiple client installs, just the server instance.

    For ease of development: PHP, for scalability, some java based framework (Spring, Wicket, etc...) or even Scala/Play if you feel somewhat daring.

    1. Re:You're picking your tool before your problem. by DickBreath · · Score: 5, Funny

      When the only hammer you have is C++, every problem begins to look like a thumb.

      --

      I'll see your senator, and I'll raise you two judges.
  11. Look at Java/Postgresql by Anonymous Coward · · Score: 2, Informative

    I've been exploring the same route. There are a lot of options but none as mature (from the developer's perspective) as what you are used to. After a lot of search and trial and error,

    I've settled on PostgreSQL for database since it is mature, fast, easy to manage, and generally solid. It's really comparable to what you are used to in MS SQL Server.

    For languages, I've settled on Java, which I swore never to do. It's not as robust as C# since there was a leadership vacuum for too long at Sun's demise and Oracle's stumbling. It's catching up, though. Just avoid using reflection. It's a dog in Java. Also, don't assume that generics are the same thing in C# as in Java. C# allows a lot of runtime generic goodness where Java allows it for coding but it compiles down differently, stripping out a lot of what you would expect. Other than that it's very close to C# in use and a stable language.

    For the IDE, I recommend going with Eclipse. It can be a pain when you are user to VS but it's the closest I've found for maturity and features. Also, being written in Java, the "eat you own dog food" test has proven useful. It's good for Java, not so much for other languages. Not that you can't do a lot with other languages in Eclipse... Lord known I've tried. Use the Kepler or later build. Older versions had some issues, particularly with source control integration. I'm on Luna and it works well on Linux AND Windows.

    Another side note: This setup works equally well on Linux, OS-X, and Windows. I've been looking for a solid cross-platform setup for years. Avoiding Java was a waste of time. I miss the C#/VS/MS stack for it's solid performance on Windows but, as you know, it was a no show for every other OS out there. This stack works on everything. It's a pain to switch but if you've been in the business for long you'll be productive again in a week or two.

    Good luck.

    1. Re:Look at Java/Postgresql by Unordained · · Score: 2

      Firebird is also cross-platform, extremely safe and reliable, and would also be a good fit for someone with MSSQL experience.

      Firebird (was: Interbase) has a significant following in the standalone-app world (because you can deploy an app backed by a full Firebird instance as a DLL, rather than a separate server process, and later switch to the service when you want networked clients) and in the thick-client world (because Interbase was bundled with Borland Builder/Delphi).

  12. Heresy Alert by Jawnn · · Score: 5, Interesting

    I'm going to get jumped for saying this, but stick with Windows for fat client development. Unless you are looking at developing web apps, you are going to be almost completely disappointed at the selection of tools available to you on Linux when compared to those for Windows. I'm not saying that there aren't tools for doing this on Linux, but dear gawd, why would you want to when the VS tools are so much easier to work with. And by "work with" I mean get work done. Use MySQL on Linux as your db server, by all means, but do your client development with what you already know.

  13. Re:Java by Sowelu · · Score: 2

    C# is basically MS Java. Just go and develop in Java. Why make it hard on yourself?

    You'd normally be correct, but UI is the one place where they are fairly different. Speaking as a dev who's switched between C# and Java just about every job for the last ten years, that's the only thing that gives me a headache.

    My last job was a Windows client that used Silverlight for its UI. It really made me appreciate how much I like Java web development.

  14. Go web based by kdub007 · · Score: 2

    The company I work at has lots (probably 50% or more) of apps built in-house. Many of them VB6...we're still transitioning to .NET, and aren't even close. The problem we see (and part of why I was hired) is that legacy apps require legacy systems to run them. My suggestion is to go web-based. Deployment is easy, cross-platform is relatively easy, and there are lots of libraries out there for PHP or other languages to make rich user interfaces. The LAMP platform is solid and flexible, but using other languages or databases than mySQL and/or PHP is still fine. Unless you're developing apps for image editing or hard-core word-processing/spreadsheet type stuff, you can do about whatever you want using LAMP. And, the user support community is enormous.

    --
    The correct answer is 42.
  15. Re:Not a joke, Microsoft is open sourcing good bit by Anonymous Coward · · Score: 4, Informative

    We're looking at 2 years minimum for .Net Core to be solid and complete for Linux. I've been following this closely. Tools are totally missing as well, which you mentioned. I don't see something like Visual Studio even being ported unless MS abandons the "Windows is dominant" position. If they do, I don't expect a solid showing for VS until 2020 at the earliest. For now you are stuck with Mono, which isn't bad, it's just anemic compared to VS.

  16. Rule #1 of development: Know your requirements. by RingDev · · Score: 4, Insightful

    If you're just developing for the fun of it, have at.

    But if your goal is to have a POS application, stop writing code right now. There exist hundreds of off the shelf POS apps all ready. For Windows, for Linux, thick clients, thin clients, web, desktop, green screen, etc...

    Your time would be vastly better spent finding an existing product and adapting your business process to it. Especially if it is something that can tie into your accounting/inventory systems.

    As the old saying goes, "Good developers write good code, great developers steal good code."

    -Rick

    --
    "Most people in the U.S. wouldn't know they live in a tyrannical state if it walked up and grabbed their junk." - MyFirs
    1. Re:Rule #1 of development: Know your requirements. by TechyImmigrant · · Score: 5, Interesting

      >But if your goal is to have a POS application, stop writing code right now. There exist hundreds of off the shelf POS apps all ready. For Windows, for Linux, thick clients, thin clients, web, desktop, green screen, etc...

      And they are all shit.
      So I wrote my own. It's not shit. The staff tell me it's not shit.

      POSs are shit because they have to attend to the general case, whereas each store is a special case. I our case, there is nothing that comes close to addressing the particular needs of a yarn store (SKUd and non SKUd goods, hand made goods, goods my weight and/or volume, consignment goods, classes, group sessions etc). Go into a yarn store and see if they check you out by slowly clicking and typing at some horrible POS, they usually do.

      If you took my POS and put it in a hardware store, it would be shit.

      --
      I should use this sig to advertise my book ISBN-13 : 978-1501515132.
    2. Re:Rule #1 of development: Know your requirements. by bmajik · · Score: 2

      Actually, I'm going to disagree here.

      I spent the last 10 years working on the unglamorous parts of the MS stack that deal with writing business software. I worked on ERP systems (big stuff, big money) and small stuff (VS Lightswitch).

      It turns out that there are zillions of little apps that make businesses run. Some of them are no more robust than an excel workbook on a well known file share. Some are Access applications. Lots of VB6 apps are still keeping businesses running.

      Integrating with existing systems is notoriously hard. The larger a system is, the more likely you are to need a VAR/integrator for an industry specific vertical to build customizations for you.

      There is absolutely a need for tooling to build business critical apps - forms over data, basic workflow, reliable data storage, etc.

      It is possible to roll-your-own on each of these pieces, but it turns out that tailoring any of them for business app usage, much less stitching them all together into some sort of recipe or middleware... is hard.

      However, the smaller the problem domain is, the larger the advantage in NOT trying to integrate or use off-the-shelf software.

      With LightSwitch, you can write a 1-5 form productivity app in a few minutes that will let a small team of people do data entry, with basic validation and reliable storage underneath. This makes it great for volunteer organizations and other low time / low budget endeavours...

      I'm very interested to see if other people have had positive experiences apart from Lightswitch... our customers tell us its the only tool quite like it... unless you go back to PowerBuilder or something along those lines...

      --
      My opinions are my own, and do not necessarily represent those of my employer.
  17. PostgreSQL by Anonymous Coward · · Score: 2, Insightful

    I'm a big fan of PostgreSQL over MySQL.

    1. Re:PostgreSQL by pigiron · · Score: 2

      Absolutely PostgreSQL has always been a serious RDMS. My SQL was a joke when it came out and is still a joke years later. They have always been years late and several dollars short when it comes to functionality. They only got stored procedures last year! LOL Typical.

      Stick completely with stored procs for production database access. You can tune them and it keeps messy queries out of the application code. It also makes the impact analysis of database changes much, much easier to track and deal with.

      Do your programming in LISP if you have the nads and smarts (few do.) S-expressions match almost seamlessly with both SQL queries and with HTML/XML.

  18. Lazarus (FreePascal) via CodeTyphon by jma05 · · Score: 2

    Lazarus is pretty good. It is a Delphi like/compatible IDE based on FreePascal. I always thought that Delphi's approach to DB GUIs was the most straightforward.

    CodeTyphon is a good cross-platform distro for Lazarus that bundles lots of components. It also specializes in cross-compilation. But you are probably not looking for that aspect. It can target multiple GUI toolkits including Win32, Qt & GTK with the same set of components. I am surprised why it isn't more popular. Perhaps it is because Delphi is not as well known as C++/Java/.NET. While I am not a particular fan of Pascal, the component framework (Delphi: VCL, Lazarus: LCL) makes it worth while.

    http://www.pilotlogic.com/site...

  19. How about a web browser by ghettoimp · · Score: 2

    Web applications are portable, easy for users to install (they don't have to do anything), easy for users to update (they don't have to do anything), and accessible from just about anywhere on just about any device. HTML/CSS/JavaScript have matured a lot. It is very easy to prototype your application's UI, and easy to develop very slick looking applications with rich fonts, colors, fancy tables, etc. Unless there's some fundamental reason you absolutely must have a native UI, I would never choose a toolkit over the web.

  20. Re:Hakija by jedidiah · · Score: 5, Insightful

    You couldn't be more wrong if you tried.

    If you're willing to explore something other than what Microsoft has spoon fed you, there's more than enough shiny happy development interfaces out there.

    --
    A Pirate and a Puritan look the same on a balance sheet.
  21. PGAdminIII by plopez · · Score: 2

    A nice GUI for Postgresql. Check out what tools they are using. Do a few walk throughs with a debugger to see how it works.

    --
    putting the 'B' in LGBTQ+
  22. Qt + C++ by ClayDowling · · Score: 4, Informative

    I'll recommend Qt and C++ as a workable combo. Learn how to use their Model/View architecture and there's a whole lot of fun stuff that opens up for you. Instead of looking for database components, think in terms of writing a data model that happens to get its data from an SQL backend.

    I'll also second the recomendation of others to look at PostgreSQL for your backend. When it comes time to deploy your application, PostgreSQL is a lot easier to package and install than SQL Server. The features aren't identical, but they're close enough for all but some very specialized cases. In a lot of those cases, there are tools that accomplish the same goals via a different mechanism.

  23. Re:Hakija by ClickOnThis · · Score: 3, Informative

    Name 3.

    You want 3? Here are ten. And there are more.

    --
    If it weren't for deadlines, nothing would be late.
  24. Re:Java by tom229 · · Score: 2

    Netbeans makes working with swing forms a breeze. I'd like to vote for java as well.

    --
    If it ain't broke, don't fix it.
  25. Re:Java by AqD · · Score: 5, Insightful

    How about Java FX 8?

    Being actually using it for half of a year. It's a significant improvement over Swing and definitely superior to winform or GTK#, not so over WPF.

    A few problems with it:

    • * The data-binding/observable mechanism isn't directly compatible with old Java beans. The mechanism is the only reason I choose JavaFX. It also requires some learning and adaption to get used to the programming style but definitely worth it.
    • * Toolset is incomplete and you wouldn't even find any IDE with proper FXML support
    • * Documentation isn't too good and you'd need to read source code instead. The code is quite readable though.
    • * Lacks some basic controls (dialogs will be in next release) and you'd need 3rd-party libraries from the start (ex: ControlsFX).
    • * Loading complex UI takes time, as can be seen from their own demo Modena. Instead of constructing everything at once (as can be done in Qt or WPF without problem), you might need to manually lazy-load parts.
    • * Be careful of weak references/events used everywhere in JavaFX. Things could be GC'ed when you don't think they're supposed to be.
    • * Oracle deprecated the fluent builders API in v8. I recreated the generator and the API here JXTN which is also customizable
    • * It cannot embed native controls/widgets, though it can be embedded into others such as Eclipse RCP/SWT, as what I'm doing now.

    .
    .
    I don't think you'd find a better cross-platform choice. However it'd be very unsuitable for tighter integration with Linux desktop (notifications/WM/process/shell controls etc).

  26. Re:GTK by TheRealMindChild · · Score: 2

    GTK actually has lots of good widgets for 'data' not sure what that means exactly

    It means he wants databound controls. As in, widgets that update themselves when the dataset changes and changes the dataset when the widget is manipulated

    --

    "When life gives you lemons, don't make lemonade. Make life take the lemons back!" -- Cave Johnson
  27. Re:Hakija by Anonymous Coward · · Score: 2, Insightful

    Are you seriously comparing a list with IDE's like Komodo and Eclipse to Visual Studio?

    Look, you can hate on MS all you want to. But at a certain point you can cross over into true delusion.

  28. Re:Look at Java by DickBreath · · Score: 2

    Java has great free and Free development tools like Eclipse and NetBeans. You can also get the community edition of IntelliJ, or a paid edition.

    Java, and its development tools, run on every desktop: Mac, Linux, Windows.

    If you know Java, then you've already got a leg up on doing Android development; and doubly so if you use Eclipse or IntelliJ.

    If you want to develop complex web applications, then Java is the way to go. You can write a large web application in a dynamic language, but maintenance will become a long term problem in a gigantic code base. There is a reason that Java is used for very large websites. (Not to confuse large with high traffic.)

    Java is used in high speed trading.

    Java is used in the SIM card of your phone. Your bluray player.

    Once you are familiar with running Java on the JVM (Java Virtual Machine) you'll discover that there are dozens of other languages that run on the JVM with complete interoperability with other JVM languages. This is because of the common runtime and type system, and because of GC. With GC in the underlying runtime, the entire contract of who is responsible to dispose of what goes away. Did this library create that data structure? Maybe, but nobody has any responsibility to keep track of it and dispose of it.

    The JVM is an industrial strength platform. You can have heap sizes of dozens or hundreds of gigabytes. With a dozen gigabytes you can have GC pause times under 10 ms with little to no tuning. If you need hundreds of gigabytes in a single heap with 10 ms GC times, then contact Azul systems who can sell you their Zing JVM. Which brings up the fact that JVMs (like everything in the Java world) has multiple vendors. Don't want to run Tomcat, then use Jetty, or one of several other choices.

    Your favorite language compiler emits JVM bytecode which the JVM compiles into native code. It has an extremely aggressive global optimizer. The JVM compiler can optimize globally, something that compilers like GCC cannot do. The JVM can inline other methods into YOUR method. But the JVM can also dynamically reload classes. So what happens if class A is reloaded, but your method now has stale inlined code from Class A? The JVM will de-optimize your method so it is back to running as interpreted JVM bytecode. Now if your method (still) is one of the CPU hotspots, then the JVM will re-compile your method back to native code again. The overall application never stops. The only methods that get compiled to native code are the ones that dynamic profiling proves to be ones that would make a difference to aggressively compile. Call me when you other language runtime can do all that.

    Java is where the jobs are. Look for yourself.

    There is much more. But I'll stop.

    --

    I'll see your senator, and I'll raise you two judges.
  29. Re:Hakija by Anonymous Coward · · Score: 5, Interesting

    Yup. I develop on Microsoft, Linux, and OS X, and anyone who thinks there are better IDEs than VS are fucking delusional. There's a reason I charge a hell of a lot more to develop on Linux and OS X vs on a MS platform.

  30. Re:HTML5 Client by Blaskowicz · · Score: 2

    I wonder how do you lock down the browser (some sort of kiosk mode to not get distracted), run it as a separate instance if you want to keep general purpose browser windows on the side and not have have the application getting slow, unresponsive or crashing, and I wonder if you aggressively update the browser as needed for security or use Internet Explorer instead.

    Oh, silly me, I've found out about the firefox -p -no-remote option while typing this post. Then there's some customization of the user profile to do so that I can even differentiate that second instance easily. Made for myself a "youtube firefox".

  31. Re:Hakija by ClickOnThis · · Score: 2

    It's the Linux-haters who are being modded down in this thread.

    --
    If it weren't for deadlines, nothing would be late.
  32. Java with Netbeans by sproketboy · · Score: 2

    Netbeans has a bunch of database application wizards. Of course this means using the superior Java and being able to run the apps on Linux, Windows or Mac.

  33. Eclipse RCP + DataTools by H0p313ss · · Score: 2

    I'm sure this won't be a very popular option because Slashdot is allergic to Java in general and Eclipse specifically, but if were trying to write multi-platform GUI code with database integration I would probably start by investigating Eclipse RCP + Datatools.

    An example of this is Teradata Studio

    --
    XML is a known as a key material required to create SMD: Software of Mass Destruction
  34. Re:REALbasic by they_call_me_quag · · Score: 2

    Xojo (as it's called today) is definitely worth a look. You can download the IDE and try it out for as long as you like. They only charge you for a license when you want to compile a standalone app.

  35. web2py by marcello_dl · · Score: 2

    Try web2py. It's a web development framework with python server side, has *terrific* documentation (if you are not a total noob), it's easy to deploy locally, it's DB agnostic, it has features for RAD-like development (the server has an IDE and an app manager, you can strip the source and ship bytecode only) and it's very customizable.

    The killer feature? compatibility with apps developed with the older versions is a design goal. So once you have your app, you don't have to worry much about maintaining it or upgrading to newer versions.

    Cons? Python is not as easy as php to deploy on web hosting companies, and you need to tweak the configuration for heavy traffic sites, and python3 will need web2py to fork a specialised version. None of these are showstoppers for your use case.

    --
    ---- MISSING MISCELLANEOUS DATA SEGMENT --- [sigdash] trolololol
  36. Re:Hakija by phantomfive · · Score: 2

    Yup. I develop on Microsoft, Linux, and OS X, and anyone who thinks there are better IDEs than VS are fucking delusional.

    I'd love to hear your reasons.

    Maven is so much better than Nuget that it would be worth using Eclipse just for that.
    The way Java sets up projects is better. If you know the package, you know where the file is located.
    VS doesn't even compare to Eclipse/IntelliJ unless you buy the IntelliJ plugin for VS.
    IntelliJ has better integration with git/svn/cvs/mercurial.

    On the other hand, if all you want is drag-and-drop buttons, then you're right, VS is better. But in that case you won't be charging much no matter what platform you work on. :)

    --
    "First they came for the slanderers and i said nothing."
  37. Re:Hakija by phantomfive · · Score: 2

    Here's a funny thing:
    I recently read an interview with Anders Hejlsberg. He literally said, "My primary debugging tool is Console.Writeline." The guy who is in charge of creating the C# language at Microsoft, uses print statements for debugging. That tells you something.

    --
    "First they came for the slanderers and i said nothing."
  38. Re:Hakija by fractoid · · Score: 2

    Nor, to be fair, is it often called upon to do so.

    --
    Rampant carbon sequestration destroyed the Dinosaurs' tropical paradise. I'm here to help repair the damage.
  39. J2EE by jandersen · · Score: 2

    This is problem I have given a good deal thought to as well.

    First a bit of background: I have lived on UNIX and Linux for most of my far too long career. I programmed Windows and OS/2 back when it was fun (ie. Win3 and earlier; the fun went away after that); I have programmed C and C++ most of the time, and I have worked with both GNOME and KDE.

    The problem, I find, is that you get tied into whichever environment you choose, so I took a step back and tried to figure out which environment give me most mobility across platforms and desktop environments. My answer, much to my dismay, was Java, which is available on nearly all HW and OS, and which has extensive and concise standards for almost everything relevant to a developer.

    I am still new to it, but the technology I really like is Java Enterprise (previously J2EE) - what I've done is download a package with Netbeans (an IDE), Glassfish (application server) and J2SE (the Java SDK), and it becomes relatively easy to develop database applications, with a frontend in JSF, which works in all browsers across OSes and gives you full GUI functionality, and a backend that can run on a remote application server (not only Glassfish) and against any batabase with a JDBC driver.

    Perhaps this is overkill for you purpose, but to me it seems ideal.

  40. Re:Hakija by phantomfive · · Score: 2

    That's an interesting thought, but he went on to say, "To be honest I think that's true of a lot of programmers....quite often you can quickly get to the bottom of it just with some simple little probes." (this comes from Masterminds of Programming).

    --
    "First they came for the slanderers and i said nothing."