Лучшая среда разработки для mac os

Создание программ для Mac OS X. Часть 2: средства разработки и создание простого приложения

В этой части я расскажу вам о средствах разработки приложений под Mac OS X Leopard. Скажу сразу, что буду рассматривать только те, которые предоставляются самой Apple. Другие IDE существуют, но они обычно кроссплатформенные (например Code::Blocks), так что рассказывать о них лучше не в этой статье.

Так вот, на диске с Лео идет инструментарий разработчика Mac OS X — набор необходимых программ и фреймворков для создания приложений. Устанавливается все это дело(приложения, документация, куча примеров, разные полезные утилиты, etc.) в папку /Developer.

После установки имеет 4 основных приложения для разработки:
1. XCode — основная IDE
2. Interface Builder — программа для создания интерфейсов прораммы, хотя ее возможности куда шире
3. Instruments — средство для слежения за программой
4. Dashcode — программа для создания виджетов для Dashboard

А теперь про эти приложения подробнее:
/*многие картинки кликабельны*/

Xcode

Xcode — основная среда разработки, есть все, что и положено для IDE. Расписывать все функции нет особого смысла, т.к. она не сильно отличается от Visual Studio или KDevelop. А вот про нововведения в версии 3.0 упомянуть стоит:

1.подсветка блоков кода:

2. сворачивание(folding) блоков кода(наконец-то)
3. улучшеный(в сторону скорости работы) редактор кода
4. рефракторинг кода

5. поддержка Objective-C 2.0
6. Research Assistant — помощник, который исходя из выделенного текста пытается найти подходящую статью в Help и выводит в своем окне

7. показ ошибок, предупреждений, etc прямо в коде:

8. снимки проекта. Очень удобная вещь, по нажатию клавиш Ctrl+Command+S текущий проэк сохраняется в отдельное место, и потом можно будет к нему вернутся, если что-нибудь намудрил, причем для каждого файла показывается разница между тем что было и что стало:

9. Органайзер. Насколько я понял, это инструмент для управления множества проектов, также позволяет использовать Xcode для написания программ на неизвестных языках для него. Сам еще не разбирался что это, но нашел статью, в которой рассказывается про органайзер подробнее.

Interface Builder


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

Для чего же используется IB в процессе создания программы? Только для раскидывания кнопочек по форме — нет. Одна из основных задач IB — связывать объекты друг с другом, с переменными в классе, с разными событиями и т.п.

Instruments


Instruments — средство для слежения за приложениями. Построен на порте под Mac OS X «DTrace tracing framework» из OpenSolaris. Само слежение проходит с помощью отдельных инструментов, которые хранятся в библиотеке и при необходимости перетаскиваются в главное окно. Изначально уже есть много инструментов, например инструмент для слежения за сетевой активностью, загрузкой процессора, чтения-записи на диск. Если нужного инструмента не хватает, то можно его создать самому:

Dashcode

Я думаю из названия понятно для чего предназначена эта программа, а именно — создания виджетов для Dashboard. Баловался програмкой не долго, процесс создания виджета напомнил работу в Macromedia Flash. Вот сделал виджет для чтения rss хабра за секунд 10:

Читайте также:  Python execute commands windows

Создание простого приложения средствами Xcode и Interface Builder

Как я и обещал, сейчас мы создадим простое приложение. Что оно будет делать? После ввода текста в поле редактирования и нажатия Enter выводить введенный текст на поле надписи(label). Предупрежу, что не буду подробно рассказывать почему что-то надо сделать именно так, мат.часть пойдет потом, сейчас — простое создание приложения без лишних вопросов.

Итак начнем:
открываем Xcode и выбираем в меню File => New Project, в появившемся окне отмечаем «Cocoa Application» и нажимаем Next:

Далее зададим имя проекта — habr_1 и где он будет хранится(у меня

/xcode/habr_1/):

после этого нажмем Finish и получим проект. Теперь нам нужно добавить класс, который будет реализовать то, что нам нужно. Для этого идем в меню File => New File… и выбираем Objective-C class и жмем Next. В следующем окне нас попросят задаять имя файла, так что пишем «controller»:

Теперь в окне проекта слева в папке Classes появились два файла: controller.h и controller.m. Откроем controller.h и напишем тоже, что и на картинке:

Теперь два раза кликнем по файлу MainMenu.nib, откроется Interface Builder и станет активным. Что мы видим: заготовку под окно, главное меню и окно, обозначающее что мы открыли MainMenu.nib. Нажмем в меню Tools => Library чтобы открыть библиотеку с объектами и Tools => Inspector чтобы видеть свойства этих самых объектов. Теперь нам надо добавить в MainMenu.nib объект, который будет представлять созданный нами класс «controller», так что в библиотеке находим объект NSObject(синий полупрозрачный кубик) и перетаскиваем его в окно с надписью MainMenu.nib:

Переименуем «Object» в «controller» для ясности. Теперь нужно объяснить этому кубику, что он представляет нужный нам класс. Для этого оставляя его активным переходим на вкладку «Identity»(вторя справа) в инспекторе и в выпадающем списке напротив надписи «Class» выбираем наш «controller»:

