Программирование для ios с нуля читать. IOS-разработка для начинающих: учимся создавать приложения для iOS с нуля

О том, что должен знать iOS-разработчик, пытается узнать всякий, кто планирует начать карьеру в этой деятельности. Иные убеждены, что такой вариант слишком сложен - все-таки программирование дано не каждому. Но есть и те, кто знают: под лежачий камень вода не течет, а усилиями можно и горы передвинуть на нужное место. Обучением разработке под iOS в настоящее время занимаются специализированные конторы. Преимущественно это довольно дорогие частные школы. Те, кто хотят сэкономить, проходят курсы разработки для iOS в режиме онлайн: в интернете довольно много ресурсов в свободном доступе. Впрочем, хороший результат будет получен лишь при приложении максимума усилий.

Деньги: как получить?

Спрос на самоучители по разработке для iOS стал особенно высоким с 2014 года. Именно тогда автор из Вьетнама выпустил под эту платформу быстро завоевавшую всемирную популярность игрушку - простую по исполнению, но сложную для прохождения. Проект получил наименование Flappy Bird и принес своему создателю несколько сотен тысяч американских долларов всего за пару месяцев. Тогда многие люди, способные видеть будущее технологий и прогнозировать, на что будет спрос спустя какое-то время, поняли, что пришло время осваивать разработку с нуля для iOS. Действительно, в настоящее время спрос на специалистов в этой сфере велик, но хорошие деньги получают лишь те, кто могут писать качественный код.

Разработка приложений под iPhone у многих вызывает настоящее море вопросов. Совершенно неясно, с чего начинать, как применить уже имеющиеся знания, где пройти обучение, чтобы получить хороший уровень навыков. С чего начать разработку приложений для iOS? На этот вопрос отвечают многие современные книги, но большие объемы и сложная подача информации делают их труднодоступными для непрофессионалов.

Базовые навыки

Обычно уроки разработки iOS начинаются непосредственно с написания кода, а также объяснения приемов, которые могут пригодиться начинающем специалисту. Но ведь далеко не всегда за освоение берется тот, кто уже знаком с подходящим языком программирования, поэтому корректнее говорить, что оптимальный первичный этап - исследование подходящего инструмента. Чаще всего разработчики iOS применяют Objective-C. Язык принадлежит к группе объектно-ориентированных. Из опыта многих разработчиков iOS видно, что именно он удобнее прочих при создании приложений для смартфонов. Впрочем, не только для «яблочной» техники - можно использовать и при работе под Android.

Если созданием мобильных приложений решил заняться человек, ранее уже освоивший какой-либо язык из группы объектно-ориентированных, тогда работа с новым инструментом не доставит проблем. Все ООП довольно близки между собой, подчинены сходной логике. Как стать разработчиком iOS, если навыки создания кода есть? Нужно взять книгу, объясняющую основные особенности Objective-C, и попрактиковаться в программировании элементов. Это занимает немного времени, зато дает отличный результат. Начинающий специалист освоит синтаксис, поймет, какие скрыты в языке возможности, каким образом можно организовать код с максимальной эффективностью. Стоит помнить о том, что если код качественный, то высоко оценивается и разработчик iOS. Зарплата будет приличной - сотни тысяч рублей. А вот те, кто пишут сложный, непонятный, путаный код, получают намного меньше.

Идем с нуля

Впрочем, разработка приложений под iOS доступна не только тем, у кого уже есть опыт создания кода. Можно смело браться за осваивание области, не имея специфических знаний и образования - это дело наживное. Конечно, Objective-C - это не самый простой язык, в том числе и из категории ООП, поэтому проще справиться с ним будет, если сперва вникнуть в логику всей этой группы программных инструментов, после чего особенное внимание уделить специфике конкретного варианта. Как говорят специалисты, разработка приложений под iOS обязательно должна производиться с учетом трех основных особенностей, свойственных инструменту для создания кода: это полиморфизм, наследование, инкапсуляция. Это - киты мира программирования для «яблочных» смартфонов.

В 2014 была выпущена интересная программная разработка - язык Swift. Его представили сами Apple, презентуя как средство для создания приложений под их технику. Основная задача этого продукта - сделать процесс разработки кода простым, быстрым. Swift ориентирован под особенности смартфонов, поэтому при его применении разработка приложений для iOS намного проще, чем при попытке подстроить под эту цель продукты, изначально задуманные как способ написания кода для стационарных машин под управлением других ОС. Swift приобрёл определенную популярность - на нем пишут не только код для приложений смартфонов, планшетов, но и программы для систем наподобие UNIX.

Не распыляться!

Освоение инструментов Swift разумно в случае, когда программист уже знаком с языками объектно-ориентированного программирования. Обязательно нужно уделить время освоению разработки «Яблока» и в случае, если человек способен писать код на Objective-C. А вот если только еще предстоит освоить этот незаменимый инструмент для создания мобильных приложений, тогда не нужно отвлекаться от главной задачи. Swift, конечно, важен и нужен, но заняться им можно будет и попозже - когда удастся «победить» Objective-C. А поначалу и одного этого нового инструмента хватит, чтобы загрузить мозг по полной программе. Как говорят специалисты, это точно не самый простой из языков программирования, зато довольно гибкий и предоставляет много возможностей создания эффективного кода.

Инструментарий: полезно для программиста

Разработка приложений для iOS предполагает взаимодействие с несколькими инструментами, позволяющими сделать приложение оптимизированным, работоспособным, эффективным и эстетичным. Традиционно наиболее важная и упоминаемая первой - это среда разработки. При создании продуктов для «яблочных» мобильных приборов лучше всего обращаться к XCode. Он совершенно бесплатен, а скачать можно через официальный магазин приложений. Распространение свободное, доступ есть у всех желающих.

Следующий инструмент для разработки приложений для iOS - редактор, позволяющий корректировать созданный код. Предпочтение лучше отдавать легким, простым программам. Традиционно наиболее популярны те, где есть функция подсветки. Всего несколько секунд - и вот уже написанный код запущен. Для обнаружения ошибочных строчек и исправления необходимо немного времени, это не загружает ресурсы машины, на которой работает программист.

Графика достойна внимания

Удивительно, но многие начинающие программисты совсем не уделяют времени этой составляющей создания программы. Чтобы разработка приложений для iOS стала процессом, завершающимся выходом работоспособного, привлекательного приложения, нужно освоить инструменты, позволяющие корректировать внешний вид программы. Лучше всего подходит технология векторной графики. Это даст возможность создания уникальных изображений, иконок, придающих продукту оригинальность, индивидуальность. Несмотря на то что иные скажут, будто бы украшательство - слишком уж сложная задача, нельзя добиться успеха, если продукт визуально не будет привлекать пользователя. Тем более в наши дни, когда конкуренция в магазине приложений Apple просто огромна и есть варианты на любой вкус и для любой цели. Вытеснить их, привлечь внимание к своей разработке удастся в случае, когда новинка не только хорошо функционирует, но и красиво выглядит.

Корректное начало: четкий план

