0

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

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

Моим первым решением является выбор рамок и языков на стороне сервера (и/или на стороне клиента). Я думаю, что это очень важно, так как мне придется инвестировать много работы/времени в этот проект, и я бы очень хотел, чтобы я не стал начинать с нуля, потому что я выбрал неправильные методы.

В настоящее время я не совсем понимаю, в какой степени я хотел бы, чтобы приложение выполнялось на стороне клиента или на стороне сервера. Но я полагаю, это зависит от выбранной структуры (ов) и языка (ов). Мое текущее намерение - запустить приложение в основном на стороне сервера (по крайней мере, алгоритмы и логика приложения). Я хочу избегать браузеров (например, Flash и Silverlight).

В настоящее время на сервере, который будет использоваться для приложения, в основном работают приложения PHP (особенно Wordpress), размещенные в Linux/Apache. Таким образом, языки/фреймворки, работающие на Linux/Apache, будут преимуществом, поскольку их легче интегрировать в существующий сайт. Однако у меня также есть Microsoft IIS (для чего, вероятно, нужны iframe для интеграции приложения на существующий веб-сайт WP).

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

Возможно, кто-то может дать мне несколько советов, какие технологии я должен исследовать в первую очередь.

+0

Поскольку это не будет полный ответ, я дам только комментарий. Знаете ли вы, что вы можете писать на определенных языках программирования и [скомпилировать их на JavaScript] (https://github.com/jashkenas/coffee-script/wiki/List-of-languages-that-compile-to-JS). Причина, по которой я предлагаю это, - это то, что JavaScript с HTML должен заботиться обо всех ваших клиентских требованиях и позволить вам разрабатывать приложение на одном основном языке с требованиями, которые у вас есть на стороне сервера. –

+0

Есть ли способ, позволяющий записывать как клиентский код, так и код на стороне сервера с помощью одного lanuage/технологии?Я полагаю, что язык/технология, которая поддерживает обе стороны одинаково и не разделяет их, может многое помочь. Особенно с IDE, предназначенным для такого двойного развития. Будучи разработчиком настольных приложений, я использую интегрированную, но все же модульную разработку и обработку клиентских/серверных веб-приложений, поскольку интегрированные проекты могут мне очень помочь. – Silicomancer

ответ

1

Похоже, что у вас есть база данных mysql, и вы знаете php и можете писать C++. Загляните в dhtmlx (http://dhtmlx.com/), это добавит вас в почти 100% среду javascript и создаст приятное веб-приложение.

Начните с изучения того, как создать страницу с полноэкранным макетом. Затем добавьте компоненты (панель инструментов, сетка, диаграмма и т. Д.) В макет.

Вы пишете около 10 строк html-кода, а все остальное написано на javascript.

+0

Звучит интересно. Я быстро посмотрел в Википедии, и он говорит, что «библиотека полностью клиентская». Если это так, как я скрою логику и алгоритмы приложения? – Silicomancer

+0

dhtmlx - это слой презентации, похожий на html. Оба не могут быть скрыты, так как вы можете «просмотреть источник». Вам все равно понадобится средний слой или что-то, чтобы извлечь данные из базы данных и собрать в jason (или xml или jsarray) объект и доставить в браузер. Многие люди используют PHP для этого. Этот код можно скрывать от браузера. Вы можете найти что-то, что позволяет вам писать C++ или аналогичный код в среднем слое. Надеюсь, это имеет смысл ... –