МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах
РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ" ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах Гендерна антидискримінаційна експертиза може зробити нас моральними рабами ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів
Контакти
Тлумачний словник Авто Автоматизація Архітектура Астрономія Аудит Біологія Будівництво Бухгалтерія Винахідництво Виробництво Військова справа Генетика Географія Геологія Господарство Держава Дім Екологія Економетрика Економіка Електроніка Журналістика та ЗМІ Зв'язок Іноземні мови Інформатика Історія Комп'ютери Креслення Кулінарія Культура Лексикологія Література Логіка Маркетинг Математика Машинобудування Медицина Менеджмент Метали і Зварювання Механіка Мистецтво Музика Населення Освіта Охорона безпеки життя Охорона Праці Педагогіка Політика Право Програмування Промисловість Психологія Радіо Регилия Соціологія Спорт Стандартизація Технології Торгівля Туризм Фізика Фізіологія Філософія Фінанси Хімія Юриспунденкция |
|
|||||||
Розділ «Інструменти програмної інженерії»Лекція №22 Тема: IDE – інтегровані середовища розробки. Мета: Визначення призначенняя та порівняльна характеристика IDE Перелік питань, що розглядаються на лекції: 1. Поняття IDE та його призначення 2. Складові частини IDE 3. Призначення складових частин 4. Плагіни IDE
Інтегровані засоби (середовища) розробки (IDE) не є критично необхідним компонентом програмної розробки. У традиціях UNIX цілком достатнім для ведення програмної розробки вважається використання текстового редактора, який володіє додатковими розвиненими властивостями, такими як кольорова розмітка тексту, функції контекстного пошуку і заміни. Редакторів в Linux, що задовольняють таким вимогам, безліч, починаючи з традиційних vim і Emacs, і до простого редагування в mc по F4. Досвід використання показує, що цих коштів цілком достатньо аж до середніх розмірів проектів. Але використання IDE часто дозволяє більш продуктивно вести відпрацювання програмного коду, оперативніше виконувати в зв'язці цикл: редагування коду - складання проекту - налагодження. Значно зростає роль IDE в розробці GUI додатків, тому як більшість IDE припускають у своєму складі візуальні побудовники графічних екранів. Під Linux доступно вельми багато різних IDE, різного ступеня інтегрованості. Їх вже настільки багато, що стає безглуздим описувати все, або значну їх частину в деталях: використання тих чи інших IDE стає, значною мірою, питанням суб'єктивних уподобань і звичок. Можна перерахувати лише кілька з 1, числа найбільш широко використовуваних IDE (і показаний їх зовнішній вигляд, щоб їх «розрізняти в обличчя»): Kdevelop (http://kdevelop.org/) - середа розробки проекту KDE, активно розвивається з 1998 р Kdevelop крім проектів на мові C, дозволяє вести проекти практично на всіх використовуваних в Linux мовах: C ++, Perl, Python, PHP, Java , Fuby, Ada, Bash, Pascal, Fortran. Ця середу дозволяє інтегрувати (технологія KParts) різні текстові редактори, але основним редактором є Kate. Kdevelop щільно інтегрований з Linux (на відміну від більшості інших IDE він не є багато-платформних). Середа вміє генерувати початкові скелети додатків. Відмінною особливістю Kdevelop (великим плюсом в деяких випадках) є те, що серед таких шаблонів є і проект модуля ядра (драйвера) Linux: Шаблони проектів Kdevelop (архів Kdevelop.tgz) досить громіздкі. Але це властиво всім IDE. Ось як виглядає найпростіший проект, побудований для Cmake, після очищення від побудованих виконані файли: $ Make clean ... $ Du -hs 248K.
Eclipse IDE (Eclipse Integrated Development Environment, http://www.eclipse.org/) - одна з найбільш відомих на сьогодні середовищ, активно розвивається з 2000р., Спочатку як пропріетарний проект IBM, який потім був перетворений у відкритий проект. Відмінною особливістю є можливість динамічних розширень (які може підготувати і рядовий користувач), за рахунок цього напрацьовані плагіни для підтримки десятків мов програмування, серед яких: Java, C / C ++, PHP, Python і багатьох інших, число яких постійно приростає через легкості роботи з плагінами. Це середовище розробки представлено практично для всіх операційних систем, за рахунок того, що сама вона повністю виконана на Java. Але Eclipse IDE є мульти-платформної середовищем не тільки в сенсі безлічі операційних систем, де вона може виконуватися, але і безлічі апаратних платформ, відмінних від x86, для яких може вестися крос-розробка: ARM, MIPS, PPS . і навіть мікроконтролери , наприклад, AVR. Окрім засобів розробки, в Eclipse IDE включаються у вигляді плагінів програмні емулятори інших апаратних платформ (наприклад, Android ARM) для цілей налагодження. На основі Eclipse IDE сторонніми розробниками створено багато інших IDE, спеціалізованих під конкретні застосування, і це створює складності у виборі конкретної модифікації IDE. Eclipse IDE представлений в репозитаріях практично будь-якого дистрибутива Linux, звідки може бути встановлений. Але проект розвивається дуже динамічно, тому, можливо, є сенс встановлювати найбільш свіжу реалізацію з сайту проекту. На малюнку показаний можливий вид в Eclipse IDE мінімального проекту, що відпрацьовується під архітектуру ARM7: $ File factorial factorial: ELF 32-bit LSB executable, ARM, version 1 (SYSV), statically linked, not stripped
Oracle Solaris Studio (http://www.oracle.com/technetwork/server-storage/solarisstudio/overview/index.html - колишній проект Sun Solaris Studio), один з найстаріших проектів, спочатку орієнтований на операційну систему Solaris, але там же є альтернативна реалізація для Linux. Компілятор в складі Solaris Studio (сс) володіє особливими оптимизирующими властивостями і нерідко генерує більш ефективний і швидкодіючий код, ніж gcc. Але середу може бути налаштована і на використання компілятора gcc. Орієнтований на мови програмування: C, C ++ і Fortran, з додатковими плагінами від сторонніх виробників (встановлюються безпосередньо з Solaris Studio): Java, PHP, Python, Ruby, Ada (але це може зажадати додаткової установки Oracle JDK).
Solaris Studio заснований на NetBeans IDE, виконаний на Java (як і більшість засобів OS Solaris). Має дуже багаті настройки (архів SolarisStudio.tgz), в тому числі і в частині використовуваних компіляторів:
Solaris Studio не представлений в репозитаріях дистрибутивів Linux, і повинен встановлюватися з інсталяційних файлів з сайту Oracle (вказаний вище). Установка бінарна. IntelliJ IDEA (http://www.jetbrains.com/idea/), проект, активно створюваний з 2000 р, орієнтований на мову Java, але що має розвинені інструменти розробки та налагодження під Android (має ефективний емулятор Android, заснований на віртуальній машині QEMU). Розвиваються дві реалізації IDE: вільна (загальнодоступна) і професійна (пропріетарна). Ось як виглядає в IntelliJ IDEA проект для Android (архів IDEA.tgz) і емулятор Android в якому це додаток відлагоджується:
При запуску IDEA з терміналу ви можете побачити попередження: $ ./idea.sh OpenJDK Runtime Environment (IcedTea6 1.8.3) (fedora-43.1.8.3.fc12-i386) OpenJDK Server VM (build 14.0-b16, mixed mode) WARNING: You are launching IDE using OpenJDK Java runtime NOTE: If you have both Sun JDK and OpenJDK installed please validate either IDEA_JDK or JDK_HOME environment variable points to valid Sun JDK installation Але це попередження, рівною мірою, стосується всіх IDE, реалізованим на Java (а всі найбільш розвинуті IDE реалізовані саме на Java: Eclipse IDE, Solaris Studio, ...) - всі вони воліють (працюють ефективніше) використання оригінального Sun JDK, а не OpenJDK. Sun JDK можна вільно завантажити з сайту Oracle і встановити в своїй системі (мабуть, це слід зробити, якщо ви плануєте активно використовувати IDE побудовані на Java). Code :: Blocks IDE (http://www.codeblocks.org/) - вільна багато-платформна середу розробки, сама система написана на С ++, з використанням яку переносять графічної бібліотеки wxWidgets (http://www.wxwidgets.org/ ). Підтримує мови програмування С і С ++, але для різноманітних операційних систем (Windows, Linux, Mac OS X), середовище можна зібрати практично під будь-яку UNIX систему, наприклад FreeBSD. Забезпечує крос-розробку під ряд використовуваних процесорних платформ (ARM, AVR). Середовище створює шаблони додатків і підтримує розробку для багатьох графічних платформ (GTK +, Qt, wxWidgets, GLUT та інші), тому може виявитися особливо зручною для проектування GUI додатків. Це середовище припускає використання (на вибір) різних компіляторів С / С ++ з числа встановлених в системі: Крім того, Code :: Blocks пропонує дуже розширений набір шаблонів для створюваних додатків (різні платформи, різні графічні бібліотеки):
Проекти, створені Code :: Blocks, дуже компактні, що приємно вирізняє її від багатьох інших IDE (тут показаний обсяг разом із зібраним бінарним додатком): $ Du -hs first 40K first Geany (http://www.geany.org/) - популярна серед багатьох розробників, проста в обігу, багато-платформна середу розробки. По суті, Geany не є IDE, а є розвинений інструмент редагування кодів з колірною розміткою, вбудованим викликом gcc, make, Завдяки такій специфіці Geany використовується для при розробці програм більш ніж на 40 мовах програмування, серед яких: C / C ++, Java, JavaScript, Tcl, PHP, Python, XML / HTML та інші. Geany працює не з якими-небудь специфічними проектами, а з файлами програмного коду, що збираються традиційним make. На малюнку показаний вид в Geany обсуждавшегося раніше додатки створення бібліотек, нижче видний запущений у вікні терміналу Geany менеджер mc (відсутність специфічних для IDE «наворотів» і визначає гнучкість і універсалізм Geany):
Glade (http://glade.gnome.org/) - Glade не є IDE в тому сенсі, як описані раніше. Це вільна система візуального створення графічних інтерфейсів (GUI), яка може створювати шаблон практично під будь-яку графічну бібліотеку (сам Glade написаний на основі GTK +). Створимо шаблон додатки (архів Glade.tgz): $ wxglade
Далі нам залишається написати сценарій збірки (Makefile) для згенерованого шаблону додатки, у разі використання wxWidgets це буде щось типу CCOPT = `wx-config --cxxflags` LDOPT = `wx-config --libs` app: app.cpp g ++ $ (CCOPT) $ (LDOPT) $ <-o $ @ Далі ми можемо відкрити отриманий проект для подальшої роботи в уже розглянутий раніше Geany. Тим самим усувається нагромадження «під одним дахом» занадто інтегрованих IDE: і генерації візуальних образів GUI, і відпрацювання програмного коду. Це далеко не всі IDE, активно застосовуються в розробках. З інших деякі варто було б хоча б просто назвати «по імені»: - Anjuta (http://www.anjuta.org/) - офіційна інтегрована середа розробки проекту GNOME, для розробки на мовах: C, C ++, Vala, Java, JavaScript, Python. Особливо добре підходить для розробки GUI додатків. - QDevelop (http://code.google.com/p/qdevelop/) в зв'язці з QtDesigner (http://trolltech.com) або Qt Creator (http://trolltech.com/developer/qt-creator) - являють собою потужний комплекс для відпрацювання графічних додатків, що базуються на бібліотеці Qt. Qdevelop являє собою полегшену версію Kdevelop, хоча і побудований на абсолютно відмінному коді. Розвиток Qdevelop розпочато в 2006р. - HaiQ(http://groups.google.com/group/haiq/) - ще одна багато-платформна IDE, орієнтована на розробку з використанням бібліотек Qt.
Наведений побіжний огляд ні в якій мірі не розрахований як об'єктивне уявлення або порівняння всіх доступних в Linux засобів розробки. Зауважимо тут, що різноманітних засобів розробки в Linux набагато більше, ніж в Windows, але це різноманітність створює і деяку розгубленість у виборі оптимальних інструментів під конкретний програмний проект. Деяке порівняння (але також обмежене) можна знайти за посиланням http://ru.wikipedia.org/wiki/Сравнение_средств_разработки. Ці, а також і інші IDE ви легко знайдете і встановіть в своїй системі під свій смак, користуючись технікою установки програмного забезпечення, описуваної далі. Навряд чи цей предмет варто більшої уваги. Питання для контролю знань 1. Поняття IDE та його призначення 2. Складові частини IDE 3. Призначення складових частин 4. Плагіни IDE 5. Сцчасні IDE та їх особливості
Лекція №22, 23 Тема: Система контроля версій, (Git, Mercurial, SVN) Порівняльна характеристика систем контроля версій. Мета: Ознайомлення з програмами системи контроля версій. Перелік питань, що розглядаються на лекції: 1. Загальні відомості про програми контролю версій 2. Типовий порядок роботи 3. Конфліти та їх вирішення 4. Версії проекту, теги 5. Розподілені системи управління версіями 6. Словник термінів та визначень 7. Git –принципи роботи
Система управління версіями (від англ. Version Control System, VCS або Revision Control System) - програмне забезпечення для полегшення роботи з мінливих інформацією. Система керування версіями дозволяє зберігати кілька версій одного і того ж документа, при необхідності повертатися до більш ранніх версій, визначати, хто і коли зробив ту чи іншу зміну, і багато іншого. Такі системи найбільш широко використовуються при розробці програмного забезпечення для зберігання вихідних кодів розроблюваної програми. Однак вони можуть з успіхом застосовуватися і в інших областях, в яких ведеться робота з великою кількістю безперервно змінюються електронних документів. Зокрема, системи управління версіями застосовуються в САПР, звичайно в складі систем управління даними про виріб (PDM). Управління версіями використовується в інструментах конфігураційного управління (Software Configuration Management Tools).
Читайте також:
|
||||||||
|