Без создания детального плана не стоит рассчитывать на сколько-нибудь успешный результат. Структурирование - не самая простая задача, но она точно заслуживает внимания. Перед началом непосредственно кодирования нужно выделить несколько часов и сесть со скетчбуком, чтобы составить оптимальный план. В рамках планирования важно сформировать представление о дизайнерском решении продукта, сформулировать, для кого он предназначен и какую функциональность несет.

Продумывание дизайна начинается с формулировки концепции. Также нужно выбрать, какие функции реализовать в программе, дать им краткое, но емкое описание, а также указать все возможные схемы взаимодействия элементов, в том числе переходы. Не будет лишним нарисовать эскизы важных элементов. Определяясь с функционалом, нужно выделить одну задачу, на решение которой направлен новый продукт, и сформулировать особенности приложения, ориентируясь на эту цель. Что касается аудитории, то тут важно понимать, что возраст, сфера интересов, образ жизни и гендерная принадлежность сильно влияют как на вкусы, так и на цели, с которыми пользователи скачивают приложения. Выбрав свою целевую аудиторию правильно, можно удачно подобрать дизайнерское решение и дополнительный функционал.

Проект: первый пошел

Самый первый проект не должен быть сложным. Можно попробовать создать учебное приложение, имеющее только один экран. Для этого открывают XCode, создают новый проект, задают платформу для применения правильных инструментов оптимизации, после чего выбирают тип программного продукта. Чтобы упростить освоение среды, можно начать с Single View Application. Для проекта задают уникальное имя. В стандартном режиме среда программирования считает, что написание будет вестись на Objective-C. Если программист желает применять другой инструмент, ему нужно обратиться к перечислению возможных языков. Среди пунктов меню есть ответственный за язык, там следует назначить наиболее удобный вариант из доступных. После этого переключают на универсальный режим во вкладке Devices.

В навигационной панели разворачивают иерархическую структуру для поиска документа Main.storyboard. При его выборе можно увидеть клавишу Interface Builder - ее активируют, из показанной панели отбирают необходимые инструменты, перемещают их в удобное положение, выравнивают, проводят подстройку. Для отражения элементов в коде каждый объект выбирают мышью с зажатой клавишей Ctrl, перемещают в ViewController.h, что инициирует запуск диалогового окна Outlet, где можно указать свойства образованной связи. Здесь программист указывает имя, по которому элемент можно вызывать в коде программы.

Чтобы создать эффективный обработчик действия, придется повторить указанную выше цепочку действий, но применяя диалоговое окно ViewController.m. Внутри него формируется метод с закодированной программой. Машина будет обращаться к ней всякий раз, когда нужно взаимодействовать с компонентом.

Поверяем результат: тестирование

В крупных компаниях этой задачей занимаются сразу несколько сотрудников. Применяется довольно сложная методология. Сперва формируются кейсы, где указано, какие действия нужно протестировать, какие результаты программа должна выдать, а также проводятся реальные эксперименты с фиксированием итогов. Для начинающего разработчика мобильных приложений под ОС от Apple все несколько проще (но и сложнее в то же время). Здесь тестирование полностью ложится на автора кода, но и самих задач, подлежащих проверке, обычно немного, поэтому можно провести операцию в ручном режиме. Для этого потребуется эмулятор, через который запускают программные компоненты. В ходе взаимодействия можно найти, какие решения были неудачными, какие ошибки были допущены, отметить это для себя и исправить при доработке кода.

При самостоятельном тестировании важно представить себя сторонним пользователем, никак не связанным с кодом. Более того, нужно вообразить себя критиком, заинтересованным только в ошибках, человеком, которому не важны положительные качества программы, но лишь отрицательные. Нужно стараться сломать программу все возможными методами. Должны вводиться числа? Вводите в это поле буквы. Нужно нажимать на клавишу быстро - нажимайте долго. Словом, тестирование - время, когда нужно рушить все установленные правила и рекомендации.

Не хочу, не буду!

Далеко не каждый программист готов взяться за собственную программу, применяя такие варварские методы взаимодействия. Другим и вовсе кажется это скучной задачей, которая не стоит времени. Чтобы избавиться от лишней работы, сэкономить часы и устранить неприятные ситуации, можно привлечь к проекту фрилансеров. Есть специализированный сайты, где удастся найти готовых за небольшое вознаграждение искать всяческие и всевозможные баги в новинке.

Как говорят профессионалы, доверить поиск ошибок стороннему человеку - это хороший вариант, гораздо более эффективный, нежели самостоятельное решение проблемы. Фрилансер понятия не имеет, что должна делать программа, а что - нет, поэтому его сознание «не замутнено» излишками информации. Такому человеку проще тестировать приложения, значит, удастся найти больше проблем и устранить их до момента официального релиза.

Больше публики!

Если эксперименты на фрилансерах показали, что приложение готово к «свободному плаванию», пришло время его публиковать. Для этого продукт загружают в AppStore. Программная среда XCode при нажатии ответственных за это клавиш составит сборку того типа, который заранее установит программист. Необходимо выбрать вариант Distribution. Компилятор создаст файл и запишет его в директорию, закреплённую за проектом. Затем вручную программист пакует документ в архив ZIP.

Следующий шаг - использование интерфейса центра разработчиков iOS, где нужно найти меню iTunes Connect. Через функции управления и добавления можно перейти на страницу анкеты нового продукта. Все указанные тут поля придется заполнить самостоятельно. Можно подготовить информацию заранее - например, пока проект тестируют. Надо написать уникальное описание, указать контактные данные, сделать небольшую иконку (разрешение 512*512), скриншоты.

Что делать дальше?

Чтобы опубликовать приложение, необходимо воспользоваться специальным программным продуктом, предназначенным для загрузки новых объектов - Uploader Tool. Скачать его можно по ссылке, которую система откроет, когда пользователь перейдет в меню готовности к загрузке. В автоматическом порядке происходит соединение с iTunes, после чего оболочка сама определит, какими проектами располагает пользователь. Остаётся только выбрать нужный, и он будет подгружен программой, без специальных усилий.

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

Новости - это важно

Разработчик XCode довольно часто выпускает обновления для этой среды. Необходимо применять самую новую версию. Это не только дает возможность работать с программой, где минимизировано количество ошибок, но и позволяет регулярно узнавать обо всех обновленных функциях. Пользуясь самым новым и мощным интерфейсом, программист упрощает поставленную перед ним задачу. Кроме того, Apple регулярно выпускают обновления iPhone SDK. Самый актуальный инструментарий будет залогом хорошего результата.

Ложка дегтя в бочке меда

Если приложение успешно прошло проверку, оно попадает в зону общего доступа. Вероятно, уже в самом начале на разработчика обрушится много негативных отзывов. Далеко не все из них конструктивные. Необходимо уметь анализировать информацию от пользователей, чтобы улучшить свой продукт, а вот лишний и бессмысленный негатив нужно отметать, не давая ему задеть себя и подорвать веру в свои силы. Если человек грубо ведет себя, а пользы от его критиканства нет, можно просто не обращать внимания на оставляемые им сообщения.

Основы программирования
Азы программирования, основные термины и понятия

