Cross Platform Developments - qt

Well, I need your advice.
I'm working on a huge engineering project, everything is ready now (resources and formulas etc) and it's time to start coding. I don't have any problem with what language to code with (i know a lot).
but they're the users who are pulling me off.
I use Windows as a primary OS but there are a lot of Mac and Linux users too. And these days tablets have taken a lot of developing space ( Android and stuff).
So what option do you advice :
1)Write the program from the scratch on each OS, I mean writing the program on Windows using Visual Studio, on Mac use Xcode.
but this costs a lot ... I own Windows PC, buying Mac or Mac OS for my desktop, will ruin my budget.
2)Use cross-platform compilers ...
It is nice. but how about the commercial use? I have read that I need to buy a commercial license in order to publish my apps worldwide.
please if this is wrong tell me about it.
so really I don't know ... shall I just deploy it for Windows?
Also if you know a great option for cross-compiling would help a lot .
Your Advice Is Appreciated
Best Regards

What kind of app is it?
If it's just a number crunching app with a very simple front end then can you write a commandline version and wrap it with a web script?
If it needs very responive rich user interface and you can program in C++ then Qt is a very good solution even if you don't need cross platform.
The LGPL license is perfectly suitable for commercial apps.

Related

How do I use HP's UFT with Eclipse's EMF Client Platform?

I have an existing software system in pure Java (1.8, currently 32 bit), using Eclipse's EMF Client Platform. Some modules are opened in normal web browsers like IE, Chrome etc. while others are loaded into an Eclipse client as Eclipse plugins. We're using Eclipse Mars.
We're looking to automate our testing with HP's UFT, so we're trying it out for the first time with a freshly downloaded trial version. We easily figured out how to use UFT with modules that are opened in a web browser from a tutorial I found online.
However, we're unable to say the same for the part of the system opened in the Eclipse client. My PM did a little preliminary research and some say there are compatibility issues. Right now I'm investigating this in-depth with the objective to get it working if possible. I Google'd with the terms UFT, Eclipse plugin, and/or EMF Client Platform without useful result.
As someone using this tool for the first time, I'm looking for help from those with experience in the community. Do you know any tutorial, documentation, any material that can assist me, whether to solve the problem outright or at least to help me understand the relevant parts of the UFT tool?
I understand LeanFT is installed with UFT, so I am open to using it as an alternative. Thanks!

Do Chromebooks offer adequate offline programability?

Do Chromebooks offer adequate programming capabilities offline?
I can never guarantee my WiFi access.
I know I can access local files, and being Linux-based, what does this mean for programming offline?
Also, I am returning to obtain my MSc in IT. Would this be a good purchase for such a cause? I am focusing on web development (HTML, JavaScript, Rails).
I want to know specifically if a Chromebook (I have my eyes on the Acer C720) can get the work done. True, I'll probably rare ever be offline, but I want to know if I'll be able to both edit code, then run it to troubleshoot.
My main points: editing and running code on a Chromebook. Also, could I amend the drawback by running Windows or Linux (ie, Ubuntu, Mint)?Thanks guys for any advice.
I use an Acer C720 Chromebook (2GB RAM, 16GB SSD) as my Meteor (Javascript, HTML. CSS, MongoDB) development machine. The specs may sound poor but in reality - thanks to the fantastic Haswell chip - the laptop is great.
I have Xubuntu installed instead of ChromeOS... so maybe that is not a real answer to your question.
It's a fantastic little machine - long battery life and boots in a few seconds. I tried Bodhi Linux first but find Xubuntu better for my needs.
I expanded the storage using a keep-in tiny UltraFit 64GB USB 3.0 flash key. Amazing device.
I use an HDMI monitor when doing longer coding sessions.
Device cost me $150 on eBay and around $25 for the USB key.
I use the free http://komodoide.com/komodo-edit/ as my editor.
If you feel like taking the plunge and converting from ChromeOS to Xubuntu, these two links may help:
BIOS changes: https://blogs.fsfe.org/the_unconventional/2014/09/19/c720-coreboot/
Xubuntu distribution: https://www.distroshare.com/distros/get/14/
Good luck and enjoy!

Appeal of OS X for *nix developers?

