Добавлен: 02.04.2023
Просмотров: 260
Скачиваний: 2
СОДЕРЖАНИЕ
1. Теоретические особенности разработки клиентских программ
1.1. Понятие клиентских программ
1.2. Виды клиентских приложений (на примере платформы «1С:Предприятие 8»)
2.2. Средства моделирования бизнес-процессов, приложений и данных
2.3. Средства разработки приложений
2.4. Средства тестирования и оптимизации приложений
2.5. Средства управления коллективной работой и контроля версий
3.1 Анализ языков программирования для создания клиентских приложений
3.2. Анализ распространённых средств разработки клиентских приложений
В общем плане выбор языка программирования зависит от типа программы или сценария, который вы хотите создать. Например, Visual Basic является популярным из-за его относительной легкости. Основы программирования можно изучить с помощью Pascal.
Другие популярные языки - C, C ++ и C # используются для создания игр, приложений, драйверов, операционных систем, а также многих программ, которые запускаются на компьютере. Java и инструментарий Qt подойдет тем, цель кого создавать кроссплатформенное ПО – не только для Windows, но и Linux, Mac.
Важно определить, какой язык программирования выбрать исходя из требований к проекту.
Выбор языка, на котором пишут программы, невероятно важен - он поможет определить, будет ли проект успешным или нет, а ошибки часто приводят к неудачному итогу. Такие ошибки, которые могут привести к отсутствию планирования, включают:
- потраченное время на обучение,
- неправильное проектирование,
- увеличение форм-фактора,
- постоянные правки,
- повреждение деталей.
Ниже приведен метод оценки требований проекта, чтобы определить, какой язык может быть лучше для того или иного приложения.
В таблице 2 приведены некоторые из наиболее распространенных языков, их преимущества, а также области, которые создают больше проблем.
|
Скорость обработки |
Читабельность |
Простота |
GUI (графический интерфейс) |
Графика 2D |
Графика 3D |
Кросс-платформенность |
|
|
С |
8 |
6 |
2 |
3 |
5 |
8 |
7 |
|
С++ |
8 |
6 |
3 |
4 |
6 |
8 |
7 |
|
С# |
7 |
7 |
5 |
6 |
7 |
7 |
2 |
|
Java |
6 |
7 |
6 |
7 |
7 |
6 |
10 |
|
Python |
2 |
5 |
10 |
8 |
10 |
1 |
10 |
|
VB.net |
6 |
10 |
8 |
10 |
5 |
2 |
2 |
|
Assembler |
10 |
0 |
0 |
0 |
0 |
0 |
0 |
Первой задачей при выборе языка является перечисление основных требований проекта, за которым следуют второстепенные требования.
Затем, используя таблицу, оценивают каждый язык в соответствии с требованиями проекта, а язык с наивысшим баллом, скорее всего, будет оптимальным. Опытные программисты знают, как заставить язык работать под требования[14].
Оценка языка программирования производится по следующим показателям:
Скорость обработки: как быстро программа будет выполнена.
Читаемость: насколько сложно будет читать код.
Простота: насколько легко будет работать и использовать библиотеки.
GUI (графический интерфейс пользователя): как легко будет работать с приложением графического интерфейса пользователя.
Графика (2D): простота использования 2D-графики и ее скорости.
Графика (3D): простота использования 3D-графики и ее скорости.
Кросс-платформенность: как легко будет запускать программу на разных платформах (Windows, Mac).
Самый простой метод использования таблицы включает в себя поиск требований, а затем суммирование баллов, чтобы посмотреть, какой язык выходит на первое место.
Однако некоторые требования могут быть более важными, чем другие, поэтому можно также добавить вес к значениям оценки в зависимости от важности критериев.
Например, если скорость обработки в два раза важнее, чем читаемость, умножают показатели скорости обработки на 2.
Так, например, многие языки программирования используют фигурные скобки для разделения кода и имеют четкие точки входа (например, main()). Однако Python этого не делает, и это может сделать код похожим на блоки текста, которые гораздо труднее прочитать. Скобки четко показывают код-блок, а точка с запятой в конце строк, указывают, что код на этой строке является инструкцией вместо описания. В то время как Python гордится своей читабельностью, важно понимать, что большие программы на Python могут стать сложными для чтения[15].
Так, Яндекс провел опрос своих разработчиков, чтобы выяснить на каких языках программирования они пишут. Об этом сообщается в блоге Яндекса, где говорится следующее: спрашивали у разработчиков, на чём они пишут, чтобы выяснить — какие языки программирования в Яндексе самые популярные. В опросе приняли участие больше половины разработчиков компании, расклад получился такой:
Рисунок 2 – Результаты опроса работников Яндекс об используемом языке программирования[16]
Многие разработчики используют в работе несколько языков, поэтому мы просили их выбрать один — тот, на котором они пишут больше всего. В лидерах оказались пять языков: C++, JavaScript, Java, Python и Perl. Все эти языки разные, и каждый лучше решает свою задачу. Поэтому они по-разному используются в Яндексе.
C++ — классический язык для больших и сложных систем, где критически важна производительность. На нём обычно пишутся самые важные, базовые компоненты приложений. Например, на C++ написано ядро поиска Яндекса, Браузер и Карты.
На JavaScript в основном пишут интерактивные элементы сайтов, такие как анимация или браузерные игры. Этот язык очень широко используется в браузерах для написания интерфейсов — того, с чем напрямую взаимодействуют пользователи. На JavaScript написаны веб-интерфейсы всех сервисов Яндекса.
Java — это универсальный язык, на котором можно написать любое приложение, будь то игра Flappy Bird или веб-сервер, обрабатывающий миллионы запросов в минуту. Несмотря на название имеет мало общего с JavaScript. Разработка на нём пойдёт быстрее, чем на C++, однако программа может получиться чуть медленнее. Особенности Java позволяют создавать программы, которые работают практически на любом устройстве — от телефона до микроволновки. На Java у нас написаны, например, Маркет и Музыка.
Python — это дружелюбный к программисту язык с простым синтаксисом. С него хорошо начинать изучение программирования. Python широко используется в системном администрировании, но подходит для решения почти любых задач, кроме обработки больших объёмов данных. На Python многое делать проще и быстрее, чем на C++, но программа будет не такой производительной. Это разумный выбор, когда производительность не очень важна или задачу нужно сделать быстро. На Python написана серверная часть Диска, а ещё он используется в Директе, внутренних сервисах и многих других проектах.
Perl был создан для обработки текстов — например, для извлечения фактов из текстаЭто лаконичный, но непростой язык, который, однако, хорошо решает свою задачу. В Яндексе его используют, например, для анализа данных в баннерной системе и в разработке серверной части некоторых сервисов — например, Директа.
С точки зрения задачи выбор языка — это поиск равновесия между эффективностью программы, квалификацией программиста и временем, потраченным на работу.
С точки зрения разработчика, выбор языка — это вопрос предпочтений. Кому-то действительно нравится сам язык, кому-то — задачи, которые он решает. Например, одни предпочитают фундаментальные задачи и пишут базу поиска на C++, а другие любят делать то, что видно пользователям, и пишут интерфейсы на JavaScript. Третьи пишут на каком-то языке просто потому, что знают его досконально. А некоторые, наоборот, готовы пробовать новое и участвуют в разных проектах[17].
3.2. Анализ распространённых средств разработки клиентских приложений
Сред разработки на C++ очень много, и для каждой цели есть своя, особенная IDE. Рассмотрим несколько самых популярных сред разработки и редакторов исходного кода для C++.
1.Microsoft Visual Studio
Visual Studio – это среда разработки от Microsoft. Visual Studio в основном известна для написания приложений, включающих в себя .NET. Это полный набор инструментов, позволяющий произвести точную отладку и настройку приложения. Есть как Community-версия, так и PRO.
Visual Studio предназначена не только для разработчиков на C++, но также поддерживает многие другие популярные языки, такие как C#, Visual Basic и F#.
Visual Studio предлагает множество функций, некоторые из которых:
- интеллектуальное автодополнение кода;
- дизайнер графических форм (GUI);
- простая в использовании навигационная система.
Можно использовать IDE для разработки компьютерных программ для Microsoft Windows, а также веб-сайтов, веб-приложений и веб-сервисов.
2. Xcode
Xcode – это интегрированная среда разработки, полный набор инструментов для разработки программного обеспечения, созданных Apple для разработки программного обеспечения для MacOS, iOS, WatchOS и tvOS.
Xcode создана разработчиками операционной системы.
Функции Xcode:
- создание приложений под все Apple платформы;
- автодополнение кода;
- удобная работа с GUI[18].
3. NetBeans
Это среда разработки на C++ как для Windows, так и для Mac с Linux.
У NetBeans также есть много готовых шаблонных проектов для C и C++, которые можно использовать в качестве основы для ваших приложений. NetBeans был написан с использованием Java, он также может быть использован для проектов PHP и HTML5.
Плюсы NetBeans:
- это ПО о открытым исходным кодом;
- разработан и поддерживается компанией Oracle;
- мультиплатформенная поддержка;
- поддержка визуализированного создания GUI-имнтерфейсов;
- простота установки и использования;
- поддержка Qt Toolkit;
- поддержка удаленного развития;
- легкая файловая навигация.
4. Eclipse
Eclipse –простая в использовании и при этом мощная IDE для C и C++. Между Eclipse и NetBeans мало различий, но все же Eclipse является более быстрой средой разработки.
Плюсы Eclipse:
- простота установки и использования;
- бесплатный и открытый источник;
- поддержка нескольких платформ;
- мощный движок создания GUI-интерфейсов;
- удаленный системный проводник.
5. CodeLite
CodeLite – это еще одна бесплатная и быстрая IDE для программирования на C и C ++. CodeLite также поддерживает разработку на PHP и JavaScript.
Функции CodeLite:
- мультиплатформенная поддержка;
- встроенная поддержка GCC/clang/VC++;
- CodeLite обладает удивительно быстрым и мощным инструментом завершения кода из-за собственного анализатора;
- поддержка профилирования, рефакторинга;
- анализ статического кода и браузер классов[19].
6. Qt Creator
Qt Creator – самая известная среда разработки для создания графических приложений.
Есть версия с открытым исходным кодом, которая распространяется бесплатно.
Некоторые из функций Qt Creator:
- простой и удобный конструктор GUI-форм;
- кроссплатформенность;
- поддержка отладки, компиляции, профилирования, автозаполнения кода и рефакторинга;
- поддержка анализа статического кода;
- быстрый компилятор Qt;
- визуализация данных Qt;
- Qt Quick 2D Renderer;
- Qt WebView;
- Qt Virtual Keyboard.
7. Code::Blocks
Codeblocks – это еще одна свободная и открытая среда IDE для C и C++, написанная с использованием GNU C++. Главный плюс – кроссплатформенность программы. CodeBlocks также можно использовать для языков c и Fortran.
Некоторые из функций CodeBlocks:
- простая и быстрая установка;
- наличие портативной версии;
- удобный конструктор GUI-форм;
- встроенная возможность создания блок-схем[20].
8. Dev-C++
Dev-C++ – это бесплатная интегрированная среда разработки с открытым исходным кодом, написанная в Delphi для Windows. Это легкая IDE, которой требуется всего на пару минут для установки. В ней можно установить плагин для создания GUI-интрефейсов методом перетаскивания элементов.
Некоторые из возможностей Dev-C++:
- малый вес;
- простая в использовании панель инструментов;
- автозавершение кода;
- горячие клавиши для компиляции и запуска, например F9 и F10;
- простая установка.
9. CLion
Это отличная среда разработки на C++, созданная известной компанией JetBrains. Она поставляется с некоторыми замечательными функциями, такими как “Smart Editor” , “Code Analysis”, “Embedded Terminal”.
Возможности CLion:
- удобное создание визуализированных интерфейсов;
- наличие инструментов для удобного создания код а и отладки;
- возможность установки плагинов;
- поиск ошибок в коде в Live-режиме[21].