Монокасание или Титан для быстрой разработки приложений на iPhone?

Прочитайте их внутри вашего контроллера, преобразуйте их в массив и вернитесь в представление. Там вы можете использовать ветку с циклом for для отображения индекса и значения.

https://twig.symfony.com/doc/2.x/tags/for.html

27
задан johnc 13 April 2010 в 04:18
поделиться

6 ответов

Как и любой вопрос, какой-инструмент-или-платформа-или-язык-или-структура-или что-то еще, он должен действительно сводиться к тому, вы хотите.

Забудьте все советы, если вы хотите разработать для этой платформы, тогда вам придется платить свои взносы. Если вы заинтересованы в изучении Objective-C, Xcode и связанных с ним битов Apple, то goferit. Я сделал. Было весело, но мой интерес был связан с разработкой приложений для iPhone. Изучение нового языка, фреймворка и IDE было просто бонусом (мне это нравится). Это было также необходимо, когда я начинал.

Я работаю с MonoTouch с момента его выпуска, и мне это нравится. Я предпочитаю C # Objective-C, и мне нравится иметь доступ к подмножеству среды .Net (Mono), которую предоставляет MonoTouch. Есть определенные вещи, с которыми проще справиться. Net, чем Cocoa (манипуляции со строками, датами, что-нибудь XML и т. Д.).

Мне также нравится больше не иметь дело с подсчетом ссылок. Я был избалован годами отсутствия необходимости отслеживать ресурсы на таком уровне. Я не против того, чтобы убирать за собой, но я не хочу вручную делать что-то, что любая другая современная платформа разработки, которую я использовал, делает за меня автоматически. Кроме того, даже для опытных разработчиков Objective-C подсчет ссылок не является легкой задачей. Просмотрите вывод консоли OS X когда-нибудь, чтобы увидеть, сколько приложений вылетает из-за проблем с управлением памятью (я знаю - это может произойти практически с любым приложением, но это '' Намного легче делать ошибки, которые приводят к этой ситуации, когда вы перегружаетесь работой разработчиков, чье внимание было разрушено двенадцатью часами, если это, и если то, и еще то и еще то и бла-бла-бла).

Я все еще используйте Objective-C / Xcode - я действительно научился любить инструменты Apple. Я честно считаю, что они неудобны и немного загадочны, но все же забавны.

Но ... тогда мне также нравится это:

public string SomeString { get; set; }

