WHOiamisbecauseofYOU Ответов: 1

Создание системы устройств, используемых для ввода данных, манипулирования ими и взаимодействия с онлайн-сайтом/сайтами


Всем привет. Я решил работать над корпоративным проектом и хотел бы создать систему, которая представляла бы собой комбинацию КПК (со встроенными сканерами штрих-кода и т. Д.), Основного настольного приложения и базы данных. Я не хочу вдаваться в подробности того, что делает реальный проект, но вкратце, устройства в этой системе будут взаимодействовать таким образом, что потребуется ввод пользователя с помощью КПК, данные с которого хранятся в базе данных на основе Интернет (возможно, персональный физический накопитель, который размещен в сети и выступает в качестве сервера), к которому получают доступ все другие устройства, такие как КПК и основное приложение, и любые данные, введенные на любом из устройств, также хранятся в той же базе данных. Основное приложение также должно иметь возможность связываться с веб-сайтом для получения определенных фрагментов информации, например, на веб-сайте оно показывает количество людей, которые посетили этот веб-сайт в этот день, которое меняется каждый день, поэтому мое основное настольное приложение должно быть может указать этот номер (он связывается с онлайн-сайтом). Любое приложение для любого устройства, которое я делаю, также должно иметь возможность принимать обновления в будущем, поэтому, если мне нужно добавить функцию, я смогу сделать это без проблем и затрат времени.
Мне нужно иметь возможность создать приложение для рабочего стола windows, создать другое приложение, которое будет установлено на каждом КПК, и создать базу данных.

Из личных исследований я пришел к двум основным языкам (один и тот же язык будет использоваться для создания приложения для КПК), которые имеют как преимущества, так и недостатки.

C ++ - это язык низкого уровня, поэтому было бы идеально установить его на КПК, работающем на Windows Phone, особенно при обмене данными со сканером и другими аппаратными функциями. Я также хотел бы позже заняться программированием Arduino, которое будет использоваться вместе с этой системой, так что этот язык станет невероятно полезным, поскольку библиотеки для него в основном находятся на языках C / C ++. Для C ++ не так много ресурсов, как для C #. Условно говоря, изучение C ++ займет больше времени, хотя в данном случае это не должно быть проблемой, поскольку я готов проводить бессонные ночи, я быстро учусь, и, кроме того, время не совсем на моей стороне. C ++ не требует .NET framework, и его производительность выше.

C# - гораздо больше доступных ресурсов. Windows ориентирована и не займет больше времени, чтобы создать приложение, которое я, конечно, хочу. Это не займет много времени, чтобы узнать. Он требует .NET и также работает медленно. Он может иметь ограниченную функциональность, когда дело доходит до связи с оборудованием. В Visual Studio больше инструментов для C#, чем для C++.

Я подозреваю, что мне придется выучить следующие языки: C++ для основного приложения и для КПК, HTML5 с CSS для понимания взаимодействия с веб-сайтом, JavaScript для веб-приложений и SQL для базы данных.

Однако вопрос заключается в том, какие (другие) языки программирования я должен использовать? И как мне осуществить этот проект, чтобы достичь вышеуказанной цели? Как настроить сервер и какой язык для этого требуется? Как бы мое основное настольное приложение обслуживало такую реализацию, когда требуется связь с онлайн-сайтом с живыми данными?
Я также недавно приобрел корпоративную версию Visual Studio 2015, которая, кстати, стоит очень дорого, но, учитывая функции, которые она предоставляет, почему бы и нет. Я хотел бы использовать это как основной инструмент для всей созидательной работы. Кроме того, какую спецификацию аппаратного и программного обеспечения/ОС я должен искать в КПК, чтобы на нем можно было установить любое пользовательское корпоративное приложение, независимо от размера приложения и его сложности.

Подойдет ли этот КПК: http://www.symbol.com/product.php?Productid=231
(Нажмите на вкладку технический паспорт, чтобы просмотреть технические детали)
Я также ищу покупку двух КПК, каждый из которых стоит не более 100 фунтов стерлингов, так что если бы вы могли указать мне на них, это было бы здорово. Это может быть и вторая рука. Должен быть QWERTY вместе с тем, что вы думаете, что он должен иметь.

У меня есть некоторый опыт программирования, и я знаю основные концепции. Я хотел бы иметь прототип функционирования моей системы к началу следующего года 2017 года в январе. Я также знаю, что КПК теперь поставляются с android в качестве операционной системы, но я пытаюсь свести к минимуму количество языков, которые мне нужно выучить, поэтому, если мне придется изучать только C++ для основного приложения, я мог бы использовать тот же язык для разработки приложения для КПК.
Я приношу свои извинения, если я вызвал путаницу, поскольку мои вопросы и информация не очень хорошо структурированы.
Наконец, я еще раз приношу свои извинения за эту огромную нить. Я ценю, что вы нашли время, чтобы прочитать мою историю и ошибки, и в случае этого, пожалуйста, поправьте меня там, где я ошибся, так как я ни в коем случае не являюсь экспертом.
Я буду признателен за любой вклад, указатели на любые ресурсы, пошаговые инструкции, список компонентов, устройств и/или языков, которые мне понадобятся для выполнения этой задачи.

Примечание: это все, что я мог придумать до сих пор, но если у меня есть что-то еще добавить, дальнейшее редактирование будет сделано либо жирным шрифтом, заглавными буквами, либо подчеркнутым.

Что я уже пробовал:

Недавно установили Visual Studio 2015.

Nathan Minier

Итак, мой подходящий "быстрый ответ" таков::
Наймите разработчика программного обеспечения. Вы так далеко зашли в сорняках прямо сейчас, что у вас не будет жизнеспособного продукта в ваши временные рамки без профессионала.

WHOiamisbecauseofYOU

Привет. Спасибо за Ваш вклад в это дело. Если временные рамки не вызывали беспокойства, то как мне приступить к этому проекту и какие языки необходимы для достижения такой цели, отвечая на вопросы, которые я изложил в своей первоначальной теме выше.
спасибо еще раз.

Nathan Minier

Создайте 2 приложения.
Один для сканеров. Если есть API, предоставленный поставщиком, вы можете пропустить это, но это полностью зависит от природы и характера оборудования. Это приложение будет взаимодействовать с серверной частью, которая будет выполнять операции CRUD. Вы можете ориентироваться .NET Core с C# или C++. Я бы предложил C#, так как кривая обучения будет гораздо более постепенной. Другой вариант, если вы остановились на Android, - это Java.

Серверное приложение должно предоставлять HTTP-сервисы для приема входных данных от сканеров и предоставления форматированного вывода в виде веб-приложения. Я бы не стал утруждать себя созданием собственного приложения для настольных компьютеров, которое требует операций CRUD с базой данных, слишком много инструментов доступно для этого в качестве веб-приложения. Это похоже на простое приложение на C#, если вы уже освоились с этим стеком.

1 Ответов

Рейтинг:
0

Tacitonitus

Я поддерживаю комментарии Натана, но с уважением хотел бы также добавить:

Если вы действительно намерены сделать это в одиночку, и вы действительно "быстро учитесь", то, учитывая ваши временные рамки (6 месяцев) и ваши - осмелюсь сказать - допущенные (или, возможно, выведенные?) неопытность как программиста, я думаю, что ваш лучший выбор-это не C++ и не C#, а скорее VBA под Microsoft Access 365..

Как боковая панель, я не могу поверить, что рекомендую продукт "программное обеспечение как услуга", потому что лично я ненавижу эти вещи и надеюсь, что все они умрут быстрой смертью. Но это только я..

Вы можете использовать SQL Server для внутренней базы данных (для скорости), но передняя часть должна быть в Microsoft Access (они достаточно хорошо работают вместе, кстати), что Я думаю возможно, он уже работает на портативных устройствах (таких, как те, которые вы описали), возможно, даже повсеместно (то есть один и тот же код как для настольных, так и для КПК устройств)..

Я говорю это потому, что это не похоже на то, что скорость вообще является проблемой для вашего переднего плана, так что ... неэффективность, если хотите, MS Access не должна быть проблемой в этом отношении.

Кроме того, кривая обучения как для VBA, так и для MS Access также намного короче, чем для C#, и определенно короче, чем C++.. или C, если уж на то пошло, особенно под Windows (по чисто корпоративным причинам, разъяснение которых выходит за рамки этого ответа)..

И есть виртуальное множество элементов управления Active-X, которые могут делать для вас все, что угодно, и все они очень хорошо работают с MS Access - не в последнюю очередь это элементы управления браузером, которые могут, при небольшом исследовании и напряженной работе, автоматизировать функцию "выскабливания экрана", о которой Вы упомянули..

Но есть еще ваши временные рамки-6 месяцев.. хммм..

Ну что ж, удачи!


Nathan Minier

Я не могу поддерживать VBA как прикладную платформу. Просто включение его в систему - это огромная уязвимость безопасности, и время, потраченное на то, чтобы сделать его достаточно надежным, чтобы обрабатывать крайние случаи, не разваливаясь на куски, было бы лучше потратить с другой технологией IMO.

Tacitonitus

Ну, я думаю, что, возможно, самый богатый человек в мире не согласился бы с вашей оценкой; однако Microsoft не добралась до того, где она находится сегодня, производя хорошее программное обеспечение. Тем не менее, возможно, плакат (и/или вы) захотите быстро взглянуть на него:

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

На самом деле, по правде говоря, прочитав недавно множество статей о многих (и страшных) уязвимостях безопасности, присущих довольно многим основным используемым сегодня интернет-протоколам, я не могу сказать, что согласен с тем, что использование VBA менее безопасно, чем "веб-приложение", использующее "HTTP-сервисы", как вы предположили. Не говоря уже о том, что плакат на самом деле не упоминал никаких требований безопасности - он мог бы разработать это для полностью внутренней локальной сети, например.

Поэтому я по-прежнему считаю, что инструменты управления базами данных 2-го поколения являются хорошим вариантом для (амбициозных) проектов, подобных описанному.