Click here to Skip to main content
15,918,267 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
Our client decided to use Handy terminals (CASIO DT-X100-10J) and asked us to provide input support for our main desktop application through these handy terminals.

So our company decided to develop a Win CE 7 (the OS version installed in the above CASIO device) application which will read and store the data, and finally output it as CSV or some other such format. This output will be fed as input into our main desktop application which will connect to a database and store this data for later retrieval/modifications.

Now, this is the first time we are trying to create application for the embedded environment and it was decided that I would search and study about the dev environment setup and other stuff related to it. After a lot of googling, I came up with some info that we could do the development in visual studio but that we needed some additional tools.

The question that I could not get a clear solution to is whether we absolutely need the SDK provided by the manufacturer (in this case, CASIO) for the development? Wont that bind the application to the specific CASIO model? What I would like is to be able to provide our customers with something like "we support (ideally any handy terminal device OR) so and so range of devices, provided that the devices run Windows CE 7 (or some such specific version)."

I understand that the handy terminals vary in their hardware from ARM to x86/64 and also their other modules. But writing the code once and then compiling it for different platforms would be easier for future maintenance.

Is it possible at least to make a common application (and compiling/building it for different platforms) that runs on multiple handy terminals as long as the devices have the same OS version; or at least parts of it such as the UI and Business logic into a common single application?

What I have tried:

I googled about it,but all the instructions and tutorials i found were for one or the other specific device and the instructions said about getting the SDK from the OEM. Creating applications for each specific device would make future maintenance complicated and difficult.


Update:
My current dev env tools list for the above looks like this:

1) Visual Studio 2008 + SP1
2) Microsoft Windows Mobile Device Center 6.1
http://www.microsoft.com/downloads/details.aspx?FamilyId=4F68EB56-7825-43B2-AC89-2030ED98ED95&displaylang=en
3) Visual Studio 2008 SP1 patch for WEC7
https://www.microsoft.com/en-us/download/details.aspx?id=11935
4) Visual Studio 2008 SP1 patch for WEC7 (ATL)
https://www.microsoft.com/en-us/download/details.aspx?id=27729
5) Microsoft Virtual PC
https://www.microsoft.com/en-us/download/details.aspx?id=3702

Any suggestions/changes to this tools list along with the answer to the above question is deeply appreciated. Thank you.
Posted
Updated 4-Apr-16 2:12am
v3

1 solution

Windows CE 7 is a really odd "legacy system", so consider that it got killed someday!!!

To prepare for that pay attentation to "clean code". I mean that you separate portable and platform specific code. I normally use clean C++ code for that. Often helps a sound software architecture to recode not portable items. Use clean interfaces like SQL, csv or XML. Maybe some web services will help you sending data to a web server. (Security!!!) It has the advantage, that these services are available from every platfrom.

Modern development platforms are the actual Visual Studio (2015) or Xamarin which are good for portable solution, but I guess they wont support your WinCE. But you can try them out, and most important check your portable code for compilation and some errors.

My tip: Discuss with client some migration strategy for web services. It may go to Windows Mobile (10), Android or iOS. Important is how long the Casio devices will get sold and support like spare parts.
 
Share this answer
 
Comments
princektd 4-Apr-16 21:13pm    
Thank you Karsten for your fast reply.
The fact that CE7 is old is worrying, but currently, even our desktops support upto windows 8. Windows 10 support is planned for our desktop application and is on the way. The problem is that the client is still on windows 7 in the desktop, and they had some discussions with CASIO before they decided on the CASIO device. It is true that they may still change the device, but the chances of that happening are less. Also, Android and iOS are not supported by us. Our software is windows only. Our clients being Japanese, they worry about security, and they dont want to use any mobile devices except those specifically made for such use cases as their own business flow. So, most probably we will be stuck with this device in case of this particular client. Hence the need to find a solution for WinCE7. If we get a solution ready, we can influence the next client more strongly saying that we already have a solution for WinCE7.

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900