The Student Room Group

Creating a System of devices used for data input, manipulation and interaction.

Hi all. I have decided to work on an enterprise project andwould like to create a system, which would be a combination of PDAs (built inwith barcode scanners etc.), a main desktop application and a database. I don’twant to go into the details of what the actual project does but in brief, thedevices in this system would communicate in such a manner that user input wouldbe required using a PDA from which the data is stored in database based oninternet (perhaps a personal physical storage drive which is hosted onlineacting as a server) which is accessed by all other devices like PDAs and themain application and any data entered in any of the devices is also stored inthe same database. The main application should also be able to communicate witha 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 whichchanges every day so my main desktop application should be able to state thisnumber (it is communicating with an online website). Any application for anydevice I make should also be able to accept updates in future so if I need toadd 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 adatabase.

From personal research, I arrived at two main languages (the same language willbe 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 tohave this installed on a PDA operating on a windows phone especially whencommunicating with the scanner and other hardware features. I would also liketo get into Arduino programming later which will be used in conjunction withthis system so this language will become incredibly useful since the librariesfor it are mostly in C/C++ languages. There aren’t as many resources availablefor C++ as there are for C#. C++ would take longer to learn relatively speakingthough in this case, it shouldn’t be a problem as I am willing to spendsleepless nights and I am quick learner and furthermore, time isn’t exactly onmy side. C++ does not require .NET framework and performance is superior.

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

I suspect that I would have to learn the followinglanguages: C++ for Main application and for PDA, HTML5 with CSS forunderstanding of website interaction, JavaScript for web applications and SQLfor database. The question though is that what (other) programminglanguages should I use? And how do I go about this project in order to achievethe above objective? How do I set up the server and which language is requiredfor this? How would my main desktop application cater for such implementationwhere communication with an online website is required with live data? I have also recently acquired Visual Studio 2015 EnterpriseVersion which by the way costs a lot but given the functions it provides, whynot. 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 PDAsso I can have any custom enterprise application installed on it irrespective ofthe 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 costingno more than £100 so if you could point them out to me, that will great. Itcould be second hand too. Has to have QWERTY along with whatever you think itneeds to have. I have some programming experience and am aware of the mainconcepts. I would like to have the prototype functioning of my system by earlynext year 2017 in January. I am also aware that PDAs now come with android astheir OS but I am trying to minimise the amount of languages I need to learn soif I have to only learn C++ for main application, I could use the very samelanguage to develop an application for PDA.I apologise if I have caused confusion as my questions andinformation are not well structured. Lastly, I apologise again for this humongous thread. Iappreciate you have taken your time out to read my story and mistakes and incase of this, do please correct me where I have wronged as by no means am I anexpert.I will appreciate any input, pointers to any resources, stepby step instructions, list of components, devices and/or languages I would needto require to carry out this objective. Note: This is all what I could think of so far but if I haveanything else to add, further edit shall be made in either bold, capitalletters or emphasised. \��h
Holy cow this was a long read :biggrin:. So if I'm correct, you have a hardware which generates some data an you want to access the data from computer software, website, and app. Why do you need a desktop software when you have a website too? Isnt it better to just use the website? Anyways this is my recommendation. To use the minimum number of languages you need to learn and frameworks, I will advice you use java. Not only is it way easier than c++, but it run of many devices. So you can use java to develop the desktop application as well as with a bit of extra knowledge make an android app for the pda you are talking about. This leaves the website and web server, for this I recommend using NodeJs, since nodejs is javascript, it removes the need to learn both php and javascript to develop the website and server. The same nodejs server can host the website as well as provide an api which the apps (pda&desktop) can access. If you want real time data transfer and dont want to implement it yourself, you can use firebase. Firebase is provides storage as well as real time communication without you having to do much at all, so your data can update in real time on both the apps and websites. Or to implement your own with nodejs, you can use mongodb database and socket.io library, its not really hard to implement but does the exact same thing as firebase so I'd rather avoid the hassle and use firebase. However you still need to learn some basic c++ to do the arduino stuff but yeah this is what I recommend. Feel free to ask any questions.
Original post by bigboateng_
Holy cow this was a long read :biggrin:. So if I'm correct, you have a hardware which generates some data an you want to access the data from computer software, website, and app. Why do you need a desktop software when you have a website too? Isnt it better to just use the website? Anyways this is my recommendation. To use the minimum number of languages you need to learn and frameworks, I will advice you use java. Not only is it way easier than c++, but it run of many devices. So you can use java to develop the desktop application as well as with a bit of extra knowledge make an android app for the pda you are talking about. This leaves the website and web server, for this I recommend using NodeJs, since nodejs is javascript, it removes the need to learn both php and javascript to develop the website and server. The same nodejs server can host the website as well as provide an api which the apps (pda&desktop) can access. If you want real time data transfer and dont want to implement it yourself, you can use firebase. Firebase is provides storage as well as real time communication without you having to do much at all, so your data can update in real time on both the apps and websites. Or to implement your own with nodejs, you can use mongodb database and socket.io library, its not really hard to implement but does the exact same thing as firebase so I'd rather avoid the hassle and use firebase. However you still need to learn some basic c++ to do the arduino stuff but yeah this is what I recommend. Feel free to ask any questions.


I am ever so grateful of your valuable advice. I shall take a note of what you have said and have your name next to it and my apologies for making it so long to read. You mostly understood my question but I will explain it again. But briefly hahaI am not looking to make a web application. I only ever want to make three types of applications. One main desktop application (headquarters), second application for the PDA devices and third, it wouldn't exactly be an application but rather a database to manipulate data.PDAs (1D & 2D barcode scanners) with android OS are very expensive. A single unit would cost me on average £500.Where as these

http://www.ebay.co.uk/sch/i.html?_from=R40&_trksid=p2050601.m570.l1313.TR10.TRC0.A0.H0.Xmotorola+PDA.TRS0&_nkw=motorola+PDA&_sacat=0

..don't cost as much and have windows mobile as their OS.

A user would scan a barcode using PDA, which will show specific type of information. The user will enter their own information. All of this data will then be saved in the database which can be accessed by the Main Desktop Application (MDA). Some information entered in MDA will also be visible across all the PDA devices. In regards to clearing the website confusion, the MDA will be hooked on (somehow) to a website, http://www.codeproject.com/ for this example, and this MDA will display the number which shows members online which is located on top left corner of the website. This number is live so of course it will keep changing so MDA should also be able to cater for that showing exactly what is shown on the website. All the other PDAs will also have the same functionality where this number is shown.
And since the PDA is running on windows mobile, isn't it best to just stick with C++. I will have the same programming skills to develop another app but for PDAs this time. Just like what you suggested with Java. And should I stick with C++ over C# if you think this is suitable at all. Thank You again.
(edited 7 years ago)

Quick Reply

Latest

Trending

Trending