Время прочтения: 4 мин.

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

Android Studio (ссылка) — это IDE для работы с платформой Android, позволяющая разрабатывать мобильные приложения на различных языках программирования, таких как Java, С++ и Kotlin. Обладает большим количеством инструментов и функций для любых потребностей разработчика.

Apache Cordova (ссылка) — это среда разработки мобильных приложений. Apache Cordova обладает необходимыми функциями для создания приложений предназначенных для мобильных устройств. Отличительной особенностью этого решения является то, что приложение пишется с помощью CSS3HTML5 и JavaScript. Кроссплатформенность обеспечивает возможность компиляции одного кода для разных платформ, таких как Windows Phone, iOS и Android.

Xamarin (ссылка) — это фреймворк для кроссплатформенной разработки мобильных приложений для платформ iOS, Android и Windows Phone. Основным плюсом этого решения является то, что разработка осуществляется на языке C#, который имеет много русскоязычной документации и довольно прост в изучении.

Фреймворк Xamarin поддерживается средой разработки Visual Studio, которая обладает множеством преимуществ и удобных функций, например простой импорт библиотек и технологией автодополнения IntelliSense. Поэтому при выборе инструментов разработки мобильного приложения наш выбор пал именно на Xamarin.

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

Интерфейс в приложениях Xamarin создается при помощи языка XAML, который основан на языке разметки XML. Добавим на экран три поля ввода и две кнопки.

<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             xmlns:local="clr-namespace:NewTechAudit"
             x:Class="App1.MainPage">
    <StackLayout>
        <Label Text="Mail Calculator" Margin="20,20,20,20" HorizontalTextAlignment="Center" FontSize="30" FontAttributes="Bold"/>
        <Entry x:Name="number1" Text="234" Margin="20,5,20,0" FontSize="25" Keyboard="Numeric"/>
        <Label Text="+" Margin="20,0,20,0" HorizontalTextAlignment="Center" FontSize="30" FontAttributes="Bold"/>
        <Entry x:Name="number2" Text="117" Margin="20,0,20,5" FontSize="25" Keyboard="Numeric"/>
        <Label Text="=" Margin="20,0,20,0" HorizontalTextAlignment="Center" FontSize="30" FontAttributes="Bold"/>
        <Label x:Name ="rezult" Text="351" Margin="25,0,20,20"  FontSize="25" FontAttributes="Bold"/>
        <Button Text="Calculate" FontSize="20" Margin="20,0,20,0" Clicked="Calc_Click"></Button>
        <StackLayout >
            <Label Text="E-Mail" Margin="20,20,20,0" HorizontalTextAlignment="Center" FontSize="20" FontAttributes="Bold"/>
            <Entry x:Name="mail" Text="Test_Mail_123@mail.ru" Margin="20,0,20,0" FontSize="25" Keyboard="Numeric"/>
        </StackLayout>
        <Button Text="Send" FontSize="20" Margin="20,0,20,0" Clicked="Send_Click"></Button>
    </StackLayout>
</ContentPage>

Напишем код обработчиков событий двух кнопок, первый из которых будет получать введенные числа в поля и считать их сумму, а второй отправлять результат на указанную почту.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Mail;
using System.Text;
using System.Threading.Tasks;
using Xamarin.Forms;
namespace NewTechAudit {
    public partial class MainPage : ContentPage    {
        public MainPage()        {
            InitializeComponent();
        }
        private void Calc_Click(object sender, EventArgs e)        {
            try            {
                int n1 = Convert.ToInt32(number1.Text);
                int n2 = Convert.ToInt32(number2.Text);
                result.Text = (n1 + n2).ToString();
            }
            catch (Exception ex) { }
        }
		private void Send_Click(object sender, EventArgs e)		{
            // отправитель - устанавливаем адрес и отображаемое в письме имя
            MailAddress from = new MailAddress("TestSmtpServer@yandex.ru");
            // кому отправляем
            MailAddress to = new MailAddress(mail.Text);
            // создаем объект сообщения
            MailMessage m = new MailMessage(from, to)            {
                // тема письма
                Subject = "Mail Calculator",
                // текст письма
                Body = result
            };
            // адрес smtp-сервера и порт, с которого будем отправлять письмо
            SmtpClient smtp = new SmtpClient("smtp.yandex.ru", 587)
            {
                // логин и пароль
                Credentials = new NetworkCredential("TestSmtpServer@yandex.ru", "***************"),
                EnableSsl = true
            };
            smtp.Send(m);
        }
    }
}

В итоге получился калькулятор с функцией сложения чисел и возможностью отправить результат на почту.

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

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