Developing without the Emulator

  • Thread starter Thread starter Drew
  • Start date Start date
D

Drew

I think I would prefer to develop my smart devices apps without even using
the emualtor
or the actual device until the end of my development cycle. It's so damn
slow waiting for it to deploy.

When I built mobile Java applications, I would typically just develop on the
desktop
until I was ready to deploy and then test it on the device. It sometimes
looks a little different
on the device, but it's much faster for me to test.

Could I do this with a smart device application?

Would I have to have to seperate projects to do this?

I understand that the GUI would look a little different as a Windows
Application, but
it doesn't matter in the beginning - I just want to get the code working as
fast as possible.

Drew
 
You run the risk of using a method which doesn't exist in the Compact
Framework or using it in a way which is unsupported in the Compact
Framework. This might not be a problem at the end of the project, but it
could be a huge headache, too. Further, you might find that the algorithm
that you're using in your desktop code and which performs just fine on a
200BizillaHertz PC is just too slow on the Pocket PC. That's the kind of
thing that you wouldn't want to find out just at the end of the project,
when your data structures are all designed.

I'd just use the emulator, if necessary, and the real device if at all
possible...

Paul T.
 
Those are valid points.

However, why not give the developer all three options for testing:

Emulator
Actual Device
Windows Application

Since the Compact Framework is a subset of the full Framework, it should run
as a windows app.
(even though it might look a little different)

As I become more familiar with the Compact Framework, I start using the
methods I know will work and it doesn't become a problem.

I would just prefer to write my code as a windows app and then test it on
the emulator as I see fit.
It's faster for me and it kinda brakes up the monotony.

Please consider something like this in a future version of Vis Studio.

Drew
 
yep you could run directly on the desktop.
to test my controls libraries I usuall have 2 helper test project.
a "Smart" project and an ordinary windows application project.

..NET CF app work fine on .NET 1.1

however you quickly run into the following problems:
dllimport: "mscoredll" doesn't exist on the desktop
I also use the Microsoft.WindowsCE.dll, wich doesn't run on the desktop ...
so ...

anyway to speed up things, I disable compiling/deploying of many project in
my solution (just compile them individually when they change) and it's heaps
faster :-)
 
There is another reason why this was never explored. The .NETCF is not a
true subset of the desktop .NET framework. There are UI controls, for
example, that don't exist on the desktop, but do on WinCE. One example is
the SIP. If you used this control in your application, it wouldn't run on
the desktop.

I suggest using the emulator, but taking advantage of the "Save emulator
state" mechanism. That way, the .NETCF won't be re-deployed every time.
This is about as fast as you can make the emulator go, but you'll be
running the .NETCF, everything will look appropriate, and what you see will
be exactly what you'll get on a pocketpc device.

This posting is provided "AS IS" with no warranties, and confers no rights.