Видеокурс познакомит студентов с азами программирования, основными терминами и понятиями. Научит разрабатывать алгоритмы и даст реальный опыт создания веб-продуктов. Уроки включают обзор актуальных языков и направлений программирования, помогают студентам выбрать наиболее интересные для себя и предоставляют материалы и инструкции для дальнейшего профессионального развития.

Урок 3. Первая программа

Выбор языка программирования. Подготовка браузера. Программа «Hello, world!».

Урок 4. Переменные

Установка удобного редактора кода. Знакомство с переменными. Простой калькулятор.

Урок 5. Типы данных

Типы данных. Операции с разными типами данных. Преобразование типов данных.

Урок 6. Алгоритмы и блок-схемы

Алгоритмическое мышление. Визуальные блок-схемы.

Урок 7. Оператор ветвления if

Выбор вариантов в программе. Оператор ветвления if. Игра в загадки.

Урок 8. Логические операции

Комплексные условия выбора. Логические И, ИЛИ. Игра «Злые птицы».

Урок 9. Циклы do, while

Циклы do и while. Игра в русскую рулетку.

Урок 10. Цикл for

Цикл for. Финансовый калькулятор.

Урок 11. Массивы

Большие наборы данных и массивы. Игра в рулетку.

Урок 12. Функции

Функции. Подготовка к написанию игры «Black Jack (21)».

Урок 13. Игра «Black Jack». Часть 1

Написание полноценной игры. Основа – раздача карт и подсчет очков.

Урок 14. Игра «Black Jack». Часть 2

Завершение написания игры. Определение результатов и победителя.

Урок 15. Карьера программиста

Обзор основных направлений в программировании. Как выбрать язык программирования? Чему учиться дальше?

Git. Быстрый старт
Основы работы с Git

Видеокурс дает опыт командной разработки с использованием Git. Учит «с нуля» организовать совместное хранилище кода и эффективно его использовать. Студенты осваивают git-клиенты с графическим и консольным интерфейсом, учатся контролировать выпуск версий программы и «откатываться» к предыдущим версиям. Подробно рассматриваются распространенные ошибки командной разработки: при слиянии веток, создании commit-ов, хранении исполняемых файлов в репозитории.

Урок 1. Назначение и возможности

Узнаем, зачем нужен git и какие возможности он открывает для программистов.

Урок 2. Базовые операции

Создаем хранилище кода, доступное всем участникам разработки по сети. Осваиваем базовые операции: Clone, Commit, Push, Pull.

Урок 3. Откат изменений кода

Учимся откатывать изменения в коде с помощью git. Осваиваем операции Discard, Revert, Reset.

Урок 4. Работа с ветками

Работа с ветками.
Параллельно разрабатываем несколько версий программы. Осваиваем операции Add branch, Checkout, Merge.

Урок 5. Конфликты

Учимся разрешать конфликты при слиянии веток.

Урок 6. Распространенные ошибки. Часть 1

Боязнь создания новых веток. Хранение исполняемых файлов в репозитории.

Урок 7. Распространенные ошибки. Часть 2

Ошибки при работе с ветками. Ошибки при создании commit-ов.

Урок 8. Pull Request. Работа с Open-Source-проектами

Осваиваем Pull Request-ы на примере работы с Open-Source-проектами.

Урок 9. Pull Request. Сдача домашних заданий.

Сдача домашних заданий в GeekBrains с помощью Pull Request.

Урок 10. Консольный git-клиент. Базовые операции

Осваиваем базовые операции в консольном git-клиенте.

Урок 11. Консольный git-клиент. Работа с ветками

Учимся работать с ветками в консольном git-клиенте.

Урок 12. Работа с версиями программы

Учимся выпускать различные версии программного продукта с использованием git.

Урок 13. Итоги

Подводим итоги проделанной работы.

Основы языка Swift. 1 месяц.
Современные технологии программирования под Apple на Swift 4.1 - 4.2, xcode 9 - 10

Swift - новый язык от Apple, появился в середине 2014 года. Несмотря на свою новизну, он стремительно развивается и включает в себя все лучшие конструкции программирования, заимствованные из множества современных языков. Специалистов, знающих Swift, на рынке сейчас единицы. Этот курс поможет вам изучить синтаксические основы Swift и получить хороший опыт программирования на данном языке.

Урок 1. Введение

Вводное занятие. Знакомство с языком. Основные типы данных. Xcode, Playground. Переменные, константы и коллекции данных. Дебаггер.

Урок 2. Синтаксис Swift. Основные операторы

Продолжение изучения синтаксических конструкций языка и основных операторов

Урок 3. Комплексные типы данных

Знакомство с комплексными данными. Структуры. Перечисления. Свойства и методы. Конструктор.

Урок 4. Введение в ООП

Как описывать объекты реального мира и создавать их по описанию. Классы и объекты. Наследование. ARC и введение в управление памятью.

Урок 5. ООП

Описываем требования к классам. Протоколы. Расширения. Полиморфизм. Композиция.

Урок 6. Продвинутое ООП

Техники настоящих гуру. Дженерики. Замыкания. Subscripting. Функции высшего порядка.

Урок 7. Обработка ошибок и исключений

Учимся искать ошибки и предсказывать их появление. Исключения try/catch. Error.

Урок 8. Змейка

Пишем простую игру с использованием SpriteKit

Пользовательский интерфейс iOS-приложений. 1 месяц.
Swift 4.1, XCode 9

Какие основные особенности большинства современных мобильных приложений? Взаимодействие с сервисом. Отображение и изменение данных на внешнем сервере! Не бывает приложений без пользовательского интерфейса. Это лицо вашего проекта. С его помощью можно привлекать и удерживать пользователей. Реализовав связь с сервисом, вы сможете организовать взаимодействие пользователей между собой, либо с вашим бизнесом.

Урок 1. Проектирование интерфейса. Часть I

Разбор основных сетевых возможностей и применение их на практике.

Урок 2. Проектирование интерфейса. Часть II

Добавление экранов. Переходы между экранами. UInavigationController. Segue.

Урок 3. Проектирование интерфейса. Часть III

Отображаем данные в виде таблицы. UITableViewController, UITableViewCell, UICollectionViewController.

Урок 4. Создание кастомных UI-компонентов

Рисование с помощью CoreGraphics. @IBDesignable и @IBInspectable. CALayer: тени, границы, маска, градиент. Трансформация. Обработка пользовательских жестов. UIControl. UIAppearance.

Урок 6. Кастомизация коллекций

Создание кастомных ячеек таблицы, header и footer view. Создание кастомных ячеек коллекции, supplementary views. Работа с UICollectionViewFlowLayout. Создание кастомного collection view layout.

Урок 7. Анимации. Часть I

Простые анимации UIView. Анимации переходов между UIView. Анимации слоя. Пружинные анимации.

Урок 8. Анимации. Часть II

Keyframe-анимации. Группы анимаций. Кривые Безье и их анимирование. 3D-анимации. UIViewPropertyAnimator.

Урок 9. Анимация переходов между экранами

Анимация переходов между UIViewController. Интерактивные переходы между view controllers. Создание собственного segue.

