WPF or GTK ? which one is better [closed] - c#

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 11 years ago.
I'm going to start a new project with WPF, during last week I read much about it and found it quite useful. But recently I got familiar with GTK whichis Open and have most of WPF abilities.
Which one is better (in common) and is GTK a better choise for me or not?
I use .NET and my clients are using Windows (XP sp2 and above).

I use GTK on windows because windows is my favorite development platform but in production code GTK is only used on Unix (Linux/FreeBSD) platforms. Its just to bad for production code on Windows7. The umlaute key bugs were already mentionend so like to add the problems with popup windows and focus events.
Also despite it is called multiplattform on the GTK webpage the team does not care too much about Windows and MacOSX. This hostile attitude makes it much more worse and dangerous to use code. A good sign is that they simply don't came up with an easy to compile VS2010 environment. I don't understand whats so difficult to write simple makefiles.
On Windows there is no chance other then using WPF or MFC. And on MacOSX you have to use Cocoa. Windows7 and Cocoa both deprecated large parts of the theming engine, which means (and this is an explicit strategic goal) developers must use the platform GUI toolkit in the long term.

...But recently I got familiar with
GTK whichis Open and have most of WPF
abilities.
Hm, I doubt if this statement would persist a thorough analysis. WPF implements many features and abilities which are considered to be implemented by GTK some day, but if you mind waiting...
I use .NET and my clients are using
Windows (XP sp2 and above).
What? You are using .NET and consider using other presentation front-ends then those which are already perfectly integrated with the platform? That I don't understand. I assume you really mean .NET (i.e. the Microsoft implementation of CLR/CLS specification).

