среда, 11 июня 2014 г.

Написание модели для iOS

Все-таки написание модели для нового проекта полностью на Objective-C++ оказалось не такой хорошей идеей как это казалось на первый взгляд. Конечно, работа со строками, коллекциями и алгоритмами намного приятнее на С++ чем на Objective-C в связи с строгой проверкой типов, но возникли непредвиденные осложнения:

  • очень не удобно (многословно) преобразовывать между std::string и NSString*
  • фактическое отсутствие в С++ на уровне языка удобного механизма сериализации (в отличии от objective-c)
  • очень слабая поддержка в XCode Objective-C++ (например не работает рефакторинг, не очень удобно создавать новые файлы). Тут очень помогает AppCode последней версии, но у него хватает своих недостатков: например после выхода XCode 6 preview он опять безнадежно устарел
  • Для Core Data невозможно генерировать классы на С++ (что ожидаемо) - а это в итоге получается довольно большая часть модели
  • ARC все-таки намного менее многословно чем smart pointers :).
 Недавний выход Swift собственно показал, какой теперь самый удобный язык для написания приложений для ios - замыкания, статическая проверка типов, функциональность, продвинутые enums, pattern matching, вывод типов. В общем очень много напоминает Scala, что не может не радовать. Как итог кажется, что весь новый код стоит уже пробовать писать на Swift,  и старый код на Objective-C++ потихоньку переводить на новый язык, благо интеграция между языками очень хорошая.

Комментариев нет:

Отправить комментарий