Основы баз данных. 20 уроков.
Проектирование БД и запросы SQL

Базы данных (БД) - это системы хранения и обработки данных, для доступа к которым используется язык SQL (Structured Query Language). Любой современный сайт, игра или настольное приложение нуждаются в хранении данных. На данный момент существует множество различных систем управления базами данных (СУБД), самой популярной является MySQL. “Основы баз данных” - это 20 интенсивных видео-уроков (по 10 минут), где мы вместе пройдём все этапы проектирования БД на примере интернет-магазина с использованием языка запросов SQL. После этого курса вы сможете использовать различные базы данных, такие как MS SQL и Postgre Sql, так как синтаксис языка SQL для них практически не отличается.

Урок 1. Реляционные базы данных

Чем отличается БД от СУБД; какие базы данных называются реляционными; обзор современных СУБД.

Урок 2. Установка СУБД

Установка СУБД MySql и графического приложения Mysql Workbench.

Урок 3. Проектирование базы данных, нормальные формы

Проектирование данных в Excel; нормальные формы; первичный ключ.

Урок 4. SQL-команда CREATE

Создание таблиц в графическом интерфейсе MySql Workbench; команда CREATE; типы данных; работа в консоли.

Урок 5. SQL-команда INSERT

Заполнение таблиц данными с помощью графического интерфейса; команда INSERT; AUTO INCREMENT.

Урок 7. SQL-команды DISTINCT, ORDER BY, LIMIT

Получение и фильтрация данных с помощью SQL-команд DISTINCT и LIMIT; сортировка с помощью команды ORDER BY.

Урок 9. Согласованность данных

Понятие согласованности или консистентности данных.

Урок 10. Внешний ключ

Понятие внешнего ключа и ограничений на значения столбцов; FOREIGN KEY CONSTRAINTS.

Урок 11. Создание таблиц с отношением “многие ко многим”

Добавление корзины в базу данных интернет-магазина.

Урок 12. Составной первичный ключ

Использование составного первичного ключа при проектировании таблицы с отношением “многие ко многим”.

Урок 13. Объединение данных из нескольких таблиц

Получение данных из нескольких взаимосвязанных таблиц; несостоятельность подхода с использованием нескольких SELECT-ов.

Урок 14. Оператор INNER JOIN

Объединение данных из нескольких таблиц с помощью оператора INNER JOIN.

Урок 15. Операторы LEFT JOIN, RIGHT JOIN

Объединение данных из нескольких таблиц с помощью операторов LEFT JOIN и RIGHT JOIN.

Урок 16. Оператор UNION

Объединение результатов нескольких SQL-запросов с помощью оператора UNION.

Урок 17. Агрегирующие функции

Агрегирующие функции COUNT, SUM, MIN, MAX.

Урок 18. Оператор GROUP BY

Группировка выбранного набора строк с использованием оператора GROUP BY.

Урок 19. Индексы

Фильтрация в GROUP BY с использованием HAVING; увеличение скорости выполнения запросов с использованием индексов.

Урок 20. Транзакции

Понятие транзакции; оператор TRANSACTION; требования ACID к транзакционной системе.

Клиент-серверные iOS-приложения. 1 месяц.
Swift 4.1, XCode 9

Вы освоите приемы разработки высоконагруженых приложений. Поработаете с файлами и архивами. Научитесь управлять процессами в фоновом режиме, оптимизировать работу приложения по загрузки больших объемов данных. Также вы освоите методы разработки приложений с универсальным интерфейсом. Получите опыт работы с популярным Backend сервисом Firebase от Google. А также поучаствуете в процессе публикации приложения в AppStore.

Урок 1. Применение паттернов «наблюдатель», «одиночка», «делегат»

Изучаем реализацию самых популярных паттернов в iOS. Знакомимся с NotificationCenter.

Урок 2. Работа с сетью

Учимся работать с сетевыми запросами. Анатомия HTTP-запросов. Обзор инструментов и библиотек для работы с сетевыми запросами. Отправка запросов с помощью URLSession.

Урок 3. Mapping json

Преобразуем json-ответ сервера в объекты приложения. Анатомия json-формата. JSONSerialization.

Урок 4. Хранение данных

Обзор инструментов и библиотек для постоянного хранения данных в приложении. UserDefaults, Файлы. CoreData. SQLite, Realm, Keychain.

Урок 5. Консультация с преподавателем

Урок 6. Realm

Детальный обзор Realm. Сохранение, извлечение, удаление, фильтрация данных

Урок 7. Realm Notifications

Отслеживаем изменения в Realm. Автоматическое обновление UI.

Урок 8. Backend – Firebase

Используем внешний сервер для хранения данных приложения. Осваиваем Firebase Framework. Подключаем механизмы «Регистрация» и «Авторизация пользователей».

Урок 10. Консультация с преподавателем

Основы языка C
Закладываем фундамент Ваших знаний

Данный курс направлен на изучение основ языка Си, на котором написано подавляющее большинство операционных систем. Си является языком системного уровня, на котором написаны драйверы и библиотеки для работы с оборудованием и компьютерной периферией. Знание основ языка Си будет полезно не только начинающим программистам, но и программистам со стажем. Это знание позволит понять внутренние механизмы и устройство большинства современных высокоуровневых языков, поскольку является их прародителем. Знание фундаментальных основ делает из хороших программистов лучших.

Урок 1. Введение. Зачем нужен С и как им пользоваться

Возникновение языка С. Возможности языка. Функции языка. Актуальность языка. Установка компилятора и среды разработки

Урок 2. Базовые понятия. Как всё устроено, и что с этим делать

Шаблон программы. Директива препроцессора #include. Функция main. Функция printf() и форматированный вывод. Переменные и типы данных. Операция & - взятие адреса. Ввод данных. Арифметические операции в языке С (если хватит времени)

Урок 3. Условия: первый шаг к принятию решений. Булева алгебра

Оператор if() и его вариации. Операции сравнения: арифметические сравнения, логические операторы, тернарный оператор. Вложенные условия. Блоки кода и области видимости. Булева алгебра.

Урок 4. Циклы. Отдаём программе рутинные задачи

Понятие цикла. Цикл while(). Цикл do {...} while(). Формат записи цикла do while

Урок 5. Циклы. Как придать уникальности простым вещам

Операторы break, continue, switch и цикл for

Урок 6. Функции. Пишем универсальные фрагменты кода

Понятие функции. Виды функций. Аргументы функции. Прототипы функций. Заголовочные файлы.

Урок 7. Указатели. Ещё один шаг к настоящему низкому уровню

Переменные. Понятие указателя. Передача аргументов по значению. Передача аргументов по ссылке

Урок 8. Массивы. Собираем подобное к подобному

Директивы препроцессора. Понятие массива. Объявление массива. Обращение к элементу массива. Определение размера массива через директиву компилятору

Урок 9. Массивы. Проверяем насколько хорош генератор псевдослучайных чисел

Идентификатор массива. Выход за пределы массива. Арифметика указателей. Передача массива в функцию

Урок 10. Массивы. Почти безграничные возможности организации данных

