Preworking 3: Языки и управление памятью.

P

Думаю, стоит сразу начать с плохого. Да, в рамках подготовки именно к работе вам необходимо знать как Swift так и Objective-C. Мы уже рассказывали о проблеме выбора между языками. Не повторяясь скажу еще раз — для работы вам необходимы оба.

Языки: Swift должен быть приоритетным, но Objective-C по-прежнему важен

По теме противостояния языков было сказано нереально много, и даже нами:

На мой взгляд, Swift станет куда более важным, чем Objective-C. В некотором роде так уже и случилось и каждый разработчик iOS должен знать этот язык. А так как Swift куда проще в изучении, то он идеально подойдет как первый язык и для новичков.

Но не учить Objective-C было бы большой ошибкой. В Appstore львиная доля всех приложений именно на этом языке. И как серьезный разработчик вы должны быть в состоянии поддерживать эти проекты, потому что переводить с одного языка на другой — глупая затея, если вы не решили переписывать приложение с нуля.

Много библиотек и фреймворков написаны под Objective-C. Правда в эти годы все больше и больше библиотек появляются на Swift, но это все равно не повод расслабляться.

И, в конце концов, Objective-C не такой страшный и ветхий язык, каким его рисует воображение. Это замечательный язык, которому все еще стоит научиться.

Языки: Как же осилить два языка?

Если вы новичок в iOS программировании, то это конечно трудно. И изучение двух языков одновременно крайне не рекомендуется, так как это сильно будет сбивать с толку. Я думаю, что вы должны обязательно начать с Swift. Как только вы достигнете той точки, в которой будете чувствовать, что можете писать код, не заморачиваясь над деталями синтаксиса — переходите на Objective-C.

Я не могу позволить превратить статью в учебник, а поэтому не здесь учить вас обоим языкам. Но я считаю, что обязательное напутствие я дать обязан. Во-первых, добавив в друзья один полезный контакт ВК, вы сможете получить доступ к стене, на которой найдете все что необходимо для изучения обоих языков и в частности Swjft. Так же я настойчиво рекоментую ознакомится с официальным справочником по языку от Apple. Кроме этого, на нашем сайте вы найдете краткую обновляющуюся шпаргалку по Swift последней версии. И напоследок, вы можете посмотреть шпаргалку по Swift от Ray Wenderlich.

swift

Так же вы можете ознакомится с этим материалом с Github.

Что касается Objective-C, то я опять же пошлю вас изучать его основы к Apple. Кроме этого, вы можете смело использовать в целях изучения абсолютно все уроки, доступные на данный момент, так как язык за эти годы почти не менялся. Для старта изучения Objective-C идеально подойдет книга Аарона Хиллегасса, по которой, кстати, я впервые окунулся в мир iOS программирования. И у Rey Wenderlich найдется шпаргалка и для Objective-C =) swift

Так же вы можете ознакомится с этим материалом с Github.

Управление памятью: Введение

Управление памятью приложения, во время выполнения программы — процесс выделения памяти под объекты, и освобождение ее после использования. Хорошо написанная программа использует мало памяти, на сколько это возможно. В это также может рассматриваться как способ распределения ограниченного объема памяти между различными частями кода и данных.

swift

Objective-C предоставляет три метода управления памятью:

  1. MRR — вы явно управляете памятью, отслеживая объекты, которые у вас есть. Это реализуется с помощью модели, известной как подсчет ссылок, что Foundation класса NSObject обеспечивает совместно со средой выполнения.
  2. В Automatic Reference Counting (автоматическом подсчете ссылок), или ARC, система использует тот же подсчет ссылок, что и система MRR, но он вставляет соответствующий вызов метода управления памятью за вас во время компиляции. Вам настоятельно рекомендуется использовать ARC для новых проектов. Если вы используете ARC, обычно нет необходимости, понимать внутреннюю реализацию описанную в этом документе, хотя она может быть полезной в некоторых ситуациях.
  3. В garbage collection (сборе мусора), система автоматически отслеживает, какие объекты владеют другими объектами. Затем она автоматически освобождает (или собирает мусор) объекты, на которые больше не ссылаются. Метод использует другой механизм, нежели, чем у используемых в MRR и ARC, и поддерживается только в среде выполнения на Mac OS X, а не IOS.

Если вы планируете писать код для IOS, вы должны использовать явное управление памятью. Кроме того, если вы планируете создавать библиотеки подпрограмм, плагины, или общий код, который может быть загружен в любом процессе со сборкой мусора или без сбора мусора, вы можете написать свой код с помощью методов управления памятью.

Это была выдержка из замечательной серии статей по упралению памятью в iOS приложении для Objective-C.

Прочитать про управление памятью для Swift вы можете в официальном руководстве Apple.

Вас может не очень устраивать то, что в статьях из серии PreWorking очень мало практической части. Да, практика будет, и ее будет много. Однако не здесь. В который раз повторюсь, что главная задача PreWorking — наставление вас на правильный путь и предоставление самого полного спектра необходимых материалов. Всем добра =)

 

Поддержите ресурс blog.justDev:

Сведения об авторе

Игорь Малеваный

Добавить комментарий

Instagram

Поддержите ресурс blog.justDev:

Свежие записи

Рубрики