Теперь добавим на форму из Библиотеки поле редактирования и метку. Для поля редактирования в на вкладке «Attributes»(первая слева) в выпадающем списке напротив надписи «action» выберем «Sent On Enter Only». Должно получится примерно такое:

А теперь начинается самое интересное, мы должны связать переменную «label» из класса с меткой и задать «setText:» в качестве сообщения, которое посылает текстовое поле при окончании редактирования. Свяжем метку с переменной label: сделаем активным наш объект «controller», зажмем Ctrl и левую кнопку мыши над синим кубиком и перенесем курсор на нашу метку, увиди следующюю картину:

после отпускания лкм появляется вот такое окно(в нем будут все классовые переменные, которые по типу совпадают с тем, к чему мы пытаемся связать):

выбираем в нем единственную запись label. Все, теперь мы связали класовую переменную label и нашу метку на форме. Связывание полz редактирования с посылаемым ей сообщением проходит также, только перетягивать надо не с кубика на поле, а наоборот — с поля редактирования на объект controller.

Все, сохраняем MainMenu.nib(File => Save) и возвращаемся в Xcode.

В Xcode открываем файл controller.m и описываем реализацию сообщения:

Сохраняем проект, нажимаем Build and Go и получаем готовое приложение:

Введем что-нибудь в поле редактирования и нажмем Enter, вот результат:

Мощь Interface Builder

А сейчас я покажу вам как IB может упростить жизнь и количество кода. Создадим почти приложение(почти потому, что откомпилировать в полноценное приложение). Что оно будет делать? Выводить состояние слайдера в поле редактирования и иметь кнопку для закрытия.

Итак начнем. Откроем Interface Builder, File => New, выбираем «Window» и клацаем «Choose», получаем окно «Untitled», обозначающее наше окно и заготовку окна, кидаем на нее горизонтальный слайдер, поле редактирования и кнопку, причем в свойствах обзываем ее «Close»:

Теперь проводим связь _от слайдера_к_полю_редактирования_, после отпускания лкм в выпадающем списке выбираем «takeDoubleValueFrom:»:

Аналогично свяжем кнопку с событием terminate: объекта «First Responder» из окна «Untitled»(красненький кубик с единичкой).

Читайте также:  Lenovo ideapad 330 linux wifi

Теперь File => Simulate Interface, получаем прототип работоспособного приложения: при изменении положения слайдера изменяется число в поле редактирования, при нажатии на Close приложение закрывается.

Вот так просто можно избавить себя от написания многих строк кода.

А если кто еще не убедился в этом, то посмотрите это видео. В нем сам ОН(не, не RMS) рассказывает и показывает всю мощь Interface Builder(правда перед этим минут 30 пиара NextSTEP):

Источник

Выбираем самый удобный редактор кода Python

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

1. Python IDLE

IDLE — редактор, поставляемый вместе с Python. Это базовый, упрощенный режим программирования на Python. Тем не менее, IDLE хороший редактор для начала программирования и понимания основ языка. В нем есть оболочка Python — интерактивный интерпретатор. Его возможности обширны: автозавершение кода, подсветка синтаксиса, подбор отступа и базовый встроенный отладчик.

  • Не подходит сложным проектам.
  • Не хватает продвинутых функций.

2. Sublime Text

Sublime Text — свободное программное обеспечение с широкой поддержкой сообщества. Редактор работает с несколькими языками программирования. В большинстве случаев можно использовать незарегистрированный Sublime Text, но время от времени вы будете получать всплывающее окно с просьбой зарегистрировать продукт и приобрести лицензию. Sublime Text тонко настраивается и дополняется пакетами для отладки, автозавершения кода, линтинга и т.д.

  • Простой и по большей части бесплатный.
  • Тонко настраивается.
  • Компактный и эффективный.

Минусы:

  • Для удобства требует дополнительных пакетов.

3. Visual Studio Code

Visual Studio Code — бесплатный редактор кода от Microsoft для Windows, Linux и MacOS. Его возможности — отладка, подсветка синтаксиса, интеллектуальное завершение кода, предопределённые фрагменты кода, рефакторинг и интеграция с Git. Поддерживаются различные языки программирования. Для начала работы с Python может понадобиться несколько дополнительных пакетов, но установить их довольно просто. Редактор постоянно обновляется. Visual Studio Code — один из лучших редакторов не только для Python, но и для других языков программирования. Я часто пользуюсь VSC и очень рекомендую его.

  • Это фантастическая платформа с непрерывными обновлениями.
  • Потребляет немного памяти по сравнению с другими громоздкими инструментами разработки.
  • Имеет встроенный терминал и прост в использовании.

Минусы:

  • Иногда терминал работает не так, как хотелось бы.

4. Jupyter Notebook

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

  • Лучшая платформа для начала работы с наукой о данных.
  • Легко делиться файлами и визуализациями.
  • Разметка и другие дополнительные функции.

Минусы:

  • Нет мощных функций из некоторых IDE.

5. PyСharm