Многомерные массивы. Двумерные массивы. Заполнение и вывод двумерного массива. Массивы указателей

Урок 11. Строки. Учимся говорить с пользователем

Понятие строки. Указатель и массив из переменных типа char. Функции puts(), printf(), gets()/
Конкатенация строк (функция strcat()). Сравнение строк strcmp(). Функция копирования строк strcpy(). Обработка символов.

Урок 12. Структуры данных. Уходим от примитивов к объектам, но не далеко

Понятие структуры данных. Ключевое слово struct для описания структуры. Описание структуры “простая дробь”.

Урок 13. Файловая система. Запоминаем результаты и читаем их обратно

Понятие файловой системы. Создание текстового файла. Чтение из текстового файла.

Урок 14. Динамическое выделение памяти

Процесс выделения памяти. Функция malloc(). Оператор sizeof(). Функция calloc() . Функция free(). Функция realloc() .

Алгоритмы и структуры данных. 1 месяц.
Эффективные решения вычислительных задач

Без знаний алгоритмов начинающий программист часто изобретает велосипед вместо того, чтобы решать задачу уже проверенными способами. Современные языки программирования всячески облегчают жизнь разработчикам, выполняя множество “грязной” работы. С одной стороны, это хорошо, но с другой - многие программисты перестают понимать, как на самом деле работает компьютер, или имеют весьма поверхностное представление об алгоритмах и структурах данных, лежащих в основе используемых ими решений. На курсе мы подробно исследуем язык C - это превосходная возможность “пощупать” механизмы, которые лежат в основе современных фреймворков.

Урок 1. Простые алгоритмы

Введение в C. Структуры. Алгоритмы.

Урок 3. Поиск в массиве. Простые сортировки

Поиск в одномерном массиве.Интерполяционный поиск. Сортировка массива.

Урок 4. Динамическое программирование. Поиск возвратом

Наибольшая общая подпоследовательность Динамическое программирование. Поиск с возвратом. Задача о восьми ферзях.

Урок 5. Динамические структуры данных

Стек, очередь. Создание стека с использованием массива. Динамические структуры данных.

Урок 6. Деревья

Двоичные деревья поиска. Хеш-функция. MD5. Хеш-таблицы

Урок 7. Графы. Алгоритмы на графах.

Графы, обход графа в ширину и глубину. Волновой алгоритм. “Жадные алгоритмы”.

Урок 8. Сложные сортировки

Сортировка Хоара (Quick sort). Пирамидальная сортировка (Heap sort)
Сортировка слиянием (Merge sort). Сортировка подсчетом (CountingSort). Алгоритм со списком (pigeonhole sorting). Блочная сортировка.

Курс, разработанный совместно с школой EnglishDom, поможет освоить ключевые англоязычные темы, актуальные для начинающих IT-специалистов. Максимум практики и фокус на IT-лексику. На 10 уроках разбирается составление CV, технических заданий и деловых писем, собеседования и переговоры, международное общение при продвижении своего проекта. В живых диалогах на английском студенты закрепят фразы, которые пригодятся в работе разработчикам и тестировщикам, маркетологам и дизайнерам.

Урок 1. IT resume sample

Составляем резюме на английском.

Как стать программистом. 13 уроков.
Пошаговая инструкция по поиску работы

Карьера в сфере программирования - это увлекательное путешествие в мир современных технологий. У каждого разработчика своя история и свой опыт. Однако существует базовый алгоритм, который поможет правильно сделать первые шаги и приведёт к вашей цели. Мы подготовили 13 видео-уроков, в которых ответили на самые актуальные вопросы о карьере программиста в компаниях и на рынке фриланса. Часто думаете о трудоустройстве и чувствуете, что готовы начать зарабатывать? Тогда этот видео-курс для вас.

Урок 1. Профессия “Программист”

Особенности профессии; часто задаваемые вопросы; востребованность на рынке труда.

Урок 2. Профориентация

Стану ли я успешным программистом? Факторы успеха.

Урок 3. Начинаем составлять резюме

Самое важное - первое впечатление; как назвать должность.

Урок 4. Выбор языка программирования: веб-разработка

Обзор языков для разработки сайтов: HTML, CSS, JavaScript, PHP, Python, Ruby, C#, Java; правильный выбор.

Урок 5. Мобильная разработка. Универсальные языки программирования

Обзор языков: Java, Objective-C, Swift; C#, C++, Python: правильный выбор.

Урок 6. Правила эффективного резюме

Список технологий; портфолио; дипломы и сертификаты; личностные качества. Взгляд технического специалиста и HR.

Урок 7. Поиск работы: что, где, когда

Работа мечты, психологические аспекты; техника запроса.

Урок 8. Собеседование и испытательный срок

Собеседования для программистов: как себя вести, что говорить, к чему прислушиваться; испытательный срок и правила его прохождения.

Урок 9. Фриланс: первые шаги

Обзор площадок для фриланса; особенности регистрации; оформление аккаунта; как выделяться среди большинства исполнителей.

Урок 10. Фриланс: начало работы и поиск заказов

Стратегия поиска заказов; приоритет заказов: что брать в работу; ведение переговоров; задания и подводные камни ТЗ; методы обращения к клиенту; написание ответов и привлечение внимания клиентов; правильные вопросы.

Урок 11. Фриланс: выполнение заказа и оплата

Способы оплаты: безналичный или наличный расчёт; предоплата или постоплата; обзор ситуаций, в которых лучше сработает каждый из способов; подготовка к работе и обязательные договорённости с клиентом; особенности процесса работы; завершающие этапы сотрудничества; обмен отзывами; техника "посоветоваться".

Урок 12. Специальности в сфере IT

Как проходит разработка в крупных компаниях? Кто такие аналитики, дизайнеры, тестировщики, архитекторы, projectmanager-ы, team-lead-ы и пр.

Урок 13. Карьерная лестница в сфере IT

Как выглядит карьерная лестница в сфере IT? В каких специальностях проще начинать свой путь? Какие есть перспективы развития?

Стажировка в Geekbrains. 2 месяца.
В формате вебинаров

Стажировка в GeekBrains проходит в формате онлайн-вебинаров. С самого начала занятий вы приступите к совместной разработке проекта под руководством преподавателя. В команде учеников будет решаться коммерческая задача, за которую вполне могли бы заплатить гонорар реальные заказчики. На каждом занятии мы будем проводить совещание, как в реальных IT-компаниях. Также будем анализировать проделанную работу и определять объём задач на следующую неделю. После совещаний будем обсуждать различные темы, которые помогут вам написать хороший, качественный код, подготовить качественно портфолио, составить правильно резюме и успешно пройти собеседование в компании.

Урок 1. Начало проекта

Начало проекта; получение задачи от виртуального заказчика; работа менеджера по продажам, аналитика, проектировщика UI, архитектора.

Урок 2. Подготовка к разработке

Утверждение ТЗ, интерфейса и архитектуры; распределение задач; работа с Bug-tracker и GIT; правила хорошего кода.

Урок 3. Принципы KISS, YAGNI, SOLID

Анализ проделанной работы; разбор ошибок; постановка новых задач; принципы KISS, YAGNI, SOLID.

