Hello,
We are going to develop our application from scratch.
The application is currently written for WIN32 users only, using MFC.
The requirements asks that the application will run (in the future) on
Windows, MAC and Linux.
Is there any way to write all the code on the .NET Framework, or I should
write the core code in native C++ and write the top level modules (including
GUI) in .NET Framework (using C#), so I can use the core code in the future
on the MAC and Linux?
Thanks,
Janiv Ratson. 7 1623
You should have a look at http://www.mono-project.com/
This is an cross platform implementation of the .NET framework.
Regards,
Lionel Schiepers.
"Janiv Ratson" <janivr@gmailcom> wrote in message
news:%2****************@TK2MSFTNGP04.phx.gbl... Hello, We are going to develop our application from scratch. The application is currently written for WIN32 users only, using MFC. The requirements asks that the application will run (in the future) on Windows, MAC and Linux. Is there any way to write all the code on the .NET Framework, or I should write the core code in native C++ and write the top level modules (including GUI) in .NET Framework (using C#), so I can use the core code in the future on the MAC and Linux?
Thanks, Janiv Ratson.
Janiv Ratson wrote: Hello, We are going to develop our application from scratch. The application is currently written for WIN32 users only, using MFC. The requirements asks that the application will run (in the future) on Windows, MAC and Linux. Is there any way to write all the code on the .NET Framework, or I should write the core code in native C++ and write the top level modules (including GUI) in .NET Framework (using C#), so I can use the core code in the future on the MAC and Linux?
To be honest, if cross platform is a main requirement, I wouldn't do all
this work-around... I would switch to Java. Then you as a programmer do
not have to worry, if it will run on a certain platform, as Java nearly
runs anywhere... and Java-Applications can be based on SWT and the
Eclipse Platform, which provides already a lot of nice stuff for
applications.
I think, the time of mono & Co will come, but it is not yet that approved...
Additionaly: Just be aware, that you do not exactly know yet, what the
changes with all the new .NET 3.0/winFX stuff will be. You will have to
wait more time until the mono project also has all these implementations
migrated... or might never be able to migrate certain stuff because of
different operating systems.
Using mono or such things is only recommended for small applications,
but on real big projects I would stick to Java or as you proposed to C++
and do only the GUI stuff in .NET for Windows, in Java for Linux and Mac...
Markus
Janiv, The requirements asks that the application will run (in the future) on Windows, MAC and Linux.
Forget it than with Net. If your requirements ask this and allows you to
spend probably ten times the cost for less than 10% of the desktops, than
let it be and choose something else.
Just my thought,
Cor
"Janiv Ratson" <janivr@gmailcom> schreef in bericht
news:%2****************@TK2MSFTNGP04.phx.gbl... Hello, We are going to develop our application from scratch. The application is currently written for WIN32 users only, using MFC. The requirements asks that the application will run (in the future) on Windows, MAC and Linux. Is there any way to write all the code on the .NET Framework, or I should write the core code in native C++ and write the top level modules (including GUI) in .NET Framework (using C#), so I can use the core code in the future on the MAC and Linux?
Thanks, Janiv Ratson.
Your options for cross-platform C# development today are as follows
Windows:
MS .NET
SSCLI
Mono
MAC:
SSCLI
Mono
Linux:
Mono
SSCLI (Argueably as it really runs on BSD)
You can develop for the .NET platform on Windows and Mono on Linux and the
MAC, I do that today. Admittedly, we have run into some issues with Mono,
but only in the cases where we are doing some fancy Generics with .Net 2.0.
I have not personally used the SSCLI on anything but Windows, but I have
heard it makes a great reference platform before deploying to .NET or Mono.
Michael Cummings
Magenic Technologies
"Janiv Ratson" <janivr@gmailcom> wrote in message
news:%2****************@TK2MSFTNGP04.phx.gbl... Hello, We are going to develop our application from scratch. The application is currently written for WIN32 users only, using MFC. The requirements asks that the application will run (in the future) on Windows, MAC and Linux. Is there any way to write all the code on the .NET Framework, or I should write the core code in native C++ and write the top level modules (including GUI) in .NET Framework (using C#), so I can use the core code in the future on the MAC and Linux?
Thanks, Janiv Ratson.
The big problem with using the SSCLI in anything resembling a production
environment would be the fact that its JIT does *no* optimizing. There are
many similar performance issues with it. It is there as a roadmap to show
how things can be done.
mono on the other hand has a very nice optimizing JIT :)
People like to down play mono but many who do have not looked at it in a
long time. Yes it will be behind the main framework (as they can't start
development on something until MS finishes or atleast releases something)
but they imo have done a very good job catching up. Winforms is just about
functional .. I have loaded up some fairly substantial apps.
The other thing which should be taken into consideration when dealing with
multiple platforms is that people don't like interfaces that are not native
to their environment. This means you will likely end up with multiple front
ends (cooa#, winforms, and GTK#). I personally tend to use MVC/MVP to allow
this up front, but it should atleast be thought of early in the design
process.
Cheers,
Greg Young
MVP - C# http://codebetter.com/blogs/gregyoung
"Michael Cummings" <mi******@magenic.comwrote in message
news:O2**************@TK2MSFTNGP05.phx.gbl...
Your options for cross-platform C# development today are as follows
Windows:
MS .NET
SSCLI
Mono
MAC:
SSCLI
Mono
Linux:
Mono
SSCLI (Argueably as it really runs on BSD)
You can develop for the .NET platform on Windows and Mono on Linux and the
MAC, I do that today. Admittedly, we have run into some issues with Mono,
but only in the cases where we are doing some fancy Generics with .Net
2.0. I have not personally used the SSCLI on anything but Windows, but I
have heard it makes a great reference platform before deploying to .NET or
Mono.
Michael Cummings
Magenic Technologies
"Janiv Ratson" <janivr@gmailcomwrote in message
news:%2****************@TK2MSFTNGP04.phx.gbl...
>Hello, We are going to develop our application from scratch. The application is currently written for WIN32 users only, using MFC. The requirements asks that the application will run (in the future) on Windows, MAC and Linux. Is there any way to write all the code on the .NET Framework, or I should write the core code in native C++ and write the top level modules (including GUI) in .NET Framework (using C#), so I can use the core code in the future on the MAC and Linux?
Thanks, Janiv Ratson.
"Janiv Ratson" <janivr@gmailcomwrote
[Wants to build a Cross-Platform .Net application]
You can build cross-platform .Net code using Mono. We've been shipping
product this way for quite some time.
At Coversant, we started with the SoapBox Framework which is an XMPP SDK.
This Sdk provides a network stack suitable for sending and receiving XMPP
stanza's across a socket. This includes technologies such as TLS (and SSL),
SASL, Compression, and Xml. This framework is fully object oriented, using a
large subset of the .Net framework.
The SoapBox Framework runs just find under Mono. Through Mono our framework
runs just about everywhere: Solaris, Linux, AIX, OSX, and a number of other
platforms. It took a little bit of work to make this happen, but it can be
done. We have a single code-base, with a few (probably less than 20) "#if"
sections that do slightly different things.
Server applications and SDK type applications are a good fit for Mono.
There's some tinkering required, but it's not bad.
GUI applications can also run through Mono, although not quite as well. At
this point, our production GUI stuff is only Win32/Win64 and not Mono.
Some pitfalls:
- Mono debugging stinks. There's no good answer.
- Dump file analysis is a joke, which makes building a true production
system difficult.
- Performance Coutners and other Windows related structures don't exist.
- Use C#, don't use VB. The Mono C# compiler is much more mature than the VB
compiler.
--
Chris Mullins
Coversant, Inc
"Greg Young" wrote
People like to down play mono but many who do have not looked at it in a
long time. Yes it will be behind the main framework (as they can't start
development on something until MS finishes or atleast releases something)
but they imo have done a very good job catching up. Winforms is just about
functional .. I have loaded up some fairly substantial apps.
I agree. For most things Mono does an excellent job. It's been frustrating
at times, especially with their somewhat patchy .Net 2.0 implementation, but
overall it's very good.
The SoapBox (XMPP sdk, Server, and Client) stuff that we build at Coversant
has run on Mono from the very beginning. We've had some problems with it,
submitted a fair number of bug reports and patches, and been very happy
overall to see it continue to mature.
--
Chris Mullins
Coversant, Inc. This thread has been closed and replies have been disabled. Please start a new discussion. Similar topics
by: Karsten |
last post by:
Hi
I'm a really a new with this cross platform development, so I have some dumb
questions, which I hope you can help me with.
If there is a better newsgroup for this question, please point...
|
by: Kanthi Kiran Narisetti |
last post by:
Hi All,
I am Windows Systems Administrator(planning to migrate to Linux
administration in near future), I have occassionally written few batch
files and Vbscripts to automate my tasks.
Now I...
|
by: Web Master |
last post by:
Are there any good websites or books that deal with cross platform XML? I'd
like to target Internet Explorer/Netscape Navigator 5 or later, as well as
Opera, possibly konqueror on Linux as well.
...
|
by: cat_dog_ass |
last post by:
I am used to programming in DOS mode via Borland C++. I would now like
to create programs for the Windows envirinment. Is it absoultely
necessary to use Visual C++ to do this? Are there other tools...
|
by: peter.mosley |
last post by:
I am trying to learn GUI programming in Python, but have to confess I
am finding it difficult.
I am not an experienced programmer - just someone who from time to
time writes small programs for...
|
by: Charles |
last post by:
I'd like to develop a simple cross-platform application in C++. I'd
like it to run in Windows, OS X, PC-BSD and Linux. From my research, it
seems I should use Qt or Gtk as a graphical library. Do...
|
by: Hao |
last post by:
We are doing very intensive network communication. We collect data from
thousands of electric devices every minutes. The devices understand both
socket and web service. They are either embeded...
|
by: Mex |
last post by:
Hi,
I'm looking for a good book for beginners about Network Programming.
Besides Stevens' book, I would like something specific for C++
language. Any suggestions?
Thanks in advantage,
Massimo
|
by: Chris Stewart |
last post by:
I've always had an interest in Python and would like to dabble in it
further. I've worked on a few very small command line programs but
nothing of any complexity. I'd like to build a really...
|
by: Charles Arthur |
last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
|
by: aa123db |
last post by:
Variable and constants
Use var or let for variables and const fror constants.
Var foo ='bar';
Let foo ='bar';const baz ='bar';
Functions
function $name$ ($parameters$) {
}
...
|
by: ryjfgjl |
last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
|
by: emmanuelkatto |
last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud.
Please let me know.
Thanks!
Emmanuel
|
by: BarryA |
last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
|
by: Sonnysonu |
last post by:
This is the data of csv file
1 2 3
1 2 3
1 2 3
1 2 3
2 3
2 3
3
the lengths should be different i have to store the data by column-wise with in the specific length.
suppose the i have to...
|
by: Hystou |
last post by:
There are some requirements for setting up RAID:
1. The motherboard and BIOS support RAID configuration.
2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
|
by: marktang |
last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
|
by: jinu1996 |
last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
| |