Delphi преимущества и недостатки

Delphi – это продукт Borland International для быстрого создания приложений. Процесс создания интерфейса будущей программы напоминает забаву с игровым компьютерным конструктором. Поэтому RAD-среды еще называют визуальными средами разработки: какими мы видим рабочие и диалоговые окна программы при проектировании, такими они и будут, когда программа заработает.

Высокопроизводительный инструмент визуального построения приложений включает в себя настоящий компилятор кода и предоставляет средства визуального программирования, несколько похожие на те, что можно обнаружить в Microsoft Visual Basic (она не является RAD-системой) или в других инструментах визуального проектирования. В основе Delphi лежит язык Object Pascal, который является расширением объектно-ориентированного языка Pascal. В Delphi также входят локальный SQL-сервер, генераторы отчетов, библиотеки визуальных компонентов, и прочее, необходимое для того, чтобы чувствовать себя совершенно уверенным при профессиональной разработке информационных систем или просто программ для Windows-среды.

Прежде всего Delphi предназначен для профессиональных разработчиков, желающих очень быстро разрабатывать приложения в архитектуре клиент-сервер. Delphi производит небольшие по размерам высокоэффективные исполняемые модули (.exe и .dll), поэтому в Delphi должны быть, прежде всего, заинтересованы те, кто разрабатывает продукты на продажу. С другой стороны небольшие по размерам и быстро исполняемые модули означают, что требования к клиентским рабочим местам существенно снижаются – это имеет немаловажное значение и для конечных пользователей.

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

– быстрота разработки приложения (RAD);

– высокая производительность разработанного приложения;

– низкие требования разработанного приложения к ресурсам компьютера;

– наращиваемость за счет встраивания новых компонент и инструментов в среду Delphi;

– возможность разработки новых компонентов и инструментов собственными средствами Delphi (существующие компоненты и инструменты доступны в исходных кодах);

– удачная проработка иерархии объектов.

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

Основным конкурентом Borland Delphi 7 является её родной брат – RAD-среда Borland C++ Builder, технология работы с которой полностью совпадает с технологией, принятой в Delphi 7. Только в Delphi программный код пишется на языке программирования Паскаль, точнее на его объектно-ориентированной версии ObjectPascal, а не на языке C++.

Для того чтобы обосновать, почему наш выбор остановился на Borland Delphi 7, достаточно просто перечислить некоторые недостатки языка С++ по сравнению с ObjectPascal:

1. Надо делать много инициализации (регистрировать класс окна, организовывать цикл обработки сообщений, создавать оконную функцию, пиктограмму и прочее…) и частично быть системным программистом. На Delphi-же системное программирование уже встроено и инициализация работает по умолчанию, поэтому программист главный упор делает на своих алгоритмах, а не на организации вспомогательных работ.

2. Значительно большая, по сравнению с Object Pascal, сложность языка, даже, несмотря на компактность кода, возникают сложности в его восприятии.

3. Одна особенность, на мой взгляд, языка С++ очень портит этот язык — он чувствителен к регистру символов, т.е. переменная A и переменная a — это разные переменные.

4. В Delphi классы (объекты) могут располагаться только в динамической памяти, а в C++ в любой памяти (статическая, стек, динамическая). Это добавляет безопасности программирования в Delphi.

Также существует среда программирования Lazarus, относительно молодая, внешне похожая на Delphi. Данный продукт — IDE для компилятора FreePascal Compiler. Распространяется бесплатно по GNU General Public License (или просто GPL), но Lazarus ещё не является средой программирования профессионального уровня, для него разработано мало компонентов, при стандартных настройках. Также размеры разрабатываемых приложений тоже оставляют желать лучшего. В первую очередь это связано с особенностью компилятора FreePascal, который не дружит с динамическими библиотеками. А потому должен включать в себя все используемые пакеты. Тоже самое касается и собственно среды разработки, которую вы должны пересобрать каждый раз при добавлении нового пакета.

Компиляция проекта в IDE Lazarus, как и во всех средах разработки подразделяется на два этапа: компиляция и сборка. Хотя они и реализованы в виде вызова компилятора FreePascal отдельным процессом, и мы не можем построчно (как в Delphi) наблюдать за компиляцией проекта.

Используя программы Delphi и Access для создания информационно-справочных систем мы можем отметить как положительные стороны этих программ, так и отрицательные. Но выбирая из списка существующих программ, для программирования и БД, мы выбрали именно эти. Далее мы опишем положительные и отрицательные стороны данных программных продуктов.