Урок 4. Работа с веб-сервисами

Анализ проделанной работы; постановка новых задач; работа с веб-сервисами; шаблоны проектирования: фабрика, репозиторий.

Урок 5. Тестирование

Анализ проделанной работы; постановка новых задач; тестирование; работа тестировщика; подготовка резюме.

С каждым днем увеличивается количество людей, мечтающих научиться создавать программы. После сбора информации в сети к ним приходит мысль, что наиболее перспективной является разработка приложений для iOS - операционной системы от Apple. На самом деле мечтать - это одно, а программировать - другое. Создать собственное приложение нелегко. Но и не заоблачно сложно. Что же для этого нужно?

Язык программирования

Чтобы писать программы для определенной платформы, нужно использовать конкретный язык программирования. Разработка приложений для iOS и Android различается. Если у платформы от "Гугла" выбирать необходимо язык Java, то для iOS выбор стоит между Objective-C и Swift. Длительное время разработка под платформу iOS велась только при помощи языка программирования Objective-C. Несмотря на то что ему много лет, он все еще развивается и используется большим числом разработчиков. Но его минус - это высокий порог вхождения.

Так как самым главным источником прибыли компании Apple является ее магазин приложений, сотрудники заинтересованы в большем числе полезных и интересных утилит. По этой причине регулярно проводится конференция для разработчиков, на которой рассказывают об изменениях в операционных системах. В 2014 году разработчикам показали новейший язык программирования Swift, на котором ведется разработка приложений для iOS. Swift легок в освоении, так как имеет очень простой синтаксис и строго типизирован. Для желающих освоить самостоятельно этот язык подходит очень хорошо.

Что понадобится для начала

Кроме базовых знаний программирования, нужно иметь следующее:

  • компьютер или ноутбук с операционной системой OSX на борту;
  • среду разработки Xcode, которая является бесплатной.

Данный набор дает возможность запускать приложения в специальном симуляторе прямо на компьютере. Но нужно иметь в виду, что в будущем, возможно, нужно будет заплатить 99 долларов за то, чтобы получить годовую подписку в программе разработчиков. После оплаты появится возможность:

  • запускать разработанные программы не в симуляторе, а на настоящих устройствах;
  • размещать приложения в магазине App Store;
  • загружать новые версии среды разработки и iOS.

В новых версиях Xcode появился такой элемент, как «песочница», названный Playground. Здесь разработчик может поэкспериментировать с новым языком программирования.

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

С чего начинается разработка приложений для iOS и Android? Обучение происходит на практике. Поэтому начинать надо с нее. Много теории - это не всегда хорошо. Ведь если человек прочтет от корки до корки десять он не станет. Нужно действовать.

Playground

Данная «песочница» - это замечательное окружение для изучения языка программирования. Как она выглядит? Пользователь вводит строчку программного кода и сразу же видит результат выполнения. После того как станет понятно, что написанный фрагмент работает так, как нужно, его можно просто перенести в проект. При помощи «песочницы» можно решить такие задачи, как:

  • освоение синтаксиса языка программирования;
  • улучшение навыков программирования при помощи экспериментов с новыми API;
  • осуществление простых арифметических вычислений;
  • разработка нового алгоритма и наблюдение за каждым его шагом.

Разработка приложений для iOS: с чего начать

Теория - это, конечно, хорошо, но, как говорилось ранее, нужна практика. Для того чтобы познакомиться с «песочницей», нужно запустить среду разработки Xcode. После запуска пользователь может видеть окно, в котором предлагается создать новый проект или же запустить Playground. Нужен второй пункт. Теперь необходимо придумать имя и сохранить «песочницу» в любое удобное место на компьютере. Кстати, разработка приложений для iOS на Windows тоже возможна, но тогда потребуется решить большое число проблем. Это и установка пиратской операционной системы, и правка важных файлов, и множество ошибок и вылетов.

После сохранения будет запущен тот самый Playground, который нужен.

На первый взгляд, здесь нет ничего интересного. Но стоит вписать туда свой код, как внешний вид тут же изменится.

Для начала можно попробовать написать следующее:

