Опубликован: 15.06.2012 | Доступ: свободный | Студентов: 1544 / 104 | Оценка: 4.19 / 3.63 | Длительность: 07:02:00
Специальности: Программист
Лекция 1:

Введение в мобильное программирование

Лекция 1 || Лекция 2 >
Аннотация: В данной лекции мы познакомимся с термином мобильное программирование, рассмотрим различные платформы для разработки и напишем несколько простых программ на C#.

Цель лекции: введение в мобильное программирование, знакомство с основными аспектами и особенностями программирования для мобильных устройств, Знакомство с С#.

Мобильное программирование – это разработка программ для мобильных устройств.

При написании кода для мобильных устройств, необходимы не только знания особенностей этих устройств и их кроссплатформенности, но и знания операционных систем для мобильных устройств и их тонкостей.

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

В данный момент активно набирает обороты программирование для смартфонов, вытесняя собой обычные мобильные телефоны. Давайте немного заглянем в историю и рассмотрим, чем пользовались разработчики в мобильном программировании. Приложения для телефонов разрабатывались в основном на Java 2 Platform Micro Edition (J2ME). Большая часть из них — всевозможные игры. Это второй по популярности метод использования своего телефона, после, разумеется, коммуникационных услуг.

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

Что же касается смартфонов — тут, естественно, и поле деятельности, и выбор платформ и инструментов гораздо шире, да и выглядит эта область куда как перспективнее. Наиболее востребованными являются — Java для Android и BlackBerry, Visual Basic и Visual C++ для Windows CE, C/C++ и OPL для Symbian, Objective-C для устройств компании Apple, html5/js для самых различных устройств. Какие категории приложений популярны для смартфонов? Их множество: естественно, игры, аудио/видео проигрыватели, навигаторы, карты, схемы, мессенджеры, приложения для путешествий по интернету и удобного использования социальных сетей и так далее и тому подобное.

Уже сейчас смартфоны умеют многое из того, что нужно обычному, не особо требовательному пользователю ПК, вследствие этого всё больше людей используют в своей повседневной жизни и работе смартфоны и подобные им устройства. Так как разработка приложений и программного обеспечения – это очень выгодный бизнес крупные корпорации уже не первый год борются за этот сегмент рынка.

Главные из них – это:

  • Symbian со своей Symbian OS;
    Symbian OS

    Рис. 1.1. Symbian OS
  • канадская телекоммуникационная компания Research In Motion Limited(RIM), выпустившая BlackBerry OS;
    BlackBerry OS

    Рис. 1.2. BlackBerry OS
  • американская корпорация Apple и их iOS;
    iOS

    Рис. 1.3. iOS
  • Microsoft с Windows Mobile и изучаемой нами Windows Phone 7.
    Windows Mobile

    Рис. 1.4. Windows Mobile
  • корпорация Google Inc. разработавшая Android
    Android

    Рис. 1.5. Android

Давайте рассмотрим соотношение смартфонов с различными операционными системами с 2005 по 2010 года:

Платформа 3 кв. 2010 г. 4 кв. 2009 г. 3 кв. 2009 г. 4 кв. 2008 г. 4 кв. 2007 г. 3 кв. 2006 г. 3 кв. 2005 г.
Symbian 36,6 % 47,2 % 44,6 % 52,4 % 62,3 % 72,8 % 59,7 %
RIM (BlackBerry OS) 14,8 % 20,8 % 20,7 % 16,5 % 10,9 % 2,8 % 1,5 %
Apple (iOS) 16,7 % 15,1 % 17,1 % 9,6 % 5,2 % - -
Microsoft (Windows Mobile) 2,8 % 8,8 % 7,9 % 13,9 % 11,9 % 5,6 % 2,2 %
Google (Android) 25,5 % 4,7 % 3,5 % 0,5 % - - -
Прочие (PalmOS, Maemo, Openmoko, LiMo) 3,6 % 3,4 % 6,2 % 7,2 % 9,6 % 18,8 36,6 %

Как вы видите, положение на рынке Microsoft к 2010 году оставляло желать лучшего, о причинах, по которым такой гигант занимал лишь 3% рынка можно долго спорить, но главное что им нужно было делать – кардинально менять свою мобильную операционную систему.

И они это сделали, разработав Windows Phone 7. Данная система действительно стала "перезагрузкой" полностью поменяв и внешний вид и функциональность. По внешним эффектам и скорости работы WP7 чуть ли не лучшая на рынке, в этом ее огромное достоинство. Кроме того, в большом плюсе сервисы, в первую очередь Xbox LIVE.

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

Подробней на Windows Phone 7 мы остановимся в следующей лекции, а сейчас давайте ближе познакомимся с языком программирования, который используется в программах для WP7.

(Если вы уже обладаете начальными знаниями об этом языке программирования, то можете сразу перейти ко второй лекции)

C Sharp

C# (произносится си шарп) — объектно-ориентированный язык программирования. Разработан в 1998—2001 годах группой инженеров под руководством Андерса Хейлсберга в компании Microsoft как язык разработки приложений для платформы Microsoft .NET Framework и впоследствии был стандартизирован как ECMA-334 и ISO/IEC 23270.