--------------------
| From: "Paul G. Tobey [eMVP]" <[email protected]>
| References: <[email protected]>
<[email protected]>
<ujg#[email protected]>
| Subject: Re: Developing without the Emulator
| Date: Tue, 26 Aug 2003 15:59:38 -0700
| Lines: 102
| X-Priority: 3
| X-MSMail-Priority: Normal
| X-Newsreader: Microsoft Outlook Express 6.00.2800.1158
| X-MIMEOLE: Produced By Microsoft MimeOLE V6.00.2800.1165
| Message-ID: <[email protected]>
| Newsgroups: microsoft.public.dotnet.framework.compactframework
| NNTP-Posting-Host: s2.instrument.client.aces.net 198.182.119.2
| Path: cpmsftngxa06.phx.gbl!TK2MSFTNGP08.phx.gbl!TK2MSFTNGP12.phx.gbl
| Xref: cpmsftngxa06.phx.gbl
microsoft.public.dotnet.framework.compactframework:32082
| X-Tomcat-NG: microsoft.public.dotnet.framework.compactframework
|
| The .NET CF group is a *small* group. I'm sure it's just a matter of
| prioritizing and, given that no one really expects people to *want* to run
| final application on the desktop, there are other things for them to spend
| their time on. You know: make the run-time faster or add support for
| running the applications on the desktop? I know what I'd rather have them
| work on.
|
| Having said that, I think that you might be able to run your .NET
| application on the desktop and on the device without recompiling, if
you're
| very careful about what the application does, so maybe that's a partial
| solution.
|
| Paul T.
| P.S. Don't forget that I don't, personally, work for MS...
|
| | > Those are valid points.
| >
| > However, why not give the developer all three options for testing:
| >
| > Emulator
| > Actual Device
| > Windows Application
| >
| > Since the Compact Framework is a subset of the full Framework, it should
| run
| > as a windows app.
| > (even though it might look a little different)
| >
| > As I become more familiar with the Compact Framework, I start using the
| > methods I know will work and it doesn't become a problem.
| >
| > I would just prefer to write my code as a windows app and then test it
on
| > the emulator as I see fit.
| > It's faster for me and it kinda brakes up the monotony.
| >
| > Please consider something like this in a future version of Vis Studio.
| >
| > Drew
| >
| >
| > | > > You run the risk of using a method which doesn't exist in the Compact
| > > Framework or using it in a way which is unsupported in the Compact
| > > Framework. This might not be a problem at the end of the project, but
| it
| > > could be a huge headache, too. Further, you might find that the
| algorithm
| > > that you're using in your desktop code and which performs just fine
on a
| > > 200BizillaHertz PC is just too slow on the Pocket PC. That's the kind
| of
| > > thing that you wouldn't want to find out just at the end of the
project,
| > > when your data structures are all designed.
| > >
| > > I'd just use the emulator, if necessary, and the real device if at all
| > > possible...
| > >
| > > Paul T.
| > >
| > >
| > > | > > > I think I would prefer to develop my smart devices apps without even
| > using
| > > > the emualtor
| > > > or the actual device until the end of my development cycle. It's so
| > damn
| > > > slow waiting for it to deploy.
| > > >
| > > > When I built mobile Java applications, I would typically just
develop
| on
| > > the
| > > > desktop
| > > > until I was ready to deploy and then test it on the device. It
| > sometimes
| > > > looks a little different
| > > > on the device, but it's much faster for me to test.
| > > >
| > > > Could I do this with a smart device application?
| > > >
| > > > Would I have to have to seperate projects to do this?
| > > >
| > > > I understand that the GUI would look a little different as a Windows
| > > > Application, but
| > > > it doesn't matter in the beginning - I just want to get the code
| working
| > > as
| > > > fast as possible.
| > > >
| > > > Drew
| > > >
| > > >
| > > >
| > > >
| > >
| > >
| >
| >
|
|
|
 
I think I would prefer to develop my smart devices apps without even using
the emualtor
or the actual device until the end of my development cycle. It's so damn
slow waiting for it to deploy.

When I built mobile Java applications, I would typically just develop on the
desktop
until I was ready to deploy and then test it on the device. It sometimes
looks a little different
on the device, but it's much faster for me to test.

Could I do this with a smart device application?

Would I have to have to seperate projects to do this?

I develop on the desktop and test occassionally on the ppc. I very
rarely use the emulator.

Most cf applications run on the pc as well. In my case, as I am
developing full screen games, I am not worried about the gui so it is
quite easy.

I have 2 projects, an win32 and a wince one. I place all source in a
common folder and link it to both projects. The wince one is set to
never deploy and the win32 one is my startup one. Easy under c#,
impossible under vb.net.

This doesn't work if you are doing forms though as you can't link smart
device forms into a win32 application. What you should be able to do
though is create a smart device dll that contains all source and forms.
Your wince and win32 projects then simply call a run procedure in the
dll that creates the forms etc. Again, easy under c#, impossible under
vb.net. I have done limited testing on this and it seems to work fine.

Regards

Sean
---------------------------------------
Sean Cross
mailto:[email protected]

Pics Print - The photo printing solution for Windows.
http://www.picsprint.com

http://www.Intuitex.com -
Multimedia software for Windows
Game libraries for the dot net compact framework
 
Back
Top