Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 6 years ago.
Improve this question
Is WxWidgets relevant in 2015? Last release was on October 06, 2014, is this project dead? Is there any reason to pick it over Qt?
Yes, wxWidgets is relevant in 2015 for writing portable desktop applications with native look and feel, nothing much has changed there.Reasons for choosing wx over Qt remain the same as always too, see e.g. this answer. What did change is that in many cases you need to target mobile platforms (where wxWidgets is much less relevant as it only has some support for iOS and still not for anything else) or may choose the HTML+JS approach -- but this is a separate decision.
The project is certainly mature (who wouldn't, after 20+ years), but is not dead at all. You can look at the commit activity to check for yourself. If you think that 11 months since the last release is too long to wait for, you are absolutely free to use the latest Git master (which does have quite a number of improvements) or switch to one of JavaScript frameworks.
Gladly to informed about latest release wxWidgets, it's now being version 3.1. Seem the guys behind the stage were worked hard to invent and make this library become more mature and provide better feature. wxQt is now being supported, nice...
wxWidgets is worth as our primary GUI framework to work with. Congratulation for all wx developer community.....
Check it: http://wxwidgets.org/news/2016/02/wxwidgets-3.1.0-released/
I do agree with Dr.Vadim, 11 months (now 12 months) is not too long to wait for another recent release. Since it first release 20+ years ago, wxWidgets now is become really mature library and provide you very complete documentation. wxWidgets also makes GUI component look native in the desktop's OS where it appeared... be it windows, linux or mac...
I'm also heavy user of wxWidgets due to it's ability to yields portable application, maturity, complete documentation, updated and licensing scheme reasons. Binary application yields by this library is very small, even for statically linking compare to qt.
For those reasons, developing an application for ARM architecture with limited cpu speed and memory will be satisfied by wxWidgets library.
CMIIW, I believe, future of portable and embedded application will belong to wxWidgets...
This link is my experience to build wx library and application for Raspberry Pi: http://yasriady.blogspot.co.id/2015/10/how-to-build-wxwidgets-for-raspberry-pi.html, and as the result, my application running smooth and happy in Raspbian...
You might try to make a comparison for those reasons as well.... and see if wx will match your expectation....
UPDATED (12-Jan-2016):
Ready used and easy installation wxWidgets/Eclipse-IDE/Toolchain cross compiler, please do follow this link: http://yasriady.blogspot.co.id/2016/01/raspberry-pi-toolchain.html
Related
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 6 years ago.
Improve this question
Having experience in java (awt and swing) and also in html and javascript I have moved and in my new country found a job in a consulting company as a developer.
I also had experience doing some stuff in c#, but never touched the GUI part.
I have seen that the most of our clients are using .net, so I have decided to update my knowledge in .net and also learn about the GUIs while I have no assigned client.
But my problem is that for the GUI part I can see there is:
Windows forms
Windows Presentation Foundation(WPF)
WinRT
Universal Windows Platform (UWP)
asp.net
I understand all of those are not the same, some are compatible with each other (winform and WPF) and others are not. Syntaxis is different and also the elements available to create the GUI. I have searched and even coded some basic examples and found out even the way to program (events vs databinding) changes a lot. I also read several discussions about the pros and cons for each one.
Now, taking into account my context (big company, not a startup) which one of the above technologies should I focus into? and by this I mean: Which one has a bigger marketshare in 2016 or will have more action in the near future (I know it's impossibe to predict technology in 10 years but lets say 2-3 years). Is there any statistics or any official position from Microsoft about wich one will be the standard?
Thank you for taking the time to answer.
Edit: For those who didn't understand and are down voting my question saying is opinion based: I am not asking for which one you prefer. I am asking is there's some statistics or an official position from Microsoft about this.
Some of you say you cannot compare different technologies because it is like to compare programming languages. This has been done, because I am not asking to compare the technology itself but the marketshare. If you want to compare javascript with .net and abap MARKETSHARE you can use the tiobe index.
If you dont know the answer simply do not say anything, but not pretend people cannot ask things you don't know about.
Edit2: Finally I found what I was looking for.
For desktop application
42% use Windows Forms, 46% WPF and 8% UWP
More data available at http://www.telerik.com/campaigns/devcraft/net-developer-report-for-2016
WinForms is very old technology, so better choose something new.
If talk about vacancies now, I think that ASP.Net is leader. What would be in future - have no idea. Azure? ASP.Net Core?
WinRT (Windows Store 8.1 Apps) and UWP are have much in common but not extermely popular yet. Advantage is that you can write your apps already for desktop, phone, XBox, raspberry pi and more devices.
WinRT Windows 8 Apps are depricated.
WPF is nice. Better start learn .Net Core Apps (they are crossplatform)
Xamarin crossplatform apps are also popular now. You can write C# apps for Windows, iOs and Android.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about programming within the scope defined in the help center.
Closed 7 years ago.
Improve this question
I have the intention to develop a commercial, closed-source application for mobile phones.
I've choosen to start with Symbian OS, as I've got a Symbian phone as
well, and I really like it.
I would like to adopt Qt, because it's actually the way suggested by
Nokia, and because I know I could port my app quite easily to ios and
other platforms by using the Qt libraries.
So, having to make the choose between Qt and C/C++/Carbide
I have one compelling question:
do I have to pay to obtain a license for using the Qt to develop a
commercial closed-source program?
Truly, I won't to pay for using a development tool, as I'm not sure I
could return on my investment. Besides, I have also to pay to open an
account for hosting my app on the stores.
Please feel free to correct my English if it sounds bad. Thnx.
No, you don't have to pay for the Qt framework to build commercial or proprietary applications. GNU LGPL version 2.1 allows this, and Qt is licensed under this licence.
Read about the Qt licensing here.
Extract:
This version of Qt is appropriate for the development of Qt applications (proprietary or open source) provided you can comply with the terms and conditions contained in the GNU LGPL version 2.1.
Note that LGPL still has some requirements. For example, if you improve the Qt sources to provide your application a better performance or to fix a bug, you have to make the source code of your modifications available to anybody you give (sell; distribute) your application to. As this is not a bad idea per se, one may want to keep such changes private and use it as a competitive advantage.
See also FAQ on Qt licensing (thanks to Claudio for the comments).
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about programming within the scope defined in the help center.
Closed 7 years ago.
Improve this question
My company uses Qt 4.7.4 under LGPL for a commercial proprietary application.
We had to put two changes into the source code of Qt and re-build its DLLs to resolve some issues. What should we now do under LGPL? Are we to expose our source code? or do we just need to expose the Qt files we've changed? What is the nature of this "exposure"? posting them on a website?
how does that work?
LGPL is mainly meant for libraries and means that you can use Qt with "closed-source" applications, i.e. ones you do not have to divulge their source code.
Would Qt be GPL, you would have had to open-source your own app, too.
Now, LGPL also means that if you modify the sources of the library, you have to make these modifications open and public.
How this is done is not fixed in stone. If your modifications is of general interest, you should submit a patch to Code Review. see Contribute to Qt for more info.
If it is very specific to your needs, publishing the patch on your website should be sufficient.
Nothing has really changed, the Qt is still LGPL, your app is still proprietary
You have to make the modified version of the Qt sources available. The strict interpretation by GNU is that you must host your own copy of the Qt source tree that you you modified and make that available.
A more useful one, if these are just small fixes, is that you make patches to the Qt tree available. Ideally you would contribute these fixes back to the Qt source and have them adopted - which saves you from the effort of reapplying them to subsequent versions and makes it a lot easier for your users.
Hopefully with Qt moving to a more open development following the decline of Nokia this will become easier.
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 8 years ago.
Improve this question
What coding tools do you use for improving effectivness of programming in FLEX?
I found Tr.ace() AS3 Debugging Utility which help me a lot with working in a team of programmers?
frameworks like RobotLegs and others.
Signals.
What are the others?
Chris
I guess it depends how you define tools. These are some things used by me, or others I've spoken to:
ServiceCapture: This is a great program to see the packets being sent to and from the browser / Flash Player and a remote server. Charles is another common tool for this purpose; and Flash Builder now has a network monitor built in to perform the same task. ServiceCapture will also show the trace statements that your app puts out.
Step Through Debugger: The Step Through Debugger is a fantastic tool for stepping through code to figure out what happens. It's built nicely into Flash Builder; but there is a command line tool too. I assume that other Flex IDEs support this functionality.
Flash Builder: You can write code in a text editor and compile it via command line tools; but an IDE helps tremendously. Flash Buyilder is Adobe's IDE; and the one I use primarily, but others exist such as IntelliJ or FDT.
ANT: ANT is build tool that allows you to do a bunch of tasks automatically; such as compiling and automatically uploading to a server. Maven and CruiseControl are two alternate options I've heard about. I think both are much more advanced than ANT.
Subversion: Subversion is a version control system that allows you to track changes with your code. It is strongly recommended for any project; but has extra special benefits when it comes to projects with multiple people working on them. Other options are Git, and CVS.
I would like to add some thing with "www.Flextras.com" answer.
Profiling the application
Profiling an application can help you in understanding the following:
Call Frequency
Method Duration
Call Stacks
Number of Instances and their sizes at any givin point of time
Garbage collection and Loitering Objects
for More info refer the link
http://livedocs.adobe.com/flex/3/html/help.html?content=profiler_1.html
since the profiling and network monitor available to premium Flash builders.
~~~~~~~Happy Coding~~~~~~~~~
There is also
Flexformatter: This is a great plugin for Flash Builder that helps you clean up Actionscript/MXML code.
http://sourceforge.net/apps/mediawiki/flexformatter/index.php?title=Main_Page
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 7 years ago.
Improve this question
Starting a new project. It's basically a blogging/commenting system.
We're considering node.js as the back end server. Is node.js ready for this sort of thing or is it too early and experimental?
We need HTTPS and gzip compression - perhaps a front end nginx server could provide this?
What's missing from node.js that would make developing a web app difficult?
From a production ready perspective, we're wondering if it is stable enough for building a commercial app on top of.
Thanks
UPDATE:
Almost a year has passed and now I'd definitely use node.js for live systems.
It's not ready. It sure is an awesome piece of software but it's not suitable for production use yet.
The developer of node.js himself stated in a talk, that it's probably full of bugs and security issues.
This is the talk: http://www.yuiblog.com/blog/2010/05/20/video-dahl/
He recommends that IF it is to be used in a production environment, you should place it behind a stable http proxy like nginx but he discourages doing that at all.
I'll wait for a production release and until then, play with it on my local machine.
Node.js is really great. But it's complicated for a production use now. Actually, the API change several times in each version and can be change again a lot of time. So you need fix to a particular version. The migration can be painful.
I'm using it for a production site. It's been live for a few months and I've had no issues with the node runtime. Stick with the latest stable release (currently 0.2.6).
The 3rd party modules written by the community are where you may run into issues. Some modules are more stable than others. The node community has standardized on github, so it's pretty easy to fork and fix things you run into. But be prepared to roll up your sleeves and hack -- it's probable that you'll need to fix a few bugs in the modules you use.
Overall I've been happy using node.js
It's just another tool, with different pros and cons. If your project is planned carefully you shouldn't run into major problems. Node.js is a very active project and it shouldn't be long before it reaches stable. If your team finally decides to use node.js please contribute any findings / solutions / code or any kind of valuable information back to the community while you're at it. That would really help. The more people active, the faster node.js will progress.
It's still got some rough edges, but I'd say it's ready to use (I'm about to launch a production site based on it). Here's an article describing how 3 companies are using it in production.
You may still find yourself finding/fixing the occasional bug, but that's where the community really shines.
(Updated answer) On June 2013 (version 0.10.12):
Node.js is ready for production, it's stable and really fast.
I am using it on live servers with Redis, using a SmartOS VM with dtrace and flamegraph for profiling (on a dev server). It also replaced quite well my Apache/PHP stack for creating websites.
The best ways to find up-to-date modules are Nipster and npmjs.
As some modules are not mature enough, finding the right one is sometimes an iterative process.
--
(Old answer) On May 2012 (version 0.6.18):
Node.js and its API seems stable enough for production use.
However, its ecosystem isn't: most modules are not stable yet and a lot of them aren't maintained anymore (last commits from 8 to 18 months - you can check on the github pages of modules)
Currently, using a module often require an active participation: subscribing to its mailing list and patch it when needed.