Click here to Skip to main content
15,040,090 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
Hi all. I have decided to work on an enterprise project and would like to create a system, which would be a combination of PDAs (built in with barcode scanners etc.), a main desktop application and a database. I don’t want to go into the details of what the actual project does but in brief, the devices in this system would communicate in such a manner that user input would be required using a PDA from which the data is stored in database based on internet (perhaps a personal physical storage drive which is hosted online acting as a server) which is accessed by all other devices like PDAs and the main application and any data entered in any of the devices is also stored in the same database. The main application should also be able to communicate with a website to fetch certain pieces of information so for example, on a website, it shows number of people who have visited that website on that day which changes every day so my main desktop application should be able to state this number (it is communicating with an online website). Any application for any device I make should also be able to accept updates in future so if I need to add a function, I should be able to do so without hassle and any time consumption.
I need to be able to create an application for windows desktop, create another application which would be installed on every PDA and create a database.

From personal research, I arrived at two main languages (the same language will be used to create the application for PDAs) which both have advantages and disadvantages.

C++ - It is a low level language so it would be ideal to have this installed on a PDA operating on a windows phone especially when communicating with the scanner and other hardware features. I would also like to get into Arduino programming later which will be used in conjunction with this system so this language will become incredibly useful since the libraries for it are mostly in C/C++ languages. There aren’t as many resources available for C++ as there are for C#. C++ would take longer to learn relatively speaking though in this case, it shouldn’t be a problem as I am willing to spend sleepless nights and I am quick learner and furthermore, time isn’t exactly on my side. C++ does not require .NET framework and performance is superior.

C# - Far more resources available. Windows oriented and won’t take longer to build an application which is what I want of course. It won’t take much longer to learn. It requires .NET and is also slow. It could have limited functionality when it comes to communicating with hardware. More tools for C# in Visual Studio than C++.

I suspect that I would have to learn the following languages: C++ for Main application and for PDA, HTML5 with CSS for understanding of website interaction, JavaScript for web applications and SQL for database.

The question though is that what (other) programming languages should I use? And how do I go about this project in order to achieve the above objective? How do I set up the server and which language is required for this? How would my main desktop application cater for such implementation where communication with an online website is required with live data?
I have also recently acquired Visual Studio 2015 Enterprise Version which by the way costs a lot but given the functions it provides, why not. I would like to use this as the main tool for all the creation work. Also, what kind of hardware and software/OS specification should I look for in PDAs so I can have any custom enterprise application installed on it irrespective of the application size and the complication of it.

Would this PDA be suitable: http://www.symbol.com/product.php?Productid=231
(Click on data sheet tab to view the technical details)
I am also looking for purchasing two PDAs with each costing no more than £100 so if you could point them out to me, that will great. It could be second hand too. Has to have QWERTY along with whatever you think it needs to have.

I have some programming experience and am aware of the main concepts. I would like to have the prototype functioning of my system by early next year 2017 in January. I am also aware that PDAs now come with android as their OS but I am trying to minimise the amount of languages I need to learn so if I have to only learn C++ for main application, I could use the very same language to develop an application for PDA.
I apologise if I have caused confusion as my questions and information are not well structured.
Lastly, I apologise again for this humongous thread. I appreciate you have taken your time out to read my story and mistakes and in case of this, do please correct me where I have wronged as by no means am I an expert.
I will appreciate any input, pointers to any resources, step by step instructions, list of components, devices and/or languages I would need to require to carry out this objective.

Note: This is all what I could think of so far but if I have anything else to add, further edit shall be made in either bold, capital letters or emphasised.

What I have tried:

Have recently installed Visual Studio 2015.
Posted
Updated 15-Aug-16 5:44am
Comments
Nathan Minier 15-Aug-16 9:02am
   
So, my appropriate "Quick Answer" is:
Hire a software developer. You're so far in the weeds right now that you will not have a viable product in your time frame without a professional.
WHOiamisbecauseofYOU 15-Aug-16 11:43am
   
Hi. Thank you for your input in this matter. If time frame was not of a concern, then how do I go about this project and which languages are needed to accomplish such objective addressing the questions I have stated in my initial thread above.
Thank You Again.
Nathan Minier 15-Aug-16 11:51am
   
Create 2 applications.
One for the scanners. If there's an API provided by the vendor, you might be able to skip this, but that's entirely based on the nature and character of the equipment. This application would communicate with a server-side back end which would perform CRUD operations. You can target .NET Core with either C# or C++. I would suggest C# as the learning curve will be much more gradual. Your other option, if you're settled on Android, is Java.

The server side application should provide HTTP services to accept input from the scanners and provide formatted output in the form of a web application. I wouldn't bother making a native app for desktops that calls for CRUD operations on a database, there's far too many tools available to do this as a web app. This one seems like a no-brainer as a C# application, if you're already settled on that stack.

1 solution

I second Nathan's comments, but with respect, would also like to add:

If you're really intent on going it alone, and you really are a "quick learner", then given your time frame (6 months) and your - dare I say it - admitted (or perhaps inferred?) inexperience as a programmer, I think your best bet is neither C++ nor C#, but rather VBA under Microsoft Access 365..

As a sidebar, I can't believe I'm recommending a "software as a service" product, because I personally hate those things, and hope they all die a quick death. But that's just me..

You could use SQL Server for the back-end database (for speed), but the front end would all have to be in Microsoft Access (they work reasonably well together, BTW), which I'm guessing might run on portable devices by now (such as the ones you described), perhaps even ubiquitously (i.e. same code for both the desktop and the PDA devices)..

I say this because it doesn't sound like speed is an issue at all for your front end, so the.. inefficiency, if you will, of MS Access shouldn't be a problem in that regard.

Also, the learning curve for both VBA and MS Access is also a lot shorter than for C#, and definitely shorter than C++.. or C for that matter, especially under Windows (for purely Corporate reasons, an elucidation of which is beyond the scope of this reply)..

And there are a virtual plethora of Active-X controls out there that can do all sorts of things for you, that all work extremely well with MS Access - not the least of which are Browser Controls that can, with a little research and hard work, automate the 'screen-scraping' capability that you mentioned you wanted..

But then there's that time frame of yours - 6 months.. hmmm..

Well, Good luck!
   
Comments
Nathan Minier 18-Aug-16 8:17am
   
I can't back VBA as an application platform. Just enabling it on a system is a huge security vulnerability, and the time spent making it robust enough to handle edge cases without falling to pieces would be better spent with another technology IMO.
Tacitonitus 20-Aug-16 9:05am
   
Well, I think perhaps the richest man in the world would disagree with your assessment;> However, Microsoft didn't get to where it is today by producing good software. That said, perhaps the poster (and/or you) might want to take a quick look at:

http://alternativeto.net/software/microsoft-access/

Actually, truth be told, after having recently read numerous articles on the many (and scary) security vulnerabilities inherent in quite a number of the major Internet protocols in use today, I can't say that I agree that using VBA is any less secure than a "Web app" employing "HTTP services", as you have suggested. Not to mention the fact that the poster didn't actually mention any security requirements - he could be developing this for a completely in-house LAN, for example.

So I still maintain that 2nd-generation database management tools are a good option for (ambitious) projects like the one described.

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