I had various problems with GTK because keyboard support is not trully working on Windows. Umlauts etc... are not recognized correctly. Happens in every GTK application I've on Windows, so it's not only in my application.
https://bugzilla.gnome.org/show_bug.cgi?id=371371
Because of this, GTK is never option for me on Windows (can't even use my own applications then).
WPF in contrast tries to split some tasks much more then GTK is able to. Means a designer and a programmer should be able to better split their work.

I think you get clear about your question by googling.
I think you must refer this. links.
http://www.stealthstartupblog.com/?p=23
http://trader.mikaelaldridge.com/uncategorized/wpf-vs-gtk/

Related

Best WPF alternatives for .NET 2.0 [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
i have to write a WinForm C# desktop application in .NET 2.0 to make it compatible with the majority of computers out there.
This application will ( or at least should ) have a pretty nice interface, with a lot of graphics and custom skinned controls ... since i can't use WPF ( available only starting from framework 3.5 ), what alternatives do i have if i don't want to make every control to be handled by my paint routines ( overriding OnPain ) ?
I was thinking about using some HTML rendering framework such as this one http://www.codeproject.com/Articles/32376/A-Professional-HTML-Renderer-You-Will-Use but even the best one would require modifications.
Any free alternatives/hints/whatever to make a pretty interface without WPF ?
Thanks
EDIT:
Just to clarify, the 2.0 framework is a project requirement, i can't change this thing even if i'd like to, so this is not the point of this discussion.
I'm afraid you're not going to like any answer which you might get. Your basically have two options: waste your employer's time and money by looking for an alternative to WPF, which is a Microsoft-supported industry standard for Desktop applications*, or changing the requirement of using .NET framework v2.0.
Version 3.0 of .NET was shipped together with Windows Vista, so any computer out there running Vista and above will have the .NET framework capable of running WPF. If some of your client run Windows XP, it might be possible they don't have .NET framework 3.0, it would be much easier for you to just take that chance (and supply a .NET Framework redistributable installer with your application).
Again, in both cases, I believe, you will have to explain the pros and cons to your employer (or whoever set the requirements), and let them decide.
There are some tools that will compile/link your .net application binaries so that you do not need the .net framework on client pcs.
http://spoon.net/studio
http://www.remotesoft.com/linker/
Seriously though, I would not work for an employer who does not want to upgrade their machines to .NET 4 or above.

Building a windows application. How and What? [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
Basically I wanted to know which technology and languages should I use if I wanted to build a windows application. My requirements are:
my application must be able to store data entries.
a simple GUI.
I should be able to distribute my application as an .exe file
I did some research and found out that I should use C# and wrap a mysql db in my application. Is this the correct way or is there any other and better method than this?
I am a newbie developer and have worked only with java, so please bare if its a silly question.
Aside from learning C#, as you know Java already, you can also develop a Java app and use a wrapper tool like launch4j and jsmooth to distribute it on Windows and have it configured to automatically install JRE if there's none.
There will always be arguments over the 'correct way' and whether one method is 'better' than another. Threre are also a couple of 'it depends' aspects to your question.
Having said that, yes, C# is a well recognised technology for developing windows applications, and mysql will provide a means to add database abilities to the application, so you are well on the way. (Trust your research :).
Do you intend to develop a multi user application that takes data from different sources? For this, you will need to think about deploying the database separately to the application and network/internet access etc etc. Also, if this is the case, you may want to think about a more robust database solution like sql server. There are a number of versions of this database (see here for some info: http://www.sqlmag.com/article/sql-server-2012/sql-server-2012-editions-142261).
If your application is going to be standalone, then deploying an instance of mysql within the application will work, but you may want to consider something with a smaller footprint (sql server compact, or sql lite maybe).
hth
for a newbie for such a nice and clear question. Yes you can use C# with windows form to build up your app. But You cannot pack you db inside an exe. It must be an external resource. Better go for C# with SQL Server as Sql Server is its native and has far better support than any database available. Also you have express edition of the same to use upto 10GB and most important its free....
As per my concern you can go with c# application. But nobody can tell whether it is simple to you or not. It depends on how you understand the concepts and syntax of the language. I recommend you to go with C# and MS SQL Sever Express Edition.

The latest trends in designing windows based desktop application [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I have an application written in C#, using .Net 4.0 framework. As the application is kind of an old application, so its using window forms. The application is very simple for now, it doesn't have high graphical interface like using WPF and Silverlight. I have now decided to move the application to the next level, the latest, one using current trends and great user interface. What are my options of improving this application design wise, performance wise and looks wise? Like using WPF, MS Silverlight or any other cool technology out there?
I kinda more need ideas what can I do to get to high tech application? Some examples of some cool applications would be also appreciated.
A little about the application:
Its a windows desktop application, using Access as a database used for some finance analysis.
If more information needed? Please let me know.
In short: Id say WPF is all you need technology-wise. Its really neat, i love the looks of it and its quite easy to use (especially with Expression Blend!)
On a side note:
The big issue here will be designing a good interface, not using "shinier" buttons. Currently, the UI design is getting more and more elements to it, changing to UX design. You can read about it if you google, a few links to start with:
http://msdn.microsoft.com/en-us/library/aa511258.aspx
http://wwwimages.adobe.com/www.adobe.com/content/dam/Adobe/en/industryinsights/solutions/pdfs/Forrester_Best_Prac_In_User_Exp.pdf
http://developer.android.com/design/get-started/creative-vision.html - this is about Android, but it can and should be transferred to a desktop environment
Ill use a little metaphore: Youre asking us "what kind of paint should I use for my masterpiece painting that will put Leonardo Da Vinci to shame?". Are you sure you already know what and how to do with that paint? Some artists drew masterpieces using only a single pencil, others couldnt do anything of value despite using the best tools available.

What programming language should i learn? [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 11 years ago.
I work for a manufacturing company in the configuration dept so i see alot of process related data control stuff passing me by everyday. In the past i have developed some excel vbscript programmes to manage a lot of data items through a GUI and using excel as the backend to store results, but there's only so far you can take that.
I would really like to learn how to create proper databases with GUIs, multiple user logins and workflows for approval etc, but i have no idea where to start.........any advise on desktop applications or web based applications to allow the system to be used over the internet when working abroad, would be appreciated.
Thanks.
Fergie
C# and .net would be a good place to start. C# is fairly easy to learn and visual studios offers a great development environment for it.
Java is also another way you can go. Java is multiplatform and has great functionality for integrating into a web environment.
If you're looking for a comprehensive solution for desktop apps, web apps and database development, you should definitely look into Visual Studio and .NET. It's the most "cohesive" suite of tools you can use and it sounds like you have some MS programming skills already.
This is not a programming language per se and it's cost money, but FileMaker Pro is great for what you're describing. It's a RAD tool that creates a database and GUI pretty much in the same development cycle.
We use FileMaker Pro for lot of small business software we write, we also heavily use Java, and FileMaker is at least 10 times easier/faster to build things in.
One final note, FileMaker is cross-platform for Mac and Windows, unlike C# which I see mentioned here.
This is very subjective, but based on your requirements, I'd go with C#. Both Java and C# let you develop both web and client apps, but C# integrates much more smoothly with Linux and especially Windows. Also, Visual Studio has an absolutely phenomenal debugger that will make your life much easier.

Microsoft .net, is it worth it? [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 12 years ago.
So with Microsoft .NET, you get the advantage of language interoperability. But I've heard that this is slower than native applications. What if you only need one language? Then what are the advantages. I am a C and C++ programmer, and .net seems to be heavily tied with C#. Is this the case? And is dot net portable, or tied to windows?
And lastly, is .net worth taking a look at, from the perspective of a C++ programmer who doesn't need language interoperability?
Thankyou.
Then what are the advantages ...
You get all the .NET classes.
'.NET is slow' is a misconception, along with 'Java is slow'. Yes, it used to be slower than native, and yes, you can get faster programs using hand-optimized assembly, but for nearly all cases short of core engine code for games, .NET is as fast as doing the same thing in C or C++, and can (in some cases) be faster.
You also get the huge benefit of automatic memory management (so you can new a heap object and then just forget about it), and a large class library at your disposal.
Language interoperability is one feature of .Net. It is far from the only feature in .Net. Don't forget things like advanced garbage collection, linq, improved api organization, and much more.
So with Microsoft .NET, you get the advantage of language interoperability.
This isn't the main advantage. Most people code in C#, most try to avoid working on a project using both VB and C#
But I've heard that this is slower
than native applications
.NET has memory management which may make it slower on some things. However, the classic example - games, a lot of XBox games are now written using XNA
And is dot net portable, or tied to
windows?
There is a project called Mono which has ported .NET to linux and there is a platform called MonoTouch which runs that code on iPhones.
However, broadly in its Vanilla form it is tied to the WindowsOS.
Then what are the advantages
Most people code in C# because it's a powerful language both on the web and desktop and has an easy learning curve and good tooling. It also has a powerful class library similar but more comprehensive than Java's (IMO)

Categories

Resources