Читайте также:  Как в ворде убрать колонтитулы совсем

1) Преимущества программы Delphi.

Базовый курс программирования ориентирован на работу в Borland Delphi. Выбор среды быстрой разработки приложений (RAD) Delphi обусловлен как тем, что это наиболее популярная среда программирования на просторах России, так и несомненными объективными достоинствами Delphi. Среди этих достоинств:

— простой и мощный язык программирования Pascal;

— удобная и полная объектная модель;

— достаточно удобная среда разработки;

— обширная объектная библиотека VCL;

— мощные средства разработки приложений баз данных.

Рассмотрим эти особенности Delphi подробнее.

Язык программирования Паскаль (Pascal) был создан Н. Виртом в 1968 году специально для обучения студентов. Язык Паскаль представлял собой квинтэссенцию технологий программирования середины 60-х — эпохи создания структурного программирования. Язык был популярен в университетской среде Европы (в том числе и в Советском Союзе). Однако бедная и не вполне удачная система ввода/вывода и отсутствие поддержки разбиения программ на модули не позволили в то время Паскалю выйти за пределы учебных аудиторий. Однако прозрачный и мощный язык послужил основой для многих экспериментов в области языков программирования. В начале 80-х годов появилась система программирования Turbo Pascal фирмы Borland, в которой использовался расширенный диалект языка Паскаль с усовершенствованной системой ввода/вывода и поддержкой модулей. Именно этот диалект языка и стал наиболее распространенным, так как мог быть использован в создании современных больших приложений. В конце 80-х годов в диалект языка Паскаль от Borland были добавлены объектно-ориентированные расширения, а 1992 году Borland Pascal стал поддерживать программирование для MS Windows. При этом Паскаль сохранил простоту и выразительную мощь учебного языка.

Объектно-ориентированные средства языка Паскаль прошли большой путь от простейших объектных расширений в TurboPascal 5.5 до современной объектной модели Delphi, не уступающей по своим потенциальным возможностям ни одному объектно-ориентированному языку. Объектная модель Delphi поддерживает все средства которые могут понадобиться при объектно-ориентированном программировании. Кроме того, Delphi поддерживает объектные технологии Microsoft и, следовательно, может использоваться для создания приложений и компонент COM/DCOM, а в последних версиях и dotNET.

Но основным преимуществом Delphi является его среда программирования с визуальным конструктором программ. Эта среда (вместе с объектной библиотекой VCL) позволяет эффективно программировать под MS Windows, не отвлекаясь на выяснение всех деталей Win API, а работать над логикой программы.

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

2. Достоинства Microsoft Access.

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

Во время написания дипломной работы рассмотрены основные особенности СУБД MS Access, ее функциональные возможности и на основании этой информации можно определить сферу эффективного применения этой СУБД.

Основополагающим фактором является использование платформы фирмы Microsoft — операционной системы Windows. Хотя MS Access применяется только под Windows, широчайшее распространение этой ОС не является препятствием для массового использования.

Наиболее значимые характеристики сферы применения Microsoft Access заключаются в следующем:

— наличие некоторого объема информации, который необходимо систематизировать и хранить централизованно. Этот объем информации не должен превышать некоторого предела, например, крупные корпоративные системы, хранилища данных OLTP или системы OLAP — это не вариант использования Access; ограниченность материальных и трудовых ресурсов для разработки системы хранения данных. В этом плане Access предоставляет довольно богатые возможности за небольшую стоимость. Цена разработки и сопровождения данной СУБД вполне доступна даже малым компаниям или предпринимателям; использование данных преимущественно в режиме однопользовательского доступа. Возможно, конечно, увеличение числа одновременно работающих пользователей, за счет возможностей ядра Access, однако при больших количествах использование Access нецелесообразно, ввиду пропорционального увеличения сетевого трафика, и снижения скорости обработки данных;

— отсутствие жестких требований по защите информации. Access позволяет защищать данные лишь на пользовательском уровне. Чего, однако, вполне хватает для защиты от просмотра или неосторожных действий в среде сотрудников небольшой компании. Отсюда сделаем вывод, что доверять MS Access секретные или очень ценные данные не стоит; наличие потребности публиковать данные в сети Intranet или Internet, или редактировать их с помощью браузера.

Читайте также:  Как проверить матрицу монитора на работоспособность