C# относится к семье языков с C-подобным синтаксисом, из них его синтаксис наиболее близок к C++ и Java. Язык имеет статическую типизацию, поддерживает полиморфизм, перегрузку операторов (в том числе операторов явного и неявного приведения типа), делегаты, атрибуты, события, свойства, обобщённые типы и методы, итераторы, анонимные функции с поддержкой замыканий, исключения, комментарии в формате XML.

Переняв многое от своих предшественников — языков C++, Java, Delphi, Модула и Smalltalk — C#, опираясь на практику их использования, исключает некоторые модели, зарекомендовавшие себя как проблематичные при разработке программных систем, например, C# не поддерживает множественное наследование классов (в отличие от C++).

Название "Си шарп" (До диез) происходит от музыкальной нотации, где знак диез, прибавляемый к основному обозначению ноты, означает повышение соответствующего этой ноте звука на полутон. Это аналогично названию языка C++, где "++" обозначает, что переменная должна быть увеличена на 1.

Названия языков программирования не принято переводить, поэтому зачастую язык называют по-английски "Си шарп".

Ваша первая программа на C# (Csharp)

Как принято у программистов, любое изучение языка программирования начинается с написания простенькой консольной программы, которая выводит такую же простенькую фразу "Hello World!". Мы для разработки программ будем использовать Microsoft Visual Studio 2010, где и как её скачать, будет сказано позже, а сейчас рассмотрим элементарную программу, написанную на C# .

using System;

namespace Hello_world
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");
            Console.ReadLine();
            return;
        }
    }
}

Для человека, не имевшего дела с программированием на платформе .NET этот код для вывода простой фразы, может оказаться слишком громоздким и непонятным, поэтому давайте рассмотрим то, что у нас есть:

using System; - оператор using подключает те пространства имен, которые нужны для нормальной работы программы.

namespace Hello_world - пространство имен нашей программы.

Так как в C# весь код должен содержаться внутри класса, то VS сразу создает основной класс Program.

Точкой входа для любой консольной программы в C# является метод Main() (обратите внимание что буква "М" - заглавная). Эта функция вызывается при запуске программы. Этот метод должен либо возвращать целочисленное значение (int), либо не должен возвращать ничего (void).

Внутри метода мы вызываем метод WriteLine(string str) класса System.Console и выводим нужную нам фразу "Hello World!".

ReadLine читает пользовательский ввод. Этот метод мы вызываем для того чтобы программа не закрывалась сразу после запуска.

return мы используем, чтобы выйти из метода (а в нашем случае из программы).

Давайте теперь попробуем написать программу, которая выведет нам таблицу умножения.

using System;
class example
{
public static void Main()
{
  int m=0;  // инициализация счетчика
  for (int i=1; i<10; i++) // внешний цикл
  {
    Console.WriteLine("\n");
    for (int j=1; j<10; j++) // внутренний цикл
    {
      int k=i*j; m++; // счётчик
      if(k<10) Console.Write("  ");
      else Console.Write(" "); // структура выбора
      Console.Write(k);
    } // конец внутреннего цикла
  } // конец внешнего цикла
  Console.WriteLine("\n\n всего чисел: "+m+"\n  конец задачи");
    Console.ReadLine();
} // конец Main
} //конец example
Результат исполнения программы

Рис. 1.6. Результат исполнения программы

В данной программе мы используем цикл for для прохода по числам от 1 до 9, внешний цикл определяет первый множитель, внутренний цикл – второй.

Синтаксис цикла for :

for (инициализаторы; условие; список_выражений) оператор

Оператор, стоящий после закрывающей скобки, задает тело цикла. В большинстве случаев телом цикла является блок. Инициализаторы задают начальное значение одной или нескольких переменных, часто называемых счетчиками или просто переменными цикла. Условие задает условие окончания цикла, соответствующее выражение при вычислении должно получать значение true или false. Список выражений, записанный через запятую, показывает, как меняются счетчики цикла на каждом шаге выполнения. Если условие цикла истинно, то выполняется тело цикла, затем изменяются значения счетчиков и снова проверяется условие. Как только условие становится ложным, цикл завершает свою работу.

В нормальной ситуации тело цикла выполняется конечное число раз. Счетчики цикла зачастую объявляются непосредственно в инициализаторе и соответственно являются переменными, локализованными в цикле.

Условный оператор If else нужен для более удобного глазу вывода, обратите внимание, если число больше десяти мы выводим один пробел, если меньше то два. Это позволяет вывести таблицу с ровными столбцами.

Ключевые термины

C# (произносится си шарп) — объектно-ориентированный язык программирования.

Мобильное программирование – это разработка программ для мобильных устройств.

Краткие итоги

В данной лекции мы узнали, что:

  • мобильное программирование – это разработка программ для мобильных устройств, с учётом особенностей как мобильного устройства, так и операционной системы;
  • cмартфоны постепенно вытесняют мобильные телефоны, предоставляя более широкий спектр возможностей;
  • лидерами среди операционных систем для мобильных устройств являются: Symbian OS, BlackBerry OS, iOS, Windows Mobile (Windows Phone) , Android;
  • Windows Phone 7 является новой разработкой корпорации Microsoft заменив собой Windows Mobile;
  • для разработки для Windows Phone 7 используется объектно-ориентированный язык программирования - C#.

Набор для практики

Упражнения

Попробуйте сами разработать программу на C#, которая будет находить сумму и произведение чисел от 1 до 10.

Лекция 1 || Лекция 2 >