for var y = 0; y < 10; ++y {

println (“result: (z)”)

После этого «песочница» изменит свой вид. В столбце справа (панель результатов) показаны значения для каждой строки, которые получаются после выполнения. Также в правом столбце можно включить отображение временной панели, которая дает возможность проследить изменения во времени выбранного выражения. Здесь же отображается консольный вывод с текстом, который выводился бы программой.

Комментирование кода

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

Переменные

Итак, приложения пишутся на языке программирования. Базу любого языка составляют переменные. Разработка приложений для iOS и Android без использования переменных невозможна. Как понятно из названия, это контейнер, в котором содержится изменяемое значение. Каждая переменная должна обладать уникальным именем и может содержать в себе как числовые, так и текстовые значения. В языке программирования Swift переменные определяются при помощи слов var и let. Во втором случае переменная не может меняться и должна быть проинициализирована при объявлении. В первом случае переменная инициализируется непосредственно перед использованием.

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

Вывод результатов

Результат выполнения программы выводится в консоль. Что это такое? Это то, что обеспечивает взаимодействие пользователя с компьютером. Так, консолью вывода раньше называли монитор, а консолью ввода - клавиатуру. Сейчас значение терминов немного изменилось. Так называют программное окно, предназначенное для ввода и вывода команд. Разработка приложений для iOS нередко требует вывода каких-то данных. Для этого в языке Swift предусмотрены команды print и println. Первая отличается от второй тем, что автоматически начинается с новой строки.

Функции

Следующее базовое понятие в программировании - функции. Это некая последовательность действий, которые выполняют конкретную задачу. Каждая функция способна принимать какие-то значения, а также возвращать результат. Для использования этой конструкции ее необходимо сначала объявить при помощи ключевого слова func. После него указывается имя, а также круглые скобки. Если должно быть возвращено какое-либо значение, то после скобок указывается его тип. Если возвращаемого значения нет, то тип можно не указывать или же указать «пустой» тип - void. В круглых скобках находятся значения, которые функция принимает. Для вызова функции указывают ее имя и значения для аргументов.

Можно сделать так, чтобы имя параметра при вызове функции было обязательно указано. Для этого его обрамляют символом «решетка».

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

Что теперь?

Итак, как видно из вышесказанного, разработка приложений для iOS своими руками вполне может оказаться по силам каждому. Главное - выучить основы языка программирования, познакомиться со средой разработки и очень много и часто практиковаться. Именно практика помогает добиться значительного прогресса. А ведь описанное здесь - это только начало. Дальше в мире программирования будет много интересного, сложного, увлекательного. Это поможет всегда держать мозг в тонусе, создавать что-то новое и неплохо зарабатывать. Ведь техника от Apple используется во всем мире. Поэтому ваше приложение смогут оценить миллионы людей.

В 2015 году уже нельзя выйти на улицу, чтобы тут же не встретить человека, который соответствует двум критериям: 1. У него есть iPhone/iPad. 2. Он хочет быть программистом. Приведенная ниже подборка iOS-приложений составлена как раз для таких людей. С ней можно изучить один или несколько из 20 самых популярных в мире языков программирования.

Tiobe index

Tiobe Index - это рейтинг популярности языков программирования в мире. Он составляется на основе количества ссылок в результатах выдачи популярных поисковиков по запросу « + programming». Индекс строится каждый месяц, начиная с 1987 года. На данный момент для расчета рейтинга используют данные со следующих сайтов: Google, YouTube, Amazon, Baidu, Qq, Yahoo, Ebay, Hao123, Bing, Alieexpress, Alibaba и Cntv.

Значение индекса рассчитывается для языков, отвечающих двум требованиям. Во-первых, язык должен быть Тьюринг полным, а во-вторых, про него должна быть статья в англоязычной Википедии. Как определить, что язык является Тьюринг полным? Если на нем можно выполнить любую вычислимую функцию, то это Тьюринг полный язык. SQL не соответствует первому критерию, но тем не менее для него уже много лет рассчитывается значение Tiobe Index. Всего в рейтинге участвует 237 языков.

Аналитики используют Tiobe Index в своей работе, чтобы прогнозировать развитие IT-индустрии. Программисты сверяются с его значением, что не ошибиться с выбором вектора профессионального развития. 25 лет истории индекса позволяют уверенно утверждать: «хорошие специалисты по языкам, занимающим первые 10 строчек рейтинга непременно будут востребованы на рынке труда в ближайшие 3-4 года».

Приложения из этой подборки точнее будет назвать справочниками с возможностью запускать код, а не учебными приложениями. Разбивать информацию на уроки и придумывать себе примеры для практики придется самостоятельно.

1. Java

Значение Tiobe Index для этого языка - 19.56%. Java используется в 80-90% процентах корпоративных приложений. На нем пишет абсолютное большинство разработчиков под Android. Java часто применяется в высоконагруженных веб-приложениях. На этом языке можно написать практически все. Чем с успехом и занимаются сотни миллионов разработчиков во всех уголках планеты. Приложение Java Develope Reference All In One содержит самую полную информацию об этом языке.

2. C

На этом языке пишут операционные системы и другое низкоуровневое ПО. Изучить язык поможет приложение C Reference.

3. C++

С++ - это основной язык разработки коммерческого прикладного ПО. Он сложнее для освоения чем Java, поэтому менее популярен. Для его изучения есть приложение - C++ Referecnce.

4. C#

Этот язык упрощенная версия C++ предназначенная для работы со средой разработки.NET Framework. Для освоения синтаксиса языка есть приложение C# Programming Language.

5. Python

На Python пишут десктопное и серверное программное обеспечение, высоконагруженные веб-приложения. Его используют в Google и BitTorrent. Приложение Python 2 Developer Reference поможет в изучении этого языка.

6. PHP

Это самый популярный язык программирования для создания веб-страниц. На нем написаны миллиарды сайтов. Сотни миллионов разработчиков по всему миру владеют им в той или иной степени. Порог вхождения для новичков крайний низкий. Создать страницу вида «Вот я, вот мой кот. Отправьте письмо через эту форму» можно через полчаса после начала изучения PHP. В освоении технологии поможет приложение PHP Reference.

7. Java Script

Этот язык предназначен для внедрения в веб-страницы динамических сценариев, выполняемых на стороне клиента. Редкий сайт обойдется хотя бы без пары строк кода на Java Script. Теоретически можно написать на этом языке практически все: серверные (Node.js) и мобильные (PhoneGap) приложения. Начиная с OS X Yosemite Java Script стал альтернативой языка макрос для OS X Apple Script. Ходят легенды об умельце, который переписал на JS ядро Linux. Изучить основы Java Script можно с помощью приложения Java Script Programming Language .

8. Visual Basic for .NET

Для написания программы на этом языке нельзя обойтись без платформы.NET Framework. Поэтому отдельного приложения для этого языка нет. Но его синтаксис идентичен с обычным Visual Basic, о котором будет рассказано чуть ниже.

9. Perl

Изначально создавался для обработки больших объемов текстовых данных. Сфера применения частично пересекается с PHP, а частично с языком C. Глубже ознакомиться с его синтаксисом и попробовать себя в написании скриптов можно в приложении - Perl Programming Language

10. Objective-C

Этот язык уже 32 года используется для разработки приложений работающих на устройствах производства компании Apple. На нем пишутся программы для OS X и iOS. Изучить Objective-C можно с помощью приложения Objective-C Programming Language

11. Assembly

Ассемблер - позволяет обращаться к командам процессора напрямую. Это самый низкоуровневый язык программирования. Его знание бывает нужно для создания языков программирования более высокого уровня, операционных систем, драйверов. Умение читать код на ассемблере пригодиться вирусным аналитикам и людям, занятым взломом лицензионного ПО. Для iOS есть учебная программа - Assembly Programming Language.

12. Ruby

Язык Ruby - это усовершенствованная объектно-ориентированная версия языка Perl разработанная в Японии. Он применяется для создания веб-приложений с помощью фреймворка Ruby on Rails. Именно благодаря этому фреймворку, позволяющему очень быстро разворачивать веб-приложения, Ruby находиться на столь высокой позиции. Хоть язык и не входит в топ-10, классный спец по этой технологии 100% не окажется без куска хлеба в ближайшие пять лет. Для изучения есть приложение Ruby Programming Language .

13. Delphi

К сожалению, для этого языка нет iOS приложения. Оно и не удивительно. Во-первых, чтобы написать программу на Delphi не нужно знать его синтаксис. Достаточно открыть среду разработки, перетащить несколько кнопочек и полей для ввода на рабочее пространство, путем нажатия правой кнопки мыши прописать им параметры поведения и все. Умение разбираться в Delphi-исходникам пригодиться только пришедшим через десять лет молодым программистам, которых начальство попросить заставить эту программу работать под новую версию Windows. Во-вторых, на Delphi сейчас уже не пишут ничего нового, и его высокую позицию в рейтинге Tiobe обеспечивают страдальцы, которым приходиться дорабатывать софт 15-летней давности.

14. Visual Basic

Знание языка будет полезно большинству офисных работников. На нем можно написать множество полезных вещей: сбор данных из анкет в таблицу Excel, генерацию файлов по шаблону, автоматизированную рассылку в Outlook. Для изучения есть приложение - Visual Basic Programming Language .

15. Pascal

Основами этого языка владеют две трети россиян, школьные и студенческие годы которых пришлись на конец 90-ых и 2000-ые. Во многих странах мира сложилась традиция применять этот язык для обучения информатике. На рубеже тысячелетий, когда в школах по всей планете стали массово внедрять обучение компьютерной грамотности, одним из наиболее коммерчески успешных языков был Delphi. Синтаксис этого языка практически идентичен синтаксису Pascal. По этой причине составители учебных программ и выбрали его в качестве первого языка программирования для миллионов людей. В конце 2000-ых Delphi почти умер, но учебники по информатике в большинстве учебных заведений до сих пор не обновили. В детство плацкартный билет подарит приложение Pascal Programming Language .

16. Swift

Язык Swift был анонсирован весной 2014 года. Он применяется для разработки приложений для iOS и OS X. Позиционируется как более безопасная альтернатива Objective-C. Приложение Swift Programming Language - это полноценное учебное пособие по языку, составленное программистами компании Apple.

17. MATLAB

MATLAB - это язык для выполнения технических вычислений разной степени сложности в одноименном программном пакете, которым пользуются миллионы инженеров по всему миру. Приложение MATlAB Mobile - это упрощенная версия программного пакета MATLAB для iOS, включающая в себя полный справочник по языку. Незаменимая вещь для первокурсников технических вузов.

18. SQL


SQL - это процедурный язык для работы с базами данных. С его помощью можно заносить данные в базы, а потом читать, изменять и удалять их. SQL Programming Language позволяет узучить SQL и особенности его применения для самых распространенных систем управления реляционными базами данных: MySQL, SQL Server, PostgreSQL, Oracle и др.

19. R

R - это язык для статистической обработки информации. Он встроен во многие популярные в мире программы для анализа данных: SPSS, Statistica, SAS. Изучить его можно с помощью приложения R Programming Language.

20. COBOL

Язык COBOL существует с 1959 года. Это единственный среди 20 самых популярных языков мира, созданием которого руководила женщина - контр-адмирал американского флота Грейс Хоппер. Изначально проектировался под создание бизнес-приложений. Очень многие системы денежных переводов, разработка которых началась еще в 70-ых написаны на языке COBOL. В государственных и частных корпорациях США есть множество работающих систем, требующей технической поддержки и написанных на COBOL. В некоторых учебных заведениях Америки этот язык применяют для обучения студентов программированию. Ознакомиться с ним поможет приложение COBOL Programming Language .

Заключение

В App Store есть приложения для изучения и менее популярных языков. Если немного постараться, то там можно найти учебные приложения и для следующих 30 строчек в рейтинге Tiobe Index.

И с этой статьи я начинаю вести блог по программированию для iOS . А в дальнейшем и для OS X!

Зачем мне это нужно? Не так давно я стал счастливым обладателем iPad Retina. Он достаточно сильно понравился мне и приятно впечатлил! Я даже начал понимать “яблокофилов” с их постоянным стремлением приобретать всю продукцию Apple, которая выходит в свет. Но одно дело приобретать чужое, а другое – создавать своё своими руками! И эта мысль навела меня на создание данного сайта о программировании приложений/игр для продукции от Apple.

Для кого этот блог? В первую очередь он для тех, кто любит программировать и творить. Вполне возможно, что вы никогда не программировали на Objective-C (именно этот язык программирования используется), но очень хотите начать. Однако, желательно, чтобы вы знали какой-нибудь язык программирования, например, Excel макросы, QBasic, С++, С#, 1С в конце концов. Т.е. Вам очень поможет математический склад ума. Если и это не так – ничего страшного. Блог создан для новичков, таких же как я. Голый энтузиазм Я буду стараться объяснять просто, доступно и интересно, как сам люблю.

Несколько слов о языке программирования. Отзывы в Интернете сходятся в том, что этот язык удобен, не сложен, интересен, более “логичен” для человека, чем языки прошлых поколений. Поэтому, если у Вас есть желание и азарт, то скучно не будет!

Опять же, из отзывов в Интернете и по собственному опыту использования приложений из AppStore я понял, что Дизайн приложения стоит на первом месте. Он обгоняет даже функциональность программы. Т.е., если у Вас программа очень крутая, но выглядит некрасиво, то популярности она не заимеет. Поэтому необходимо уделять большое внимание дизайну приложения, созданию красивого Интерфейса программы, а значит и работать в Photoshop, может быть, консультироваться с дизайнерами (или изучать дизайнерские моменты в Интернете).

Запоминаем: Интерфейс и Дизайн в наших приложениях должны быть на высшем уровне!

Для чего создавать приложения/игры на iOS? Тут есть два варианта:

1. Для себя. У вас есть iPhone/iPad и вы никак не можете найти приложение, которое бы удовлетворяло ваши потребности. Создайте его сами! Любые ваши “хотелки” вы сможете реализовать в своём приложении и радоваться ему!

2. Для всех. Этот вопрос уже интереснее. Ведь можно быть добрым молодцем и интересные приложения/игры раздавать бесплатно. А можно и за 1$-100$ продавать Если конечно его захотят купить:) Думаю последних будет большинство. Кстати, Apple забирает себе 30% выручки от продаж

