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.
Related
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 9 years ago.
I know that with .net you have Asp.net, and I know that .net it's self is a framework. How ever, I am coming from the land of Java and PHP where frameworks are aplenty.
I understand that C# and .net are usually used in business development ans that a lot of the code is not open due to the nature of MS and the platforms used to develop with such technologies.
I have scoured "C#" on github and ".net" on the same site, how ever the code bases I find, seem to be developed for a while and then fade away, and it also seems, chime in if I am wrong, that there are no frameworks for .net, aside from .net it's self. With that said I have seen Spring .net
The reason I ask is because I have recently began reading the Framework Design Guidelines book which is mostly discussing .net and .net frameworks, how ever when looking for examples on .net frameworks used in production code, I am either blind or there are none.
Are there any? If I was to develop an application is there any frameworks I could draw on aside from .net it's self.
The application could be desktop, database driven, web.....I am just looking to see what .net frameworks exist and how they are used to get a better understanding of this "closed source" world.
If you want to find a whole bunch of .NET frameworks that are open-source head on over to CodePlex, there are a ton of great, active frameworks over there.
A few other things are also open-source from the Microsoft side of things, items like reactive extensions and the such.
GitHub is great but its usage for .NET items is somewhat new-ish and hard to gauge compared to CodePlex.
There are lots of open source projects in c# from Microsoft and community.
First of all Asp.net is open source and they accept community contributions. http://aspnet.codeplex.com/
I don't know if you looked https://github.com/languages/C%23 there are also many projects like Mono , ServiceStack and NancyFx Signalr RavenDb , NServiceBus
And if you check out Nuget's package list you will also see lots of frameworks most of them are open source http://nuget.org/packages
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.
Would it be a good choice for use within a WCF service written in C#? I'm currently using FirebirdSql, but that's giving me way too many problems. Documentation and support is also horrible.
edit: Sorry, I should have been more specific when asking the question. What I meant was whether or not SQLite is a good choice for an embedded database within C#. MS SQL is out of the question for this one.
SQLite is a great platform for any language, however there are small concerns I've had with it under .NET.
It is natively compiled. This breaks .NET's AnyCPU Implementations of .NET (i.e. you have to explicitly distribute a 32bit & 64bit version of your app, and have some hand-written rules in your .csproj (MSBUILD) file to select the different dependencies based on what you select.
It has some sticky threading issues. You're going to run into trouble if you're trying to use the same DB from multiple places (multiple instances of your app) etc. It's doable, but it basically uses a simplistic form of database/table locking to achieve this, which could be a major concern based on your program.
All In all i really like SQLite, but if I could find one that didn't require a redistributable (*cough*SQL Express*cough*), I would use another embedded DBMS for .NET Apps. To date I havent found one aside from Raven DB but that's a document DB.
Edit: Note, Raven DB Is also only free for open-source applications. It's not suitable for proprietary applications unless you're willing to shell out for a licence, so when looking into it please be sure to factor it into your budget.
SQL Express always works well
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/
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)
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.
What is used instead of Maven for C# Windows Forms projects?
We have developers all over the world and are trying to come up with some dependency management system that is clean simple and fast.
There is Byldan, but the project seems quite young.
(See also Stack Overflow question Is there a Maven alternative or port for the .NET world?.)
I wrote a tutorial on the subject, Using Maven to manage .NET projects.
It seems like there has been some work done in this area with Nuget. See David Ebbo's blogpost Using NuGet without committing packages.
There are NMaven and NPanday, and they both have the same origin. They are a collection of Maven plugins that enable a Maven-like built of C# and VB.NET projects.
NMaven seems dead, this is why I use NPanday. I recently joined the team, and it is quite active. The current release is 1.1. Version 1.2 is coming soon, and we are also working on the next major release.
You should use it...
When you like Maven
You shouldn't use it...
When you like MSBuild (this will become better in 2.0)
When you need localized resource assemblies (will be fixed in 1.2)
You could just use Maven and write a plugin that integrates MSBuild.
We use Maven to manage non-Java components, such as our Flex .swf and .swc modules. Writing a Maven plugin would be less effort than recreating a comparable system just for .NET assemblies.
I would recommend using Hudson and Maven together, for that matter.