This question is for experienced Unix/Linux developers.
If you have found that you like Mac OS X better than *nix as a development platform, why is that?
I know that hardware configuration is more convenient and graphics are generally more polished, but I'm not referring to those things. I'm asking specifically about functionality related to software development.
Also, do the benefits still apply if you are mainly targeting Windows or Unix/Linux?
For most purposes, OS X is Unix. Aside from Xcode (which I personally don't care for), there isn't really anything there to make it better or worse than any other Unix-like system for development.
Most of the typical tools, libraries, languages, and interfaces are there, you'll even be using GCC for C/C++ work. As long as you're not developing against Apple/OS X-specific interfaces like Cocoa, you are developing on Unix.
I use OS X because it just works, thus not interfering with my development, not because it has magical fairy dust that makes it better than any other Unix for development.
I love Apple as a dev platform because I get all the power of the *nix commandline as well as Apple's developers tools (XCode).
The additional software/hardware polish, and quality of third party software make it all that much more enjoyable.
Mac OS X is not better than a Unix environment, it is a Unix environment: http://www.opengroup.org/openbrand/certificates/1190p.pdf
I'd go as far as saying it's probably the most used Unix, considering it's also in all iPod Touch and iPhones.
(As far as I'm aware, Linux isn't a certified Unix, but I may be wrong, perhaps a distribution/vendor went through that process.)
Sometimes, for professional reasons, you just have to have tools that are compatible with what your boss or customers use. This often includes proprietary tools like MS Office, whether you want it or not (OpenOffice can't always deal perfectly with Word documents). OSX provides this intermediate ground, where the developers can also be users or closer to their user base.

Any really modern, good-looking desktop apps that are developed with PyQt/PySide?

I have started using Python for web development recently, it's kinda cool;
I have seen programs that are developed in QT/C++, which is good enough in terms of esthetics;
I have just noticed the new PySide project (which brings LGPL Qt license to Python and it doesn't support Windows yet).
In view of the above, I see the possibility of using Python + PyQt/PySide to develop cross platform apps in the future :) but I have several doubts right now:
Can PyQty/PySide be used to develop really complex/modern UI? Can somebody give me some points to have a look at some nice-looking screenshots of apps that are developed in Python+QT?
What about the performance of using Python + QT for a desktop app?
Thanks in advance!
Can PyQty/PySide be used to develop really complex/modern UI?
Desktop applications come in all sorts of varieties -- some nicely laid out, some extremely customized with virtually no semblance to a standard application for that OS. The same can be done with Qt/PyQt/PySide. As Alex said, there should be no visible difference between an application written with PyQt/PySide versus one written with Qt in C++. Any program written with Qt4 (using bindings or not) will, by default, look like a standard modern application.
Of course, there are features of recent Windows releases (and likely some on Mac OS X) that aren't supported immediately and by default in Qt, but you can almost always write some custom platform specific code for those situations where said features are truly important.
Can somebody give me some points to have a look at some nice-looking screenshots of apps that are developed in Python+QT?
The best and most open source program that I know of and which is written with PyQt, is Eric -- a Python based IDE.
What about the performance of using Python + QT for a desktop app?
For most applications the performance difference between a C++ Qt application and a PyQt application are not noticible. But if you really need performance, you can write certain parts of the application in C++ and make bindings available in Python so you can integrate the two.
TortoiseHg was re-designed using Qt and PyQt for its 2.0 release.
Here is one of several posted screenshots:
There is no aesthetic difference between the look and feel of C++ based Qt, and the PyQt and PySide wrappers on top of it. I use basically no desktop GUI apps so I couldn't point you to any implemented with any of these language/toolkit combos, but if you like the former, you'll be hard put to distinguish it in any way from the latter.
A bit late but for the record, apps such as Skype, GoogleEarth or the recent versions of VLC (media player & more) used the Qt libs.

best way to get started in setting up Mono for ASP.NET on Mac

I have recently gained access to a Mac. I am wondering if anyone has any tips/advice for setting up Mono on a mac for development and execution of ASP.NET? Most resources point to Linux implementations which tend to differ a lot from the way Mac's do things. Any tips or advice would be helpful
To launch the development ASP.NET server, just open a terminal window and run the "xsp2" command from the Mono installation.
The only thing that is missing from the Mono distribution on the Mac compared to Linux is the Apache module, that one you will have to compile yourself if you want to deploy your application in production on OSX.
Since I first worked with mono osx, they've added Cocoa# and ObjC#, but the ASP.NET core was pretty solid (about 3 years ago). You can in fact write web applications according to the Onion book, and port 'em to IIS with little or no difficulty.
Honestly if you want to run ASP.NET you probably don't want to struggle with getting it to run via mono on MacOS. Intel-based Macintoshes can boot Windows, and Apple provides Windows drivers for their various devices as part of Boot Camp.
Alternately you can buy Parallels or VMWare Fusion for less than $100. I use VMWare Fusion. There is also a Mac version of VirtualBox from Sun which is free, though I have never used it.
For MacOS development (not .Net) you really should try Apple's XCode. It is free. It primarily focuses on Objective C though Python, Ruby, and other languages can be used to develop native Mac applications.
Edit 9/22: I'm sorry neither you nor Kev found this a useful answer. Let me try to expand a bit: the Macintosh has a long history of software being ported in from Windows, applying a theme to make the GUI elements look Mac-like but otherwise being content with a minimum cost port. Such software never behaves like a real Mac application: it doesn't respond to AppleEvents, it won't be scriptable, it handles only the cross-platform clipboard formats, etc.
You're free to do whatever you want, including running ASP.NET using mono. If its for your personal use, knock yourself out. However if you're considering it as a way to offer your web-enabled product in a Mac version, I urge you to reconsider. The Mac market has for the most part rejected such products. You'll get some sales, but nothing like you would get for an app which behaves like a native Mac application.
Now, let the down-voting continue.
You can also run ASP.NET via NGINX - easy to install using:
sudo brew install nginx
See installation tutorial: http://www.robertmulley.com/tutorial/nginx-install-and-setup-mac-os-x-mavericks/
See configuration steps for your app: http://www.mono-project.com/docs/web/fastcgi/nginx/
(Note: see my pull request as the fastcgi-mono-server4 should now be used - https://github.com/mono/website/pull/82/files)
Why use Mono on a Mac? Run Parallels, VMWare, or Boot Camp.

Resources