Please create an account to participate in the Slashdot moderation system

 



Forgot your password?
typodupeerror
×
Databases GUI Open Source Programming Linux

Ask Slashdot: Linux Database GUI Application Development? 264

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?
This discussion has been archived. No new comments can be posted.

Ask Slashdot: Linux Database GUI Application Development?

Comments Filter:
  • Have a look at Xojo. It used to go by the name REALbasic.

    • 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.
  • MySQL GUI tools list (Score:2, Informative)

    by shmorhay ( 781528 )
    Here is a Database Journal article from 2010 listing some useful MySQL GUI development tools that may provide some leads -- http://www.databasejournal.com... [databasejournal.com]
    • Re: (Score:2, Funny)

      by Anonymous Coward

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

  • Lazarus (Score:5, Interesting)

    by Tablizer ( 95088 ) on Tuesday January 13, 2015 @01:36PM (#48804873) Journal

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

    • Be aware that in my experience Lazarus isn't seeing a lot of updating and had stagnated with some difficult bugs (for us amyway). We moved away from it in the end we went with Qt

  • Biased, but... (Score:5, Informative)

    by tyroneking ( 258793 ) on Tuesday January 13, 2015 @01:37PM (#48804883)

    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/ [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... [frappe.io]) and looks less scary.

    • I have to agree - python just makes life easier.
      • 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 le

        • by vux984 ( 928602 )

          "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 elimin

    • I'm biased towards Python - and the following suggestions have nice UIs but they are web-based

      I agree there, especially if you are coming from the purgatory of VB6 or .NET line-of-business apps, and there are good frameworks out there.

      The original poster does want to know about traditional client-server, and there is a Python business application framework that is a closer fit: Tryton [tryton.org]

      It is not web centric and has a GTK based client, although there is integration with Flask for web based applications (the Nereid module) and a big push on for a full fledged web client alternative to the GTK client (pl

  • Have you thought about hiring a programmer to do this stuff? It's probably going to save you a lot of time and hassle to go this route than actually doing it yourself.
    • by hawguy ( 1600213 )

      Have you thought about hiring a programmer to do this stuff? It's probably going to save you a lot of time and hassle to go this route than actually doing it yourself.

      By using libraries and tools to do the nitty gritty work, he's essentially paying a team of programmers to do this stuff (and likely paying a fraction of the price he'd pay if he did it himself)... or, if he goes the open source route, he may be getting the output of that team of developers for free. If he has to write everything himself (even if he hires another developer to do it), he's committed to supporting that work himself forever, no one is going to port it to a new platform for him, no one is goin

  • by MillerHighLife21 ( 876240 ) on Tuesday January 13, 2015 @01:38PM (#48804891) Homepage

    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... [brightball.com]

    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.

    • Actually, that will only help you with web based stuff. Go doesn't do any UI stuff (that I know of, but I haven't looked hard) so it might not be what you're looking for.

    • by greg1104 ( 461138 ) <gsmith@gregsmith.com> on Tuesday January 13, 2015 @07:00PM (#48807575) Homepage

      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 [postgresql.org], 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.

  • Java FX is your friend
  • by OrangeTide ( 124937 ) on Tuesday January 13, 2015 @01:39PM (#48804903) Homepage Journal

    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++).

    • In C++ you just don;t want a framework, you want libraries that do the heard work for you as you provide the application logic.

      For web servers/services, there are a lot of "embedded" libraries that are brilliant. Mongoose or NxWeb come to mind, best thing about them is that they are really easy to use and you don't need to learn a huge amount of "magic" ways that a framework has decided that you'll work in.

      • Agreed there are a lot of tools at a developer's disposal. The original point was why not use web development for this project. Linux's GUI is not great in my opinion (long time Xlib, GTK+, XForms developer), but web GUI is mature, fairly easy to develop and can be combined in new and interesting ways.

        • I agree, web dev is getting so good even Microsoft is not only embracing stuff like Cordova but is saying its a great way to write Metro apps!

          Personally, I just like the way it forces people to design their programs into client and server sides, hopefully making a good, reusable API on the latter.

      • I guess you mean the opposite.
        You just don't wand libraries but frameworks that do the hard work for you.
        You are one of the many who don't grasp what the difference between a framework and a library is. But you are the first one who completely exchanges the meaning of both words.

  • by chill ( 34294 ) on Tuesday January 13, 2015 @01:39PM (#48804909) Journal

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

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

    • by Tablizer ( 95088 )

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

  • by DarkOx ( 621550 )

    GTK actually has lots of good widgets for 'data' not sure what that means exactly, forms, spreadsheets that stuff is there, but you are correct anything complex you will have to build up from more basic controls. I would also characterize GTK as a royal PITA even with glade.

    Why don't you like web for POS? Honestly there are plenty of great 'data' interfaces. Building your app an in-process webserver that just binds 127.0.0.1 on some high port. There are plenty of frameworks out there that should make bu

    • 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
  • by TurboStar ( 712836 ) on Tuesday January 13, 2015 @01:43PM (#48804949)
    Qt has model-driven views. Here's some videos. See #47 for a bit about model-view: https://www.youtube.com/playli... [youtube.com] Also, be sure to catch up on C++11/14 if you do come back to us from the dark side.
    • And the model drive views are really powerful. The first one you write is a bit tedious, but after that it's smooth sailing. You can get that data from anywhere: text files, network packet processing, database queries.

      Qt does have database access components, but you might be happier working with a native interface. Part of the beauty of C++ is that there's a native interface to most things that's C++ compatible.

  • GUI Datasets (Score:3, Informative)

    by StormReaver ( 59959 ) on Tuesday January 13, 2015 @01:45PM (#48804965)

    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).

    • Re:GUI Datasets (Score:5, Informative)

      by Richard_at_work ( 517087 ) on Tuesday January 13, 2015 @01:52PM (#48805041)

      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.

    • Take a look at code-first design with Entity Framework, the database creation and modeling is abstracted away, your database is created for you based on your domain driven design.
  • by davidsheckler ( 45018 ) on Tuesday January 13, 2015 @01:47PM (#48804987) Homepage

    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.

    • by DickBreath ( 207180 ) on Tuesday January 13, 2015 @02:46PM (#48805521) Homepage
      When the only hammer you have is C++, every problem begins to look like a thumb.
    • by Jaime2 ( 824950 )

      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.

      Web apps are great for when you need an app to reach everyone on the Internet. Web apps are almost never the best choice if you have a captive audience. The challenges of deploying desktop apps are pretty small and approximately equivalent to the amount of effort needed to keep up to date with the march of progress in browsers. With a native app, you get to choose your own technology rather than be forced to use JavaScript for the UI tier and you get a much better user experience with less effort.

      • This 100 times this.

        One thing that web apps always fall down on is speed and sync. If I have 100 people using a database and I want real time updating of the data that people have open on their screen you can't use a web app. In particular if you need to cause a client to redo its search because a new entry now matches their criteria.

        If you are going down a linux build path you can go down a linux front end. Then you add in puppet and all your clients are identical - new release - push, bad release, pull

  • by Anonymous Coward

    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 Ora

    • 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).

    • 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 w
  • Heresy Alert (Score:5, Interesting)

    by Jawnn ( 445279 ) on Tuesday January 13, 2015 @01:50PM (#48805011)
    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.
  • 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 la
  • by RingDev ( 879105 ) on Tuesday January 13, 2015 @01:58PM (#48805101) Homepage Journal

    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

    • by TechyImmigrant ( 175943 ) on Tuesday January 13, 2015 @02:14PM (#48805257) Homepage Journal

      >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.

    • by bmajik ( 96670 )

      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 sys

      • by RingDev ( 879105 )

        "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."

        I hear ya. Been right there in the trenches for almost 20 years now doing line of business application development/management. The organization I just started with has a product catalog that has over 1000 entries, with tons of additional excel/access solutions that

  • PostgreSQL (Score:2, Insightful)

    by Anonymous Coward

    I'm a big fan of PostgreSQL over MySQL.

    • by pigiron ( 104729 )

      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

  • Since you're looking at Qt and GTK, I assume that you're writing a local GUI client, not a web app, so what operating system are your users running? Chances are that they are not already running Linux. Unless your product is some sort of turn-key system where you supply the hardware and software, then you ought to stick with whatever operating system your users already have in their offices -- which is probably Windows, possibly OSX, but they almost certainly do not run Linux on the desktop. (yes you can ru

  • by jma05 ( 897351 ) on Tuesday January 13, 2015 @02:00PM (#48805127)

    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... [pilotlogic.com]

  • Cake PHP will generate an app extremely quickly if all you want is Create-Read-Update-Delete (CRUD) of records, in a Model-View-Controller structure.

    1. Define the database in MySQL
    2. Run the delightful commands "./cake bake model all", "./cake bake.controller all", "./cake bake view all"
    3. And you are done, 20 minutes after you started. Cake exploits naming conventions to give you auto generation of code, auto lookup of encoded values, etc etc. I have not yet discovered all it can do.

    And best of
    • by jrumney ( 197329 )
      Any framework like this will generate a functional but crappy difficult to use UI on top of your data in minutes. Making a decently usable UI though is hard work compared to the UI centric tools with data binding he is used to coming from a MS background. Also, Cake is a web app framework, and the original poster is specifically interested in a traditional client-server architecture.
  • Have you considered a Web client? HTML5 + JavaScript + [your favorite server language and ORM]* is a good development stack. It also has the benefit of zero-install for your clients.

    We develop complex scientific software and made the decision to go HTML/JS for all our client code a few years ago and haven't regretted it. It takes a little bit of learning the libraries, but there are some good mature ones available to make streamline development.

    -Chris

    *I've used Django and Tornado+SQLAlchemy extensively for

    • 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 t

  • 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 toolk
  • by plopez ( 54068 ) on Tuesday January 13, 2015 @02:12PM (#48805233) Journal

    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.

    • pgAdmin III is a client app for PostgreSQL. But what the poster wants here is information how to build their own specialized client app, not on how to use someone else's.

      The only way pgAdmin III is a relevant example here is that the existing code is a hairy bunch of C++...and the developers have given up on maintaining it. Instead they're turning it into a web app so there are better and still improving libraries to leverage there. That's a lesson everyone thinking of writing a C++, Java, or .NET app sh

  • Glom and BOND are your two main graphical database frontend options in the Linux world. Or you could try developing something in the cloud with Google Apps, scripted with Javascript, using a Google Spreadsheet or the Google Drive API as the "datastore". Or you could get even fancier and build a cloud database app with Firebase, it's pretty amazing (and they just released Angular bindings for Firebase, so you get data binding to UI widgets built in).
  • Qt + C++ (Score:5, Informative)

    by ClayDowling ( 629804 ) on Tuesday January 13, 2015 @02:27PM (#48805335) Homepage

    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.

  • I am a C# programmer by day. It's been my job for something like 5 or 6 years now. For me, the greatest feature of moving to a different platform would be...

    NOT HAVING DATASETS!!

    The things are a horible crutch! All of our software is Datasets everyhwhere, our programming department has standardized on them as the go-to tool for everything to the point of discouraging any other solution as "making it harder by not using what everyone else is used to."

    The problem is Datasets are really nice objects.. for..

  • by sproketboy ( 608031 ) on Tuesday January 13, 2015 @03:27PM (#48805875)

    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.

  • by H0p313ss ( 811249 ) on Tuesday January 13, 2015 @03:31PM (#48805915)

    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 [teradata.com]

  • For a custom GUI bringing in data from a database, I've found most GUI tools for this on Linux to be a bit clunky yet. Writing PHP forms and reports was just easier, and I'm not a web developer by any means, but it didn't take much for me to get exactly what I needed, and in just a little mroe time that it would have taken me with Access front end and MS-SQL backend. If I did that work more often, I could probably bang it out quicker in PHP.
  • Today your browser is THE gui. This way you gain flexibility, portability, and reusability.

  • by marcello_dl ( 667940 ) on Tuesday January 13, 2015 @05:36PM (#48806979) Homepage Journal

    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.

    • I forgot the more exotic OrientDB, it's java based graph db, can enforce a schema (speaks sql too) or let documents bear whatever structure, has bindings for lots of languages, the db can act as app server.

  • My personal preference is web-based, with apps running on a Linux webserver (dirt simple & highly reliable) and data being saved to SQL Server. It's a fairly rare combination, which we used to accomplish using the FreeTDS library but more recently switched over to Microsoft's official ODBC Driver for Linux.

    As a big fan of RDBMS, I would say stay away from MySQL, it can be convenient but it's generally crap. (Citation: ALLOW_INVALID_DATES) If I had to use an open-source DB it would be Postgres all the
  • by jandersen ( 462034 ) on Wednesday January 14, 2015 @04:03AM (#48809645)

    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.

A consultant is a person who borrows your watch, tells you what time it is, pockets the watch, and sends you a bill for it.

Working...