В помощь мобильному разработчику

Пишем первое приложение для macOS

Александр Алексеев

Когда разработчики задумываются о создании приложений Xamarin для устройств Apple, они часто имеют в виду iPhone и iPad, но ведь, помимо этого, можно создавать приложения и для macOS. Здесь все не в полной мере аналогично iOS, однако, применительно к тем, кто имеет опыт работы с iOS, надо сказать, что они уже обладают множеством навыков, которые могут быть успешно использованы при разработке приложений для macOS. Благодаря Xamarin.Mac разработчики могут создавать отличные приложения macOS с помощью простого кода C#.

Из этой статьи вы узнаете, как создать свое первое приложение для macOS на C#, а разрабатывать мы будем таймер Pomodoro для обеспечения продуктивности.

 

Приступаем

Создание приложений для macOS начинается с того же, с чего и любое другое приложение, то есть, с File > New. Обратите внимание на то, что на Ваше устройство macOS необходимо установить Xamarin.Mac.

Разработка приложений macOS из Visual Studio не поддерживается!

Следуем по пути: File > New Solution > Mac > App > Cocoa App

Далее необходимо ввести имя приложения; мы назовем его просто Pomodoro.

Параметры Dock Item и Extension можно настроить, но сейчас мы оставим их как есть — с пустыми значениями или установленными по умолчанию. Мы разберемся с ними в другой статье.

Теперь основа для приложения macOS заложена! Сейчас приложение можно протестировать, запустив его из левого верхнего края Xamarin Studio. В отличие от Xamarin.iOS, здесь не нужно выбирать целевой объект для запуска приложения, поскольку приложение будет запущено прямо на компьютере Mac. Вы должны увидеть что-то вроде этого:

macOS первое приложение

 

Создание пользовательского интерфейса

Теперь, когда у нас есть основа приложения для macOS, пришло время построить пользовательский интерфейс, ведь от пустого приложения нет никакого проку!

В Xamarin.Mac для разработки пользовательского интерфейса используется Interface Builder от Xcode. Как и в iOS, интерфейсы macOS строятся с помощью Storyboard. Поддержка Storyboard на macOS была введена в версии 10.10 (Yosemite). Чтобы не усложнять статью, мы будем в данном случае рассматривать работу с версией macOS 10.10 и выше. Если приложение должно поддерживать 10, 9 или более низкие версии, необходимо использовать файлы .xib, о которых можно прочитать подробнее в руководстве по работе с файлами .xib.

В обозревателе решений дважды щелкните по пункту Main.storyboard. Xcode откроется автоматически со стабом проекта, а Storyboard будет открыт в конструкторе интерфейсов.

macOS первое приложение

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

Добавление объектов к интерфейсу в некоторой степени похоже на использование конструктора iOS в Xamarin Studio. В правом нижнем углу окна конструктора интерфейса отображается панель инструментов. Можно просмотреть доступные объекты, выбрав значок «Показать библиотеку объектов» (Show the Object library), как показано ниже:

macOs xcode

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

Для начала найдите объект Label, а затем перетащите его на контроллер представлений (View Controller).

Мы можем сделать то же самое для кнопки — Push Button.

macOS первое приложение

Чтобы отредактировать заголовок и ярлык у кнопки, можно либо дважды щелкнуть мышью для редактирования текста, либо в инспекторе атрибутов (Attributes Inspector) в верхней правой части окна найти пункт Title и отредактировать его.

Теперь, когда пользовательский интерфейс создан, настало время настроить в коде команды и outlets для работы с ним. Для этого нужно переключиться на помощник редактора (Assistant Editor), который можно найти в верхней правой части главного окна Xcode, и щелкнуть на значок, который выглядит как два перекрывающихся круга. При этом автоматически создается файл с именем ViewController.h. Если этого не происходит, в верхней части новой панели редактора щелкните по Automatic и выберите Manual > Pomodoro > Pomodoro > ViewController.h. Теперь Xcode должен выглядеть следующим образом:

macOS первое приложение

Настройка команд и outlet в файле заголовка (.h file) позволит нам ссылаться на них из проекта Xamarin. Чтобы при нажатии кнопки запускался код, мы должны настроить действие и ссылаться на метку (label) из проекта Xamarin, и, кроме того, нужно создать outlet.

Удерживая нажатой клавишу Control, нажмите на кнопку и перетащите курсор с нее на строку под заключительной закрывающей фигурной скобкой в правом редакторе. Во всплывающем окне измените Connection на Outlet, а имя укажите TimerLabel и нажмите «подключить»:

macOS первое приложение

Таким образом файл заголовка автоматически заполнится правильным определением для outlet:

Повторите те же шаги для кнопки, на этот раз назвав ее StartStopButton.

Теперь нужно добавить команду для кнопки. Удерживая нажатой клавишу Control, щелкните и перетащите курсор также как раньше. На этот раз во всплывающем окне измените Connection на Action, а имя укажите StartStopButtonClicked и нажмите «подключить»:

По завершении должно получиться следующие определение:

 

На данный момент, это все, что нужно сделать с Xcode, поэтому теперь можно вернуться в Xamarin Studio, и изменения будут синхронизированы автоматически.

 

Добавление формы поведения к пользовательскому интерфейсу

Вернувшись в Xamarin Studio, откройте файл ViewController.cs. Теперь можно добавить код для кнопки, которая была создана в Xcode.

Добавьте следующие свойства:

 

Затем в ViewDidLoad добавьте следующий код:

 

Наконец, нужен код, который будет запускаться при нажатии кнопки (мы установили команду для этого ранее):

 

Теперь у нас есть базовый таймер Pomodoro! Когда приложение запущено, можно нажать кнопку, чтобы включить таймер обратного отсчета:

macOS первое приложение

По истечении 25 минут будет показано оповещение:

macOS первое приложение

 

Итог

Программа Xamarin.Mac является отличным инструментом для разработки мощных приложений под macOS, которые используют весь потенциал C#. Только что мы создали базовый таймер Pomodoro для macOS. Если вы хотите узнать больше о Xamarin.Mac, ознакомьтесь с материалами, а также примите участие в обсуждениях на форуме! Готовый код, который был использован в этой статье, можно найти на GitHub.

 

Автор: Adam Hartley
ИсточникОфициальный блог Xamarin

Александр Алексеев
Александр Алексеев

Xamarin - разработчик. Работаю с .NET платформой с 2012 года, программирую в основном с использованием C#. За это время успел поработать с ASP.NET, Entity Framework, MSSQL, Git

Xamarin Forms отправка файлов

Написать ответ