Программирование веб-приложений с использованием target-c? - PullRequest
19 голосов
/ 05 октября 2009

Просто скажите, что у вас есть довольно большое и сложное настольное приложение, написанное на target-c / cocoa, написанное правильно в MVC. Затем вы хотите заменить V и C на веб-приложение?

Есть ли что-нибудь подобное Tomcat, кроме цели c? Самое близкое, что я могу придумать, это каким-то образом преобразовать код модели в модуль apache для загрузки в apache?

Очевидно, что я мог бы встроить какой-то HTTP-сервер и написать целую кучу кода для управления сессиями, запросами, ответами и т. Д., Но может ли быть более простой способ?

Ответы [ 5 ]

11 голосов
/ 05 октября 2009

Вы можете оставить сервер почти как есть. Я бы запустил его как демон в фоновом режиме.

Я бы разделил часть контроллера. Одна его часть находится на сервере как соединение между HTTP-запросами и демоном.

  • Вы можете запустить самодельный http-сервер.
  • Вы можете встроить его в модуль Apache, как вы упомянули.
  • Вы можете получить доступ к вашему контроллеру через CGI. На мой взгляд, это самый простой вариант.

Вторая часть контроллера написана на Javascript в браузере, обменивается данными с сервером и обновляет графический интерфейс.

Часть представления полностью написана на JavaScript.


  • Вы можете - если хотите - оставить контроллер на сервере и заставить модель понимать запросы HTTP.

  • Для части Controller / View рассмотрите использование фреймворка.

    • jQuery только для легкого интерфейса. (Или аналогичные рамки.)
    • Я еще не нашел фреймворк, который оставляет все вещи модели серверу. Возможно, вы можете использовать SproutCore или Cappuccino соответственно.
    • SproutCore , полностью поддерживаемая инфраструктура MVC, используемая Apple. (По крайней мере, так.)
    • Cappuccino , еще один полноценный MVC-фреймворк.
6 голосов
/ 05 октября 2009

Вы смотрели на капучино? http://cappuccino.org/

Я не использовал, но слышал много хорошего об этом.

3 голосов
/ 11 января 2010

Существует новая платформа веб-разработки для Objective-C / Cocoa под названием Bombax. Это звучит как то, что вы ищете (он предназначен для того, чтобы вы могли писать целые веб-приложения в Objective-C) Возможно, вы могли бы даже совместить это с капучино. Вы можете проверить это в http://www.bombaxtic.com.

1 голос
/ 31 марта 2011

Есть Frothkit - http://code.google.com/p/frothkit/, но, похоже, он не обновлялся в течение года.

1 голос
/ 05 октября 2009

Наиболее близкими вы, вероятно, окажетесь к веб-фреймворкам Objective-C: SOPE или GNUStep , которые я не использовал, но столкнулся, когда решал Я хотел использовать Rails или что-то написанное в Objective-C для моего веб-контента. Также есть ARJDatabase , которая похожа на Core Data, но не совместима с исходным кодом.

Суть в том, что, если вы не очень внимательно относитесь к тому, как вы написали свой код (т.е. написал его с учетом GNUStep, не использовали ничего специфического для Apple), вам, вероятно, придется проделать немало работы тем не мение. И если вы вообще использовали Core Data, я не знаю, как использовать это за пределами Mac-приложения. И поскольку мои несколько пользователей одновременно не настроены, вы все равно не захотите использовать это в веб-приложении. Итог, я пошел с Rails.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...