Друзья,
Ваш технологический стек - это веревка, которая спасет вас или повесит. Для стартапа веб-сервиса из одного человека - что это за веревка?
Платформа: Google App Engine, Серверная часть: хранилище данных Google App Engine, Уровень обслуживания: Java, Внешний интерфейс: Adobe Flex
Фреймворк интеграции клиент / сервис: GraniteDS, Фреймворк клиентского приложения: Tide (часть стека GraniteDS), Фреймворк сервисного приложения: Spring
Хорошо, позвольте мне рассказать вам свой контекст.
Flextras прав! Технологии в основном выбираются из-за знаний / инфраструктуры ... Вот как я закончил список, приведенный выше:
Прежде всего: мне нравится FLEX. Создавать многофункциональные пользовательские интерфейсы легко, и Adobe продвигает их в направлении настольных компьютеров, Интернета и устройств. Маркетинг Adobe дает нам обещание: «Интегрировать с другими инструментами в творческом наборе» и «Развернуть повсюду». (Конечно, это слишком хорошо, чтобы быть правдой, но, похоже, они на правильном пути.) Итак, давайте выберем FLEX в качестве нашей инфраструктуры пользовательского интерфейса.
FLEX часто необходимо интегрировать с серверными технологиями. Итак, какую технологию выбрать для уровня обслуживания? Я знаю PHP давно, но динамичный, нетипизированный язык ощущается как некорректная работа бок о бок с флексом.
Flex черпает вдохновение из Java. И думать на ActionScript и думать на Java кажется правильным. (Я изучал Scala, но инструментов и передовых методов пока нет, чтобы кто-то вроде меня принял этот замечательный новый язык). Я выбрал java, надеясь, что он сделает шаблоны и знания повторно используемыми между серверным программированием и программированием на стороне клиента.
Проблема с java заключается в ее сложности и в том, что ее сложнее развернуть (PHP можно легко развернуть в дешевом веб-отеле). Моя идея - это тест, и мне не нужны затраты и серверы (а кому?). Я хочу сосредоточиться на изучении своих идей. Итак, я смотрю на Google App Engine, который предлагает бесплатную квоту Java для запускаемых веб-приложений.
Проблема с движком Google App заключается в том, что это ограничительная модель песочницы, и многие фреймворки не развертываются как есть.
Мне нужна технологическая линия, которая будет работать вместе с минимальным количеством взломов. И здесь я прошу вас поделиться опытом, который поможет мне выбрать подходящие фреймворки для интеграции FLEX с Java в движке Google App.
Я хочу использовать строго типизированные объекты от сервера к клиенту, поэтому ищу решение AMF. Судя по форумам, BlazeDS требует взлома, Pimento / Cinnamon не работает, Weborb или Adobe Livecykle не бесплатны. Однако GraniteDS, похоже, будет работать в магазине приложений Google без исправлений.
GraniteDS поставляется с клиентской структурой под названием Tide, которая интегрируется с серверными технологиями. Но снова Google App Engine - это ограничительная среда. Seam (который лучше всего интегрируется с Tide) - это отличная работа для движка приложений Google. EJB3 или CDI - это технологии Java EE 6, которые не поддерживаются Jetty (контейнер сервлетов, на котором работает Google App Engine). Однако Spring швы как жизнеспособный кандидат.
У движка приложений Google нет реляционной базы данных, но есть интерфейс. Это новое хранилище данных за интерфейсом JPA, которое поддерживает Spring и Tide (GraniteDS).
Не уверен, что вся эта бессвязная болтовня делает кого-нибудь из нас мудрее.
Я спрашиваю вот что: от FLEX до Google App Store, какая технология дает мне меньше всего повеситься? Я предлагаю Tide / GraniteDS / Java / Spring / JPA. Но что я знаю, пока не попробую.