Phonegap является базирующейся платформой javascript/css/html, которая предназначается для iPhone, Android и Blackberry. Это (на iPhone, по крайней мере) может быть связано как исходное приложение также. Уровень UI для этих приложений обычно создается в html/javascript и может быть медленнее, чем истинное исходное приложение.
Реагируют, Собственный компонент позволяет Вам создать события приложения мирового класса в собственных платформах с помощью последовательного опыта разработчика на основе JavaScript и Реагировать. Фокус Реагирует, Собственный компонент находится на эффективности разработчика через все платформы, о которых Вы заботитесь о —, учатся однажды, пишут где угодно. Использование Facebook Реагирует Собственный компонент в нескольких производственных приложениях и продолжит вкладывать капитал в, Реагируют Собственный компонент. UI для Реагирует, Исходные приложения являются собственными средствами управления - таким образом, Ваш UI обычно быстрее, чем чистый подход HTML/javascript для управления GUI.
Реагируют Собственный компонент
, Unity является межплатформенным игровым механизмом, разработанным Unity Technologies и используемым для разработки видеоигр для ПК, консолей, мобильных устройств и веб-сайтов. Unity известна своей способности предназначаться для игр на несколько платформ. Поддерживаемые платформы включают Android, Apple TV, BlackBerry 10, iOS, Linux, строку Nintendo 3DS, OS X, PlayStation 4, PlayStation Vita, веб-Плеер Unity (включая Facebook), Wii, Wii U, Windows Phone 8, Windows, Xbox 360 и Xbox One.
OpenFL является портом с открытым исходным кодом API Flash на Рабочий стол, Браузер, iOS, Android, Flash, HTML5, и т.д. и является опцией рассмотреть для тех, которые происходят из мира Flash. Это создает к собственным двоичным файлам и предназначается для браузеров также (Flash/HTML5).
Моноигра является реализацией с открытым исходным кодом Microsoft XNA 4.x Framework. Это облегчает для разработчиков XNA создавать межплатформенные игры с чрезвычайно высоким повторным использованием кода. Это в настоящее время поддерживает iOS, Android, Windows (и OpenGL и DirectX), Mac OS X, Linux, Windows 8 Store, Windows Phone 8, Мобильный PlayStation, и консоль OUYA.
Adobe Flash И хотите верьте, хотите нет, Adobe Flash может опубликовать собственные двоичные файлы к iOS, андроиду, рабочему столу и конечно сети. Производительность разумна, но весьма вероятна. Если у Вас была флеш-игра, можно быть в состоянии взять ее к мобильному телефону очень легко. И это не требует никаких плагинов никакого вида. Это на самом деле создает собственный автономный двоичный файл, который работает на каждой платформе.
Я считаю, что часть вашей проблемы может заключаться в том, что создание корпоративных приложений является проблемой на любом языке, а шаблоны проектирования, которые могут быть реализованы, фактически не зависят от языка.
Я бы хотел настоятельно рекомендую вам ознакомиться с «Паттернами архитектуры корпоративных приложений» Мартина Фаулера. Это основополагающая работа для любых других книг, которые вы можете позже почерпнуть и которые охватывают те же концепции в языковом формате, и если вы хотите по-настоящему понять, что требуется для создания надежных, масштабируемых приложений в Интернете, тогда вам понадобится чтобы ознакомиться с этой книгой.
В настоящее время очень распространенной и популярной стратегией проектирования веб-приложений является парадигма модель-представление-контроллер. Это полностью связано с разделением задач в вашем приложении, чтобы вы не смешивали код доступа к базе данных с выводом html.
Для довольно хорошего рассмотрения темы я бы посоветовал вам заглянуть здесь (специфично для Zend Framework, но он хорошо охватывает общую тему) и здесь для обсуждения конкретных моделей . Или, если вы хотите взглянуть на более обобщенное руководство по PHP MVC, у Расмуса Лердорфа есть один .
В дополнение к этому (и снова вы можете узнать это из PofEAA Мартина Фаулера) вам нужно будет изучить об объектно-реляционном отображении, каковы сильные и слабые стороны различных шаблонов проектирования.
К сожалению, есть много хороших способов делать что-то в зависимости от ваших потребностей, но на каждый хороший способ существует около миллиона ужасно неправильных способов.
Какие фреймворки вы исследовали? Изучите symfony, Zend Framework и CakePHP, если вы еще этого не сделали. Под изучением я имею в виду создание приложений среднего размера с использованием этих фреймворков. Простого чтения кода часто недостаточно, чтобы понять, как он работает. Вам часто приходится на самом деле использовать его и пытаться изменить.
Вы также можете почитать книгу PHP 5 Objects Patterns and Practice для некоторых идей стратегий проектирования, которые вы можете применить в своем приложении. . Вы также можете немного узнать, изучая фреймворки, написанные на других языках. Например, разработчики многих фреймворков PHP были сильно вдохновлены Ruby on Rails.
Если вы еще этого не сделали, вам следует изучить объектно-ориентированное программирование. Здесь есть действительно отличный учебник . Я думаю, что это, пожалуй, самая важная вещь, которую делают большие веб-приложения, которая не обязательно интуитивно понятна для любителя (включая меня). Уловка в фреймворках MVC, таких как Code Igniter, заключается в создании серии классов (или объектов) в виде моделей или библиотек.
Это действительно очень абстрактный вопрос, а «очень сложный» не очень конкретный. Когда я слышу, как люди говорят о «сложных» приложениях, я ассоциирую это с
a) Кто-то использует сложную архитектуру для решения простой проблемы. Например, используя все шаблоны проектирования и фреймворки, которые казались крутыми.
б) Кто-то пытался втиснуть тонны совершенно разных вариантов использования в исторически сложившееся приложение, создавая и используя проприетарные и недокументированные интерфейсы и объединяя все как можно теснее. К сожалению, МОЖЕТ создавать огромные приложения с плохой стратегией проектирования, и это делает их сложными.
c) Устаревшие системы и интеграция унаследованных систем (хорошо, см. B)
Magento может быть большим приложением, но базовая структура все еще остается Zend Framework , в основном его часть MVC. Так что чтение документации Zend_Framework также очень поможет вам понять архитектуру Magentos (я не рекомендую делать это наоборот, пытаясь копаться в Zend Framework через исходный код Magento). Я бы порекомендовал начать создавать более крупное приложение с помощью одной из фреймворков MVC самостоятельно, потому что это лучший способ изучить архитектуру, ее преимущества и ограничения.
Ну, даже если ваш вопрос касается только PHP ... Если вы обрабатываете статический контент, например изображения, с помощью PHP, это приведет к снижению производительности независимо от того, используете вы MVC или нет. Для таких вещей вам следует использовать интерфейс, такой как nginx.
посмотрите http://highscalability.com/ реальные истории из реальной жизни!
Также обратите внимание на NoSQL.