Подтвердить что ты не робот

Программирование веб-приложений с помощью objective-c?

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

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

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

4b9b3361

Ответ 1

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

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

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

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

Часть просмотра полностью написана в javascript.


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

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

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

Ответ 2

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

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

Ответ 3

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

Ответ 4

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

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