Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
OPORNUY_TSPIS.doc
Скачиваний:
9
Добавлен:
12.11.2018
Размер:
4.78 Mб
Скачать

Тема 2. Засоби створення програмних додатків

План

2.1. Класифікація засобів розробки програмних додатків

2.2. Класифікація додатків, що використовують бази даних

2.3. Огляд засобів створення програмних додатків

2.1. Класифікація засобів розробки додатків

Класифікувати засобу розробки можна з різних позицій, наприклад виходячи з підтримуваного ними мови програмування, або працездатності створених додатків на тій або іншій платформі, або наявності в них тих або інших бібліотек і візуальних засобів. Ми ж спробуємо класифікувати засобу розробки додатків, виходячи зі зручності їхнього застосування для створення продуктів, що представляють собою користувальницький інтерфейс до бази даних.

Практично будь-який засіб розробки, що мало-мальськи претендує на універсальність, можна змусити працювати з будь-якою базою даних - досить підтримки застосування в цьому засобі розробки сторонніх бібліотек і наявності в цієї бази даних набору клієнтських інтерфейсів (API) для платформи, на якій повинні функціонувати створені додатки. Однак далеко не будь-яка пара продуктів "засіб розробки плюс СКБД" приваблива з погляду трудозатрат, пов'язаних зі створенням подібних додатків. Можна написати повноцінний додаток, що викликає функції клієнтського API і користувальницький інтерфейс, що реалізує зручний, за допомогою компілятора мови С и найпростішої графічної бібліотеки (наприклад, що дозволяє змінювати колір пикселов на екрані) для тієї операційної системи, у якій буде працювати даний додаток. Але витрати, пов'язані з реалізацією подібного проекту, можуть виявитися зовсім невиправданими - адже в цьому випадку розроблювачам прийде реалізовувати функції, які вже втримуються в бібліотеках класів і компонентів засобів розробки, більш глибоко орієнтованих на створення додатків з базами даних або створення таких додатків, що включають підтримку.

Засоби розробки, орієнтовані на конкретні СКБД

Років десять-двадцять назад у багатьох додатках, що використовує бази даних, функції клієнтського API викликалися з коду, написаного на одній з мов програмування, найчастіше на C. Досить глянути на опис API клієнтської частини майже будь-який серверної СКБД - і ви знайдете чимало прикладів найбільш типових фрагментів коду, наприклад, для реєстрації користувача, виконання запитів і т.п. Однак досить швидко розроблювачам СКБД стало ясно, що трудозатраты, пов'язані з написанням подібного коду, можна істотно скоротити, зібравши в бібліотеки найбільш типові фрагменти коду й найбільше що часто зустрічаються елементи користувальницького інтерфейсу (нехай навіть і для алфавітно-цифрових терміналів), оформивши ці бібліотеки у вигляді окремого продукту й додавши до нього середовище розробки й утиліти проектування користувальницьких форм для перегляду й редагування даних, а також звітів. Саме так і з'явилися перші засоби розробки, орієнтовані на конкретні СКБД, такі, наприклад, як Oracle*Forms (попередник нинішнього Oracle Forms Developer).

Продукти цього класу на ринку засобів розробки є й сьогодні. Майже всі виробники серверних СКБД роблять і засобу розробки додатків. У переважній більшості випадків сучасні версії цих засобів розробки підтримують доступ до СКБД інших виробників як мінімум за допомогою одного з універсальних механізмів доступу до даних (ODBC, OLE DB, BDE). Однак доступ до "своєї" СКБД звичайно здійснюється максимально ефективним способом, тобто за допомогою клієнтських API, об'єктів, що втримуються в бібліотеках клієнтської частини серверних СКБД, спеціальних класів для доступу до даних цієї СКБД або за рахунок реалізації драйверів для універсальних механізмів доступу до даних, здатної враховувати специфічні особливості даної СКБД.

В окрему категорію можна виділити середовища розробки настільних СКБД. У статті даного циклу, присвяченої настільним СКБД, ми вже відзначали, що переважна більшість настільних СКБД, що дожили до сьогоднішнього дня, таких як Microsoft Visual FoxPro, Microsoft Access, Corel Paradox, Visual dBase, підтримують доступ до серверних СКБД, як мінімум, за допомогою універсальних механізмів доступу до даних, що дозволяє умовно віднести їх і до категорії засобів розробки. Відзначимо, однак, що в цей час створення додатків в архітектурі " клієнт-сервер" з їхньою допомогою - явище нечасте. Виключення, мабуть, становлять пари Microsoft Access - MSDE, Microsoft Access - Microsoft SQL Server і Microsoft Visual FoxPro - Microsoft SQL Server. Тут у наявності результат грамотної політики Microsoft, що прагне до максимальної сумісності своїх продуктів і обеспечивающей найбільш безболісну для користувачів заміну своїх настільних СКБД власними ж серверами баз даних (Access->MSDE->Microsoft SQL Server, FoxPro->Visual FoxPro->Microsoft SQL Server).