— факторы скорости работы программ не являются критическими. Если программа создана в Access не стоит ожидать от нее высокой производительности. Однако, существует огромный круг задач, в которых основное время при работе с программой приходится на ожидание действий пользователя. В таком случае невысокая скорость программы абсолютно не заметна; при использовании MS Access исключается необходимость иметь такую должность, как администратор БД. Все административные операции просты и автоматизированы; распространенность OC Windows, простота и стандартизированность интерфейса, наличие большого количества удобных Мастеров делают Access очень дружественной для большинства пользователей. И с другой стороны можно полагаться на стабильность производителя, компания Microsoft является одним из мировых лидеров в производстве ПО и обеспечивает свои продукты подробной документацией, технической поддержкой и локализацией.

Перед многими разработчиками встаёт вопрос выбора. Какую технологическую платформу использовать для написания программ под Andro >

Почему в качестве альтернативы Java в данной статье рассматривается именно продукция компании Embarcadero? Ведь она далеко не единственная. Под Android также можно писать на Qt, Lazarus, C# (Xamarin), различных фреймворках на основе HTML5 и JavaScript.

Причины этого выбора не случайны:

  • Несмотря на растущую популярность Lazarus и, особенно, Qt им по ряду причин пока ещё трудно конкурировать с коммерческими разработками уровня Delphi и C++ Builder соответственно;
  • Embarcadero, если не единственный, то один из немногих производителей коммерческих средств разработки, которые имеют достаточно серьёзные амбиции в данной области и активно продвигают свою продукцию в этом направлении.
    Также необходимо отметить, что Embarcadero добилась в этом отношении весьма значительных успехов.

Поэтому, что бы ни говорили противники Delphi и C++ Builder, эти решения представляют, и в ближайшее время ещё будут представлять достаточно привлекательную альтернативу традиционной разработке на Java.

Преимущества и недостатки Delphi (C++ Builder)

Первое преимущество использования Delphi и C++ Builder состоит в возможности использования единой кодовой базы для всех платформ, для которых предназначено приложение. Включая код реализующий функционал пользовательского интерфейса.

В случае Java это невозможно. Для Android – Android SDK, для остальных платформ – Swing или другая аналогичная библиотека.

Используемая при разработке под Android библиотека FireMonkey позволяет работать с более удобной объектной моделью компонентов, которая предоставляет доступ ко всем свойствам и событиям.

В Android SDK для описания элементов управления служит XML словарь, а само описание размещается в ресурсах приложения. Для реализации обработки событий в программном коде необходимо вручную инициализировать нужный элемент управления с помощью поиска по ресурсам. А, после этого также вручную инициализировать нужный обработчик (Listener).

Таким образом, разработка с использованием Android SDK требует знания не только Java и объектной модели, но и XML словаря.

При работе с FireMonkey всё гораздо проще. Для того чтобы выполнять весь спектр задач по работе с компонентами достаточно знать тот язык программирования который используется в разработке, то есть Delphi или C++.

Кроме того в FireMonkey есть целый набор готовых компонентов, которые значительно упрощают работу со многими функциями Android. Например, GPS или фотокамера.

Развитый интерфейс самой IDE избавляет программиста от ручного редактирования служебной информации (включая манифест) и т.д.

Следует особо отметить, что Delphi и C++ Builder использует огромное число программистов. Несмотря на то, что библиотека FireMonkey имеет свои особенности и достаточно сильно отличается от VCL, она избавляет от необходимости полного переобучения при освоении новой платформы.

Однако FireMonkey имеет и ряд недостатков.

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

Компилятор под Android поддерживает только архитектуру ARM. Поэтому, если в прошивке устройства нет эмулятора для неё, пользователь не сможет запустить приложение.

В Delphi и C++ Builder поддерживаются далеко не все возможности Android. Так с их помощью, например, нельзя написать виджет или службу.

Также не нужно забывать о стоимости. Цены на Delphi и C++ Builder, как по отдельности, так и вместе (RAD Studio), отобьют желание у многих.

В качестве бесплатной альтернативы Embarcadero предлагает AppMethod. Однако она пока оставляет желать лучшего (подробнее можно почитать на Хабрахабре).

Что касается востребованности на рынке труда. Компании, которые использует Delphi или C++ Builder для своих разработок под Android пока исключение. Поэтому спроса на специалистов соответствующего профиля, как такового нет. Возможно, в будущем ситуация изменится.

Читайте также:  Gtx 1060 3gb сравнение
Преимущества и недостатки Java (работа с Android SDK напрямую)