Так или иначе, для разработки приложений есть 2 пути:

1. Бесплатный. Вы разрабатываете приложение, тестируете его на эмуляторах среды разработки XCode и дальше операционной системы его не выносите. Даже на свой собственный телефон поставить не сможете.

2. Платный. Вы разрабатываете приложение, тестируете его на эмуляторах среды разработки XCode и покупаете:

а. iOS Developer Program - 99$ в год, если желаете создавать бесплатные или платные приложения для iPhone, iPad, iPod touch, и распространять через AppStore. (то что нам нужно в дальнейшем!). А также тестировать их на своих девайсах.

б. iOS Enterprise Developer Program - 299$ в год, если желаете разрабатывать in-house приложения - приложения, для внутреннего использования в своей компании, без открытого доступа.

В итоге имеем: вначале нашего пути нам достаточно создавать приложения и смотреть, как они выглядят в эмуляторах. Как только мы почувствуем уверенность в себе, покупаем iOS Developer Program и, вперед, в мир AppStore. Инструкцию по регистрации я сделаю позже, как только это нам понадобится.

Для информации: Став подписчиком iOS Developer Program , вы обязаны ежегодно оплачивать эту подписку. Подписка может быть продлена в пределах 60 дней после окончания предыдущей. Если подписка не продляется, то вы теряете право распространять приложения через AppStore, ваши сертификаты разработчика будут удалены. В довершение, все приложения, которые вы загрузили на AppStore, так же будут удалены.

С другой стороны, принимая решение стать разработчиком под iOS, следует быть уверенным, что вы собираетесь этим зарабатывать себе на жизнь. А размер заработков с лихвой покроет ваши затраты на подписку.

Об этом мы еще поговорим

А теперь я расскажу о том, как мы будем обучаться программированию. Я буду делать (“постить”) записи с новыми уроками с определенным интервалом времени. Изучать мы будем только то, что нам необходимо в данный момент. Никакой излишней общей информации, если она нам не понадобится на данном этапе, не будет. Уроки текстовые. Чем для меня не удобны видеоуроки: во-первых, надо записывать свой голос), во-вторых, с видеоурока не скопируешь часть кода, поэтому его придется перепечатать, в-третьих, если что-то прослушал, то нужно “перематывать” и т.п., что отнимает куда больше времени. + текст можно отредактировать быстро, а видео переснять – долго. Поэтому – текстовые.

По поводу информации, которая есть в интернете. Она есть, но либо устарела, либо на английском. Кто дружит с английским – добро пожаловать на официальные сайты разработчиков. Для тех, кому русский язык родней – добро пожаловать

  • Сергей Савенков

    какой то “куцый” обзор… как будто спешили куда то