Засоби розробки, універсальні стосовно СКБД

Засоби розробки, універсальні стосовно СКБД (або претендують на подібну універсальність), як правило, є послідовниками звичайних засобів розробки додатків, що не мають прямого відношення до баз даних. Типові приклади таких засобів розробки - Borland Pascal, Borland C++, Microsoft QuickC. Здатні використовувати бібліотеки сторонніх виробників, ці засоби дозволяли звертатися до функцій клієнтських API, а з розвитком універсальних механізмів доступу до даних (таких як ODBC) - і до функцій API бібліотек, що реалізують такі механізми. Відзначимо, що нерідко за допомогою цих засобів розробки створювалися середовища настільних СКБД (таких як dBase, FoxBase) або псевдокомпиляторы для мов сімейства xBase (наприклад, Clipper).

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

До першої категорії ставляться засоби розробки, що володіють великими бібліотеками класів, більшим кількістю "майстрів" і кодогенераторов, але орієнтовані на "ручне" створення коду й досить рідко застосовувані для створення "стандартних" додатків для роботи з базами даних (тут під словосполученням "стандартний додаток" ми маємо на увазі додаток, що має безпосередній доступ до бази даних, з яким взаємодіє користувач, тобто являющееся "класичним" клієнтом серверної СКБД). Типовим (і єдиним дійсно популярним на ринку програмного забезпечення) представником цього класу продуктів є Microsoft Visual C++. За допомогою Microsoft Visual C++ і бібліотеки MFC (Microsoft Foundation Classes) можна створювати будь-які додатки, якщо ви маєте навичку, знаннями, умінням і часом. Проте додатка, що володіють складним користувальницьким інтерфейсом (наприклад, що використовують бази даних), з його допомогою розробляють не так часто (хоча приклади подібного його використання можна знайти навіть у вітчизняній літературі). В основному цей продукт застосовується для створення клієнтських додатків у випадку пред'явлення до них особливих вимог, таких, наприклад, як висока продуктивність, здатність здійснювати які-небудь нестандартні операції та ін.

До другої категорії ставляться засоби розробки з розвиненими візуальними інструментами, що дозволяють буквально "малювати" користувальницький інтерфейс, частково стираючи розходження між роботою програміста й користувача й удешевляя кінцевий продукт за рахунок залучення до проектування інтерфейсу розроблювачів, що володіють не найвищою кваліфікацією (якщо уважно вивчити програми курсів навчальних центрів, що спеціалізуються на навчанні засобам розробки Microsoft, Borland і Sybase, те можна виявити, що тривалість курсу навчання, прослухавши який звичайний користувач Windows повинен навчитися створювати клієнтські додатки для серверних СКБД, становить від 5 до 10 робочих днів).

Саме ця категорія засобів розробки найбільше часто застосовується при створенні клієнтських додатків. До найбільш популярних продуктів подібного класу варто віднести Microsoft Visual Basic, Borland Delphi, Sybase PowerBuilder і Borland C++ Builder. Середовища розробки подібних продуктів досить схожі зовні (з точністю до розташування вікон на екрані, установлюваного "за замовчуванням"): як правило, середовище розробки такого продукту містить "заготівлю" проектованої форми (аналога вікна), окрему панель із піктограмами елементів користувальницького інтерфейсу й інших використовуваних у додатку об'єктів, які можна вибирати й поміщати на форму, вікно, у якому відображаються й редагуються властивості одного з обраних на формі елементів (а іноді і список подій, на які реагує даний елемент), вікно редактора коду, де можна вводити фрагменти коду, пов'язані з обробкою тих або інших подій, а також код, що реалізує логікові роботи даного додатка. Як правило, сучасні засоби розробки такого класу дозволяють створювати найпростіші додатки для редагування даних практично без написання коду.

Останнім часом дуже популярним стало також створення додатків, що використовують доступ до баз даних, але розташованих усередині звичайних документів. В основу засобів розробки подібних додатків покладені макромови відповідних редакторів. Найбільш типовим і практично єдиним популярним представником засобів розробки цієї категорії є Visual Basic for Applications, подібний з перерахованими вище візуальними засобами розробки й відрізняється від них тим, що створені з його допомогою додатка втримуються усередині документів Microsoft Office і не відчужуються від них.

Відзначимо, однак, що наведений розподіл засобів розробки на ці два класи досить умовно. Як ми вже говорили вище, практично всі засоби розробки додатків з базами даних, у тому числі й орієнтовані на конкретні СКБД, підтримують як мінімум один з універсальних механізмів доступу до даних. І практично всі "універсальні" засоби розробки додатків, якщо вони належать виробникові яких-небудь серверних СКБД, підтримують "свої" СКБД краще, ніж СКБД сторонніх виробників (це може виражатися, наприклад, в особливих бібліотеках класів або компонентів для доступу до даного сервера, а також у наявності загальних репозитаріїв об'єктів і моделей даних, а іноді й загальних із клієнтською частиною серверної СКБД редакторів параметрів доступу до даних або схем даних)

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]