Чтобы сделать то же самое с Objective-C (во всяком случае на iPhone), требуется, чтобы вы объявляете локальную переменную для поддержки свойства, пишете объявление свойства, а затем используете директиву «синтезировать», чтобы свойство было сгенерировано для вас (в зависимости от того, какие атрибуты свойства вы укажете, у вас может быть свойство, которое обертывает геттеры и сеттеры, позаботьтесь о подсчете ссылок - в целом, это экономит время, но C # Way здесь явный победитель).

Это всего лишь один пример того, как MonoTouch может облегчить вашу жизнь, особенно если вы привыкли к .Net / Java / Python / другие языки, которые не требуют, чтобы вы пачкали пальцы с помощью управления памятью (если вы не хотите).

Что касается iPhone, кроме переноса части .Net на iPhone world пространство имен MonoTouch сопоставляется с CocoaTouch, поэтому, если вы запутались, скажем, с MonoTouch UIViewController, вы можете просто перейти к документации Apple в UIViewController. MonoTouch .Net-ize CocoaTouch, но он достаточно близок, чтобы вы вряд ли ударились о стену (это также не ударило бы, если бы вы использовали Xcode / Objective-C).

Титан - другое дело. С тех пор они' при повторной попытке ( при попытке ) создать уровень абстракции, позволяющий писать одно и то же приложение для нескольких платформ, вы столкнетесь с обычными недостатками: совершенно разные API, потеря гибкости (то же самое может быть сказал о MonoTouch, но не удаленно в такой же степени), и в основном необходимость изучить совершенно новую платформу (чего вы пытаетесь избежать, обходя Xcode / Objective-C / CocoaTouch, верно?)

Я также ненавижу JavaScript, поэтому буду настроен против Titanium. Но даже если бы это было не так - даже если бы я мог использовать язык, который мне нравится, - API-интерфейсы мне не по вкусу. Или что угодно.

Независимо от того, какие инструменты разработчика вы выберете, вам в конечном итоге придется что-то узнать о CocoaTouch. Будь то Xcode / Objective-C, MonoTouch или Titanium, что-то может сломаться или пойти не так с вами, и вам в конечном итоге придется обратиться к документации CocoaTouch.

Если бы я выступал с докладом о разработке iPhone (который у меня есть, и что я буду делать снова), и если бы мне пришлось обсуждать альтернативы инструментам разработки Apple (что я и буду), я бы все равно настоятельно рекомендовал разработчикам хотя бы поработать с несколькими базовыми приложениями для iPhone, используя собственные инструменты. Это сделает вас лучшим разработчиком для платформы - точка. И вы можете использовать эту начальную фазу, чтобы определить, хотите ли вы даже , чтобы использовал что-либо, кроме бесплатных битов, поставляемых Apple. Вы не могли бы. Я использую MonoTouch, потому что мне это нравится, а не потому, что это необходимо.

Итак, резюмируем несколько основных критериев:

  • Предпочтение (язык / фреймворки)

  • Устройства (вы заботитесь о платформах, отличных от iPhone, или думаете, что когда-нибудь сможете?)

  • Комфорт (если вам нравится и вы знаете C # НАМНОГО лучше, чем Objective-C, нет причин не использовать MonoTouch)

И не слушайте скептиков, если они действительно не использовали технологию, о которой они говорят. Например, я читал о Titanium, но у меня нет опыта с ним - я просто знаю, что не хочу иметь с ним ничего общего из-за моих предпочтений. Это не делает его «плохим» - просто то, чего я не хочу в своей жизни.

Толпа Objective-C может быть впечатляюще рьяной. Несмотря на то, что в нем много непредубежденных разработчиков, есть так, так, так что многие, кто думают, что Objective-C и Какао и бла-бла-бла - это ПОСЛЕДНИЕ инструменты, которые когда-либо понадобятся разработчикам.

Игнорируйте их.

Если вы беспокоитесь о поддержке, вот некоторые вещи, которые нужно подумайте:

  • Apple, скорее всего, останется актуальной, поскольку они производят этот хлам.

  • MonoTouch, вероятно, останется актуальным - наблюдатели Mono проделали потрясающую работу, не отставая от Microsoft, и я не вижу причин почему они не сделают то же самое с Apple. Я потрясен тем, что они делают. И, несмотря на то, что MonoTouch был выпущен примерно пять минут назад, у них уже есть обновление для iPhone 3.1. Они серьезно относятся к этому, и я думаю, что они волшебные. Это эльфы Киблера из мира разработчиков. Они сидят в своих секретных слоях и делают то, что нравится всем (ну, не всем), но никто другой даже не попытался бы это сделать.

  • Titanium либо станет неудобным унифицированным API для написания приложений для нескольких платформ, что является полностью самостоятельным делом, либо станет все более и более раздробленным, поскольку возможности разных платформы расходятся. Да, это набор типичных ботанических взглядов в будущее ... Мне следовало бы поставить перед этим маркером следующее: «Я считаю, что ...» Если бы только был способ вернуться и изменить это.

Я » А теперь заткнусь.

Иди с тем, что тебе нравится. MonoTouch - это «безопасная» альтернатива вещам Apple. Боюсь, что Titanium пойдет по той же старой дороге, что и многие другие технологии: упс-это-супер-высокий уровень-платформа-уровень-абстракция-материал-не-реально-работает. Но если вы делаете что-то простое, то вот

96
ответ дан 28 November 2019 в 04:05
поделиться

Я знаю, что это старая тема, но в интересах сохранения актуальности похоже, что MonoTouch и другие кроссплатформенные платформы будут запрещены в SDK 4.0 . Ваша единственная «безопасная» ставка для написания приложений для iPhone - это использовать XCode и Objective-C, по крайней мере, на данный момент.

2
ответ дан shosti 28 November 2019 в 04:05
поделиться

Есть множество способов попасть на устройство. Apple заявила в лицензии SDK, что единственный одобренный способ получить доступ к устройству - это через C, C ++, ObjectiveC и Javascript.

На данный момент кажется, что приложения, созданные на MonoTouch и Appcelerator Titanium, принимаются в App Store. Благодаря изменению лицензии, существует много страха, неуверенности и сомнений по этому вопросу. Apple напугала всех, кто не выполняет ObjectiveC.

Я бы посоветовал вам делать то, что больше всего подходит для вас как разработчика. Если вы знаете C # и .NET, вам следует использовать MonoTouch. Если вы знаете ObjectiveC или платформу Mac, возможно, ObjectiveC - это то, что вам нужно. Если вы знаете, что X и он есть на iPhone, я бы посоветовал посмотреть в первую очередь на X.

0
ответ дан KatieK 28 November 2019 в 04:05
поделиться

Это забавные и интересные способы создания приложений для iPhone. Но для действительно быстрой разработки нативного iPhone лучше всего использовать бесплатный iPhone SDK и Xcode.

Если честно, сложнее всего изучить возможности самих фреймворков, а НЕ синтаксис языка. Но это проблема, которую вы должны решить в любом случае, поскольку эти IDE / языки по-прежнему требуют, чтобы вы усвоили некоторые соглашения Cocoa (и Cocoa Touch).

Я не говорю это как сноб Cocoa / Objective-C, но если вы знакомы с C (а как разработчик C # вы знаете), на самом деле нет никаких препятствий для входа.

Кроме того, у вас будет доступ к множеству руководств и примеров кода, которые просто не будут доступны для этих молодых переводчиков / IDE / языков.

Изучение другого языка программирования редко бывает плохим,

4
ответ дан 28 November 2019 в 04:05
поделиться

I вроде как идея предоставить средства для быстрого освоения iPhone Dev с техно, которые люди уже знают. Лично я как разработчик Java использую iSPectrum ( http://www.flexycore.com ). Он также поставляется с IDE, отладчиком и прочим, что делает его действительно удобным для разработки, поскольку он использует всю мощь подключаемого модуля Eclipse Java. Будучи основанным на Java, это также позволяет легко повторно использовать уже существующий код из других java-приложений, что может быть очень удобно, если Java присутствует почти на всех платформах (как настольных, так и мобильных), кроме iPhone. {{1 }} Плюс это бесплатно для проектов с открытым исходным кодом.

Я бы предпочел рассмотреть такие решения, потому что мне не нравится идея возвращаться к разработке в emacs :).

2
ответ дан 28 November 2019 в 04:05
поделиться

Если вы программист на C #, почему бы вам не потратить некоторое время на изучение Objective C. Честно говоря, это не займет у вас много времени. Но вам приятно работать на новой платформе с новым языком. Меня всегда увлекает изучение нового.

1
ответ дан 28 November 2019 в 04:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: