Начнем с утверждения, что у меня низкий опыт веб-разработки, я больше ориентирован на настольное программирование, но это может быть преимуществом, потому что у меня нет предубеждений в отношении любого решения.
Сценарий для моделирования таков. Нам нужно создать веб-приложение, которое должен быть совместим с любой мобильной ОС и устройством (или, по крайней мере, с большинством из них). Это приложение должно в основном давать пользователю возможность проверить рекламные щиты, которые он купил во время игры в бинго.
Эта игра в бинго реальна, в нее играют в зале бинго, а не в Интернете, но клиенты зала смогут через свои устройства (планшет, смартфон) подключиться к выделенной беспроводной сети для входа на купленные ими рекламные щиты. в окне и посмотреть во время игры в бинго, сколько номеров их рекламных щитов было проверено, и если они сделали cinquina (линия, пять в ряд) или бинго (полный рекламный щит, 15 номеров).
Чтобы придать немного макета модели, я представил, что лучшим решением должно быть это.
Я подумал о том, чтобы придать вес проверкам рекламных щитов только серверу, а не распространять их клиентам, потому что на этом этапе я действительно не знаю, как разнообразие устройств, которые работают в качестве клиентов, может привести к задержкам в случае, если проверка рекламных щитов должна быть перенесена от сервера к клиенту. Наиболее важным требованием является то, что в каждом случае каждое действие должно выполняться в режиме реального времени или, по крайней мере, с минимальной задержкой, не превышающей 1,5-2 секунды.
Теперь мой вопрос так же прост, как и трудно ответить: какой язык программирования лучше всего подходит для моделирования этого сценария?
Я знаю, что есть много языков программирования, даже если я знаю, что основными языками для этой конкретной ситуации будут ASP.NET, PHP, Java (и, возможно, HTML5).
Я включил HTML5 в этот список, потому что он очень хорошо ориентирован на кроссплатформенную разработку и на мобильный мир, даже если он использует (если я правильно понял) JavaScript для выполнения «грязной работы».
Я оставляю этот вопрос открытым для всех ваших соображений. Не стесняйтесь предлагать все, даже изменения в моем маленьком моделировании, о котором я говорил с вами, но самый важный вопрос всегда связан с языком программирования.
Ваш главный вопрос — разрабатывать ли нативное приложение (для Android, iOS и т. Д.) Или веб-сайт, оптимизированный для мобильного использования. Я думаю, что последнее хорошо, и в этом случае да, вы смотрите на решение HTML5. Это может сделать любой язык или фреймворк — язык используется на сервере для создания HTML, и «лучшего» не существует. Все они имеют свои сильные и слабые стороны. .NET, PHP, Java, Ruby, Python и некоторые другие! Сделайте ваш выбор.
Чтобы повысить скорость работы, вы можете поощрять клиентов подключаться к общедоступному Wi-Fi в зале для игры в бинго, а для сокращения времени ожидания вы даже можете иметь свой веб-сервер на месте. Простая стратегия обновления включает в себя JavaScript и AJAX, но посмотрите на веб-сокеты, они намного более легковесны и полезны для ситуаций непрерывного обновления.
Других решений пока нет …