PyCharm — это интегрированная среда разработки специально для Python. Разработана чешской [прим. перев. — автор ориентируется на расположение головного офиса] компанией JetBrains. Редактор разработан специально для Python, так что имеет широкий набор возможностей, таких как автозавершение и инспекции кода, подсветка ошибок, исправления, отладка, система контроля версий и рефакторинг. IDE доступна на Microsoft Windows, Linux и MacOS. Есть бесплатная и платная профессиональная версии. Профессиональная IDE имеет несколько дополнительных функций, но бесплатной версии достаточно для большинства задач. Я настоятельно рекомендую PyCharm, если у вас есть как минимум 8 Гб оперативной памяти.

  • Имеет важные встроенные функции.
  • Разработана профессионалами специально для Python.
  • Поддерживает виртуальные среды Anaconda.
Читайте также:  Драйвер для bluetooth адаптера asus usb bt400 windows 10

Минусы:

  • Основная проблема PyCharm: если у вас недорогой ПК или ноутбук и в нем нет 8 Гб оперативной памяти, то IDE немного притормаживает и работает довольно медленно.

6. Thonny

IDE Thonny предустановлена на системы Linux и системы на ее основе. Мой опыт работы с этим редактором в основном связан с Raspberry Pi. Это отличная, простая среда разработки для начинающих. Thonny хорошо подходит Raspberry Pi. Некоторые возможности: подсветка синтаксических ошибок, отладчик, автозавершение кода, пошаговое вычисление выражений.

  • Интерактивная среда.
  • Подходит для начинающих.
  • Может использоваться для проектов Raspberry Pi.

Минусы:

  • Редактор склонен к проблемам.
  • Имеет не очень много возможностей.

7. Spyder

Spyder — это мощная научная интегрированная среда программирования, написанная на Python, для Python. Она разработана учеными, инженерами и аналитиками данных для них самих. Spyder обладает уникальным сочетанием возможностей. Продвинутое редактирование, анализ, отладка и профилирование сочетается с возможностями исследования данных, интерактивного выполнения, глубокой инспекции кода и красивой визуализацией. Установить Spyder просто: скачайте его как часть дистрибутива Anaconda. Разработчики рекомендуют последнюю 64-битную версию Python 3, если у вас нет особых требований.

  • Бесплатный редактор, поставляется с Anaconda.
  • Хорошее рабочее окружение для просмотра интерпретаций и кодирования в два окна.
  • Широкий выбор опций исключительно для Python.

Минусы:

8. Atom

Эта IDE похожа на текстовый редактор Sublime. Она очень настраиваемая и поддерживает многие необходимые пакеты. У меня меньше опыта работы с этим редактором, поэтому я рекомендую скорее Sublime Text, чем Atom. Но перечислю некоторые часто используемые пакеты Atom для разработки на Python: autocomplete-python , linter-flake8 , python-debugger .

  • Работать с Atom легко.
  • Поддерживает Python после дополнительных установок.

Минусы:

  • Требуется дополнительный плагин для Python.
  • Больше подходит для работы с git.

9. VIM

Vim — это текстовый редактор, предустановленный в системах MacOS и UNIX. Большинство экспертов любят vim за развитые вычислительные возможности и легкую, компактную среду разработки. Он не рекомендуется начинающим, так как изучать его трудно. Можно добавить плагины подсветки синтаксиса, автозавершения кода, отладки, рефакторинга и другие к Vim и использовать его как Python IDE. [Прим. перев. На скриншоте GVim — версия Vim с графическим интерфейсом].

  • Нужно посвятить время изучению редактора, у него крутая кривая обучения.

10. Notepad++

Notepad++ — это редактор текста и исходного кода, работающий на Microsoft Windows. Поддерживается редактирование с вкладками, что позволяет работать с несколькими открытыми файлами в одном окне. Название проекта происходит от оператора инкремента языка С. Notepad++ распространяется как свободное программное обеспечение. Редактор поддерживает множество языков программирования и может быть полезным. На мой взгляд, есть и лучшие варианты. Кроме того, нужно установить дополнительные пакеты, чтобы сделать редактор функциональным для программирования на Python.

  • Заменяет блокнот.
  • Может использоваться для нескольких языков программирования, включая Python.

Минусы:

  • Требуется дополнительная настройка и установки плагинов, чтобы работать с Python.
  • Не в топе рекомендаций: есть много вариантов получше.

11. Онлайн редакторы

На Programiz, tutorials point, w3schools и некоторых других сайтах есть редакторы с удивительными возможностями.

  • Никаких дополнительных установок и настроек.
  • Простой код запускается без особых хлопот.

Минусы:

  • Не такие мощные, как IDE.

Это был длинный список. Я охватил почти все редакторы из моего опыта работы. Самое смешное: есть вероятность, что я многое упустил. Есть множество настраиваемых, удобных пользователям редакторов. Также сегодня существует множество облачных IDE именно в онлайне. GitHub работает над Codespaces — облачной версией VSCode. И Vim настраивается так гибко, что может иметь множество других плюсов и минусов.

Расскажите, в каком редакторе для Python вы пишете код и почему?

Получить востребованную профессию с нуля или Level Up по навыкам и зарплате, можно, пройдя онлайн-курсы SkillFactory:

Источник

Оцените статью