Язык Java является «родным» для Android SDK и, как следствие, позволяет использовать все предоставляемые им возможности.

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

Возможность полной настройки пользовательского интерфейса с помощью стилей и тем. В Android SDK они реализованы с помощью XML, а не скинов в специальном формате, как это сделано в Delphi и C++ Builder. Поэтому отсутствует необходимость в специальных программных средствах наподобие, Bitmap Style Designer (с помощью неё создаются стили для VCL и FireMonkey).

Единственная специализированная программа, которая необходима для работы с дизайном — графический редактор Draw 9-patch уже входит в состав SDK. Но и она используется только в определённых случаях.

При работе напрямую с Android SDK программист избавлен от технических издержек, которые присутствуют в FireMonkey.

Android SDK и большинство популярных IDE для работы с ним бесплатны. Это даёт преимущества как для компаний (снижение затрат), так и для независимых разработчиков. Особенно, если речь идёт о разработке бесплатных приложений.

Помимо этого, популярность языка Java, доступность как самого SDK, так и IDE, а также отсутствие как таковых ограничений в плане возможностей по разработке положительно сказываются на перспективах трудоустройства. В настоящее время, на подавляющем большинстве сайтов по поиску работы 100% вакансий разработчиков под Android ориентированы на Java. Комментарии, как говорится, излишни.

Работа напрямую с Android SDK, к сожалению, также имеет свои слабые стороны.

Как уже говорилось выше, для работы непосредственно с Android SDK используется Java и очень многое описывается с помощью XML словаря. Поэтому, прежде чем написать своё первое приложение («Hello, World!» не считается), разработчику необходимо освоить как минимум «азы» Java, а также получить базовые сведения о XML словаре.

Также имеются издержки и у используемой объектной модели.

Вследствие вышеупомянутых особенностей, разработка приложений для Android на Java сложнее, чем с использованием FireMonkey.

Удобство и трудоёмкость процесса разработки во многом зависят от возможностей конкретной IDE и её качества.

Резюме

В качестве обобщения того что было сказано выше преимущества и недостатки обеих программных платформ сведены в две таблицы. Для Delphi и C++ Bulder и Java соответственно.

Разработка под Android с использованием Delphi и C++ Builder

Преимущества Недостатки
· Единая кодовая база для всех платформ;· Удобная объектная модель компонентов;

· Достаточно знаний только используемого языка программирования;

· Меньше трудоёмкость разработки;

· Для программистов, которые уже использовали в своей работе Delphi и C++ Builder, нет необходимости переучиваться.

· Обилие ошибок и недоработок в библиотеке FireMonkey;· Поддерживается только архитектура ARM;

· Ограниченные возможности разработки;

· Данное направление практически не востребовано на рынке труда.

Разработка под Android с использованием Java

Преимущества Недостатки
· Возможности разработки ограничены только возможностями используемой версии API;· Поддерживаются все аппаратные платформы;

· Более широкие возможности по разработке интерфейса пользователя;

· Нет проблем, вызванных ошибками и недоработками FireMonkey;

· Android SDK и большинство популярных IDE бесплатны;

· Широкая востребованность на рынке труда.

· Невозможно обеспечить полностью единую кодовую базу;· Неудобная объектная модель;· Необходимо знание XML словаря;· Выше трудоёмкость разработки;· Трудоёмкость разработки во многом зависит от IDE;· Для программистов, которые не использовали Java необходимо переобучение;

Можно сделать следующие выводы.

Использование Delphi и C++ Builder имеет смысл если:

  • Обязательно необходимо обеспечить полностью единую кодовую базу;
  • Проект не предусматривает использование целого ряда возможностей Android;
  • Нет желания или возможности пройти или организовать переобучение на Java, а также разбираться в тонкостях объектной модели и XML словаря, либо нанять компетентного специалиста;
  • Вы работаете в компании, которая использует FireMonkey для разработки под Android или планируете трудоустройство в такую компанию;
  • Проект разрабатывается «для себя»;
  • Имеются достаточные финансовые средства.

Также разработку под Android с помощью Delphi и C++ Builder можно рассматривать в качестве, своего рода, «переходного этапа». Когда требуется (или просто хочется) писать приложения под Android, но Java и работа напрямую с Android SDK ещё не освоены, но за то освоены вышеназванные продукты компании Embarcadero.

Во всех остальных случаях лучше выбрать Java или, в худшем случае, другую альтернативу этому языку.