Научная статья на тему 'Программирование мобильного приложения'

Программирование мобильного приложения Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
2801
307
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
МОБИЛЬНОЕ ПРИЛОЖЕНИЕ / MOBILE APPLICATION / МОБИЛЬНОЕ УСТРОЙСТВО / MOBILE DEVICE / ПЛАТФОРМА / PLATFORM / ЯЗЫК ПРОГРАММИРОВАНИЯ / PROGRAMMING LANGUAGE TECHNOLOGY / ТЕХНОЛОГИЯ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Хю Нгуен Ба, Дык Буй Минь, Чыонг Нгуен Динь, Хю Нгуен Нгок, Линь Лай Тхи

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Программирование мобильного приложения»

PROGRAMMING MOBILE APPLICATIONS Huy N.1, Duc B.2, Truong N.3, Huy N.4, Linh L.5, Lam N.6 (Russian Federation) ПРОГРАММИРОВАНИЕ МОБИЛЬНОГО ПРИЛОЖЕНИЯ Хю Н. Б.1, Дык Б. М.2, Чыонг Н. Д.3, Хю Н. Н.4, Линь Л. Т.5, Лам Н. Ч.6

(Российская Федерация)

'Хю Нгуен Ба / Huy Nguyen — студент, кафедра систем управления и информатики, факультет систем управления и робототехники; 2Дык Буй Минь /Duc Bui — магистрант, кафедра программных систем, факультет инфокоммуникационных технологий;

3 Чыонг Нгуен Динь / Truong Nguyen — студент, кафедра систем управления и информатики, факультет систем управления и робототехники; 4Хю Нгуен Нгок / Huy Nguyen— студент;

5Линь Лай Тхи /Linh Lai — студент; 6Лам Нгуен Чонг / Lam Nguyen — студент, кафедра проектирования и безопасности компьютерных систем, факультет информационной безопасности и компьютерных технологий, Санкт-Петербургский национальный исследовательский университет информационных технологий, механики и оптики, г. Санкт-Петербург

Abstract: nowadays, we observe the fast paced development of the market of mobile devices and mobile applications. Many developers want to participate in this industry, but from the beginning of all need to think about what you start with the development of mobile applications. What platforms are mobile devices exist, what technologies need to choose what programming languages to learn. To get the right answers these questions, the developers have to learn all the wealth and the shortcomings of all mobile application development technologies, in this article we will know about it.

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

Keywords: mobile application, mobile device, platform, programming language technology.

Ключевые слова: мобильное приложение, мобильное устройство, платформа, язык

программирования, технология.

Разработка мобильных приложений - это термин, используемый для обозначения акта или процесса, посредством которого программное приложение разработано для мобильных устройств, таких как персональные цифровые помощники, корпоративные цифровые помощники или мобильные телефоны. Эти приложения могут быть предварительно установлены на устройства во время производства, которые загружены пользователем с помощью различных платформ для установления мобильных приложений или являться поставляемыми в веб-приложении, которые обработаны на стороне клиента (JavaScript) или сервера. В настоящее время мы заметим стремительный рост продаж мобильных устройств, приходящих на замену персональному компьютеру. Количество пользователей мобильных устройств очень быстро растёт, поэтому нуждается в количестве и в качественных программных обеспечениях. Это приводит к постоянному бурному росту технологий разработки приложений для мобильных устройств.

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

• iOS.

• Android.

• Windows Phone.

• Blackberry OS.

• Symbian OS.

• Bada.

Таблица 1. Мобильные платформы и их технологии разработки

Платформы Язык программирования Среды разработки Девайсы

iOS C++, С#, Objective-C Xcode, Xamarin Studio iPhone, iPad, iPod Touch

Android Java, C++, C# Eclipse, Xamarin Studio, Visual Stuodio Android devices

Windows Phone C# Visual Stuodio Windows phones

Blackberry OS Java, C++ Momentix IDE Blackberry phones

Symbian OS C++ Carbide Nokia phones

Bada C, C++ Bada Смартфон Samsung

На таблице видно, что самые популярные языки программирования для разработки мобильного приложения это Java, C++, C#, Objective-C.

Java является одним из самых постоянных используемых языков программирования в мире, поэтому навыки доступны во многих частных лиц, предлагающих свои услуги предприятиям. Это очень хорошая новость. Еще одна хорошая новость, с точки зрения производительности, Java представляет собой скомпилированный язык, который может быть запущен двумя различными способами: либо в окне браузера или в виртуальной машине, которая не требует браузер [1]. Такая гибкость имеет тенденцию означать много, когда речь идет о повторном использовании кода и обновлении программного обеспечения. Если мы хотим создать приложения на Android, тогда мы обязательно узнать хотя базовые знания о Java. Потому что Android основан на Java. Android SDK включает в себя множество стандартных Java-библиотек (библиотеки структуры данных, математические библиотеки, графические библиотеки, сетевые библиотеки и все остальное вам хотелось иметь). Android приложения выполняются в специальной виртуальной машине под названием Dalvi VM. Хотя детали этой виртуальной машины не имеют значения для среднего разработчика, но эта машина позволяет нам не беспокоиться о том, как наше приложение будет работать в различных устройствах платформы Android. Java создан долго после языков C и C++, поэтому Java включает в себя много мощных функций языков С и С++. Тем не менее, у Java не только мощные функции, а еще большие библиотеки, и эти библиотеки разработаны, чтобы помочь разработчикам создавать приложения [2].

C++ был построен специально для платформы независимости и находится в каждой отдельной операционной системе. Обычный мобильный пользователь может знать, что Android приложения написаны на Java и iOS приложения на Objective-C, но многие не знают, что есть больше С/С++ кода в памяти на устройствах, чем все остальное. Набор инструментов для Android NDK является отличным примером полной C/C++ поддержки, этот набор был добавлен первоначально для команды разработчиков игры, чтобы дать им возможность получить максимально возможную производительность из устройства. Многие из библиотек, доступных на этих устройствах подвергаются с помощью функциональных интерфейсов C. С является предшественником таких языков программирования как С++, Java, С#, JavaScript и Perl. Поэтому изучение языка С помогает нам понять другие языки. Язык С используется для разработки низкоуровневых приложений, так как считается ближе всего к аппаратному, уступая только ассемблеру. В языке С еще не хватало работы с объектами. Поэтому С++ был разработан, является одним из самых распространенных языков в мире. Google Chrome, Mozilla Firefox, Winamp и линейка продуктов Adobe были разработаны с помощью С++. Кроме того, некоторые современные игры и операционные системы были разработаны на С++ из-за быстрого процессинга и компиляции. Одно из наиболее значимых достоинств C++ то, что он сочетает свойства как высокоуровневых, так и низкоуровневых языков [3].

Когда в большинстве стран мира используется C++ для разработки программного обеспечения, Apple решил использовать в качестве основного языка программирования Objective-C. Как и C++, Objective-C является надмножеством языка C. Поэтому любые программы на С являются программами на Objective-C. Тем не менее, последний имеет ряд функций, которые специфическим образом взаимодействуют непосредственно с графикой, функциями ввода/вывода и отображения. Objective-C является частью среды разработки Apple и полностью интегрирован во все фреймворки iOS и MacOS. В последнее время Apple создал язык Swift для разработки приложений на их устройствах, и Swift основан из Objective-C.

Сейчас мы можем создавать приложения для устройств Android, IOS, и Windows, с помощью Visual Studio с помощью C #. Мы можем программировать на C# под Windows Phone, iOS и Android, это более чем 2.2 миллиарда устройств. Кроме мобильных устройств C# работает на многих встраиваемых,

десктопных и серверных платформах. У языка С# есть мощные возможности, объектно-ориентированное программирование и инкапсуляция позволяют максимально переиспользовать код. Reflection и dependency injection добавляют в язык мощь и гибкость. C# на iOS использует оптимизирующий компилятор LLVM. Им же собирается написанный на C и C++, iOS. Вы получаете лучшее из обоих миров: высокую продуктивность C# и производительность низкоуровневого языка. На Android C# работает быстрее Java из-за лучшего дизайна языка (value types, real-generic types, невиртуальные методы по умолчанию) и более зрелой Mono Runtime в сравнении с молодым Dalvik.

Литература

1. 6 Top Programming Languages For Mobile Development. [Electronic resource]. URL: http://www.informationweek.com/mobile/mobile-applications/6-top-programming-languages-for-mobile-development/d/d-id/1320687/ (date of access: 06.09.2015).

2. Learn Java for Android Development: Introduction to Java. [Electronic resource]. URL: https://code.tutsplus.com/tutorials/learn-java-for-android-development-introduction-to-java--mobile-2604/ (date of access: 13/09/2010).

3. Why C++ is the perfect choice for modern app development. [Electronic resource]. URL: http://betanews.com/2014/07/22/why-c-is-the-perfect-choice-for-modern-app-development/ (date of access: 22.07.2014).

MODEL TCP/IP Huy N.1, Duc B.2, Truong N.3, Linh L.4, Huy N.5, Huong L.6 (Russian Federation) МОДЕЛЬ TCP/IP Хю Н. Б.1, Дык Б. М.2, Чыонг Н. Д.3, Линь Л. Т. 4, Хю Н. Н.5, Хыонг Л. Ч. Т. Т.6 (Российская Федерация)

'Хю Нгуен Ба / Huy Nguyen — студент, кафедра систем управления и информатики, факультет систем управления и робототехники; 2Дык Буй Минь /Duc Bui — магистрант, кафедра программных систем, факультет инфокоммуникационных технологий; 3Чыонг Нгуен Динь / Truong Nguyen — студент, кафедра систем управления и информатики, факультет систем управления и робототехники; 4Линь Лай Тхи /Linh Lai— студент; 5Хю Нгуен Нгок /Huy Nguyen — студент; 6Хыонг Лыу Чан Тхи Тхьен /Huong Luu— студент, кафедра проектирования и безопасности компьютерных систем, факультет информационной безопасности и компьютерных технологий, Санкт-Петербургский национальный исследовательский университет информационных технологий, механики и оптики, г. Санкт-Петербург

Abstract: the Internet protocol suite is the conceptual model and set of communications protocols on which the Internet and most commercial computer networks are working. This protocol suite is named after its two main protocols, TCP (Transport Control Protocol connection) and IP (Internetworking Protocol). They are also the first two protocols are defined. How OSI model, TCP / IP is also divided into levels, and each level solves many problems associated with the transfer of data, and provides the higher layer, and uses the services of the lower layer.

Аннотация: стек протоколов TCP/IP представляет собой набор протоколов связи, на котором Интернет и большинство коммерческих компьютерных сетей работают. Этот набор протоколов был назван в честь его двух основных протоколов TCP (протокол управления транспорта связи) и IP (протокол межсетевого взаимодействия). Они также являются первыми, два протокола определены. Как OSI модель, TCP / IP тоже разделяется на уровни, и каждый уровень решает множество проблем, связанных с передачей данных, и обеспечивает высший уровень и использует услуги нижнего уровня.

Keywords: Internet Protocol, internet, package, layer.

Ключевые слова: протокол Интернета, интернет, пакет, уровень.

i Надоели баннеры? Вы всегда можете отключить рекламу.