Сомневаетесь, стоит ли инвестировать в разработку мобильного приложения? Его можно сделать самостоятельно и абсолютно бесплатно. У вас может получиться тестовый вариант, с помощью которого удобно оценивать эффективность мобильной стратегии. А если постараетесь, вы сделаете приличное мобильное приложение, которое станет основным инструментом онлайн-взаимодействия с владельцами смартфонов и планшетов.
Только учтите, что даже самое крутое мобильное приложение не может быть единственным инструментом продвижения. Максимальный результат по трафику и продажам дает только комплексный интернет-маркетинг.
Что такое программа
Программа — это последовательность команд, которые показывают компьютеру, как решить задачу. Простейшая программа — дать компьютеру три числа, чтобы он произвел с ними операции и показал ответ. Разумеется, компьютер не поймет команд на русском — они должны быть четко прописаны на одном из языков программирования. Но общий смысл ясен: программист дает компьютеру команды и предоставляет необходимые данные.
Для тех, кому нужно найти самый дешевый отель, создали программу Booking. Если нужно написать заметку — Evernote, отредактировать фотографию — Photoshop. Для пользователя программа — это продукт, который должен решить его задачу.
Как это выглядит для компьютера
В обработке программы участвуют три компонента компьютера: процессор (ЦПУ), запоминающее устройство (HDD) и оперативная память (ОЗУ). Процессор обрабатывает и исполняет указанные инструкции, жесткий диск их хранит, а оперативная память служит буфером для процессора: отсюда берутся данные и команды, необходимые процессору для выполнения операций.
Простой пример: пользователю нужно открыть калькулятор и произвести математическую операцию. Пока программа еще не открыта, она хранится на жестком диске. Как только пользователь открывает программу, все инструкции и данные попадают в оперативную память. Процессор начинает выполнять операции, которые указывает пользователь. Во время работы все данные хранятся в оперативной памяти. Когда работа прекращается, программа выгружается из оперативной памяти и переходит «в спячку» на жесткий диск.
Постановка задачи
Чтобы создать программу, нужно четко поставить первоначальную задачу. Для этого нужно сформулировать условия и описать всю входящую и исходящую информацию. Программист сразу понимает, что он даст программе и что хочет получить в ответ.
Возьмем, к примеру, ту программу, которая производит операции с несколькими числами и выводит пользователю ответ. Входящей информацией будут числа, исходящей — результат вычислений, который покажет программа. Для обработки этой информации программист создает наборы инструкций — алгоритмы.
Windows: Как создать программу
В этой статье я попробую показать, как создать программу самому, ведь это очень просто. Многие из нас постоянно работают с программами, сложными и попроще, но многие не задумываются, а что-же на самом деле есть программа. Если описать коротко, то программа — это набор инструкций, которые отдаются компьютеру в соответствии с происходящими событиями. Событиями могут быть такие очевидные вещи как нажатие кнопок клавиатуры, перемещение мыши и нажатие ее кнопок. Также событиями, не такими очевидными для непосвященного пользователя, могут быть уведомления от от операционной системы, компьютерного железа таймера, часов, и так далее.
Не буду рассуждать на тему зачем может потребоваться писать самостоятельно программу, у каждого свои причины. Перейдем сразу к установке среды разработки и написанию минимальной программы, которая будет иметь одно окно, в котором будет одна кнопка, при нажатии на которуй программа будет закрываться.
Изначально создание программы можно разделить на следующие этапы:
Так как большинство из нас не гениальные мальчики и девочки, родившиеся с клавиатурой в руках и не впитали языки программирования с молоком матери, нам понадобится программа более функциональная и наглядная чем блокнот. Эта программа называется интегрированной средой разработки (IDE — Integrated Development Eniroenment). Таких сред разработки много — это Microsoft Visual Studio, SharpDevelop, Netbeans, и другие. В данной статье мы будем писать программу под Windows, используя язык програмирования C#, поэтому остановим свой выбор на среде разработки SharpDevelop, которая является бесплатным продуктом с открытым исходным кодом. SharpDevelop содержит в себе все средства, которые нужны для написания полноценной программы: Средство визуального проектирования пользовательского интерфейса, автодополнение кода и многое другое.
Устанавливать будем последнюю версию, которая доступна для загрузки на сайте разработчика.
Lightbox
Устанавливаем программу, думаю здесь не должно возникнуть сложностей.
После установки запускаем среду разработки.
Нажимаем кнопку New solution, или меню File — New — Solution.
В открывшемся диалоговом окне выбираем: C# — Windows Applications — Windows Application — Название програмы — Create (Создать)
В закладке Projects открываем файл MainForm.Designer, как показано на рисунке.
В закладке Tools выбираемм элемент управления Button (Кнопка), перетаскиваем ее на форму. Теперь у yас форма содержит кнопку.
Давайте ее переименуем, и назначим ей действие — при нажатии кнопки будет закрываться программа.
Переименовуем кнопку: В окне Properties находим свойство Text, Меняем значение Button1 на Close
Назначаем обработчик события нажатия кнопки
Для этого делаем двойное нажатие на кнопке, программа автоматически создаст необходимую функцию Button1Click. Внутри этой функции пишем: this.Close();
Запускаем программу:
При нажатии кнопки Close, окно программы закроется, в след за этим завершит работу и сама программа.
В большинстве учебников для начинающих программистов первая программа выводит простое сообщение «Hello world!». Мне кажется это немного тупо, так как для того, чтоб заинтересовать начинающего программиста, нужно показать нечто большее и полезное, нежели просто окно с текстом, например возможности языка программирования C# и .Net Framework. Давайте в нашей программе реализуем возможность выполнения простейших арифметических операций. Мне кажется это будет гораздо полезней.
Итак, давайте создадим четыре кнопки: «+», «-«, «*», «/», а также три текстовых поля: два для выполнения арифметических операций и один для результата.
Назначим обработчики событий нажатия кнопок
Пишем код
Приведу текст для сложения. По аналогии я думаю вы догадаетесь как сделать вычитание и другие виды действий с числами, в плоть до возведения в степень и так далее:
void ButtonAdditionClick(object sender, EventArgs e) { textBoxResult.Text = (Convert.ToInt32(textBoxOperand1.Text.ToString()) + Convert.ToInt32(textBoxOperand2.Text.ToString())).ToString(); }
Проверяем работу программы
Обратите внимание, что я пока не реализовал проверку вводимого значения в текстовое поле. Если ввести в него некорректное значение — программа выдаст сообщение об ошибке, в которой сообщается, что вы пытаетесь преобразовать в числовое значение неправильную строку:
Пока все. Если есть вопросы или замечания — пишите в комментах.
profhelp.com.ua
Что такое алгоритмы
Алгоритмы — это прослойка операций между входящими и исходящими данными. По сути, это все то, что будет делать компьютер с имеющейся информацией, чтобы дать пользователю ответ.
Повседневная жизнь также состоит из алгоритмов. К примеру, вы хотите выпить кофе в обеденный перерыв: идете к кофейному автомату, вставляете деньги в купюроприемник, выбираете нужный кофе, подставляете стаканчик и подтверждаете свой выбор. Как и в реальной жизни, в программировании очень важна последовательность и точность исполнения действий: не подставите стаканчик — кофе прольется, не скормите автомату деньги — не получите кофе. Алгоритм — это суть программы.
Создаем приложение своими руками: что нужно знать
Начать придется с теории. Вам нужно на базовом уровне понять анатомию мобильных приложений, а также запланировать базовую функциональность программы.
Что такое мобильное приложение
Мобильное приложение — это программа, работающая на планшетных ПК и смартфонах. С помощью программ владелец девайса решает практические задачи: соединяется с интернетом, публикует фотографии в соцсетях, редактирует текст или изображения, уничтожает виртуальных орков, слушает музыку.
Приложение состоит из front- и back-end’а. Front-end — это компоненты программы, с которой взаимодействует клиент. Back-end или серверная часть — это компоненты, с которыми взаимодействует разработчик. Условно говоря, front-end находится на устройстве пользователя, а back-end на личном или арендованном сервере владельца программы.
Пользователи смартфонов и планшетов загружают приложения с сайтов разработчиков или из магазинов. Самые известные магазины — Google Play и App Store. Аудитория считает приложения из магазинов безопасными, так как модераторы проверяют программы перед публикацией.
Как конвертировать теоретические знания об анатомии мобильных приложений в практические действия? При выборе конструктора обратите внимание на две позиции. Первая: сервис должен обеспечивать хостинг приложения. Вторая: выбранный ресурс должен обеспечить возможность управления приложением и его публикацию в Google Play, App Store и других популярных магазинах.
Как определить необходимую функциональность приложения
На этом этапе необходимо сформулировать цель и задачи, которые решает приложение. Иначе говоря, нужно понять, зачем вы создаете программу для мобильных устройств. Обратите внимание, этот вопрос нужно рассматривать не с точки зрения бизнеса. Все знают, что за формулировками типа «повысить качество обслуживания» и «обеспечить комфорт владельцам смартфонов» прячется конкретная бизнес-цель: стимулировать продажи. Но она не поможет спланировать функциональность программы.
Рассмотрите цель и задачи приложения с позиции клиента. Определите, с какой целью представитель аудитории будет устанавливать и использовать приложение. Найдите задачи, которые обеспечивают достижение этой цели.
Например, если у вас интернет-магазин, цель мобильного приложения можно сформулировать так: обеспечить клиентам возможность выбирать и покупать товары со смартфона или планшета. Достижение цели должны обеспечить следующие задачи:
- В приложении должна быть удобная навигация. Клиент должен иметь возможность искать продукты по категориям, заданным параметрам, производителям.
- Программа должна иметь удобный блок оформления покупок: корзину, систему оплаты, отслеживание статуса заказа.
- В приложении нужен личный кабинет. В нем будут разделы «История покупок», «Желания», «Избранное».
- С помощью push-уведомлений клиент будет получать сообщения о новых поступлениях товаров и акциях.
- В разделе «Информация» пользователь сможет прочитать новости и обзоры.
Вы уже догадались, что формулирование цели и задач определяет функциональность будущего приложения? Кстати, не тратьте время на измеримость и достижимость цели. В данный момент вы планируете функции программы, а не занимаетесь SMART-анализом.
Также не тратьте время на планирование дизайна, внешнего вида иконок и кнопок, макетирование экранов. Вы будете использовать шаблонные решения. Конструкторы приложений позволяют выбрать один из готовых макетов и наполнить его контентом.
Самостоятельно потренируйтесь формулировать цель и задачи создания приложений разных типов. Например, запишите формулировки для программ, созданных для контент-проектов, форумов, сервисов.
Нужно мобильное приложение для iOS или Android? Обращайтесь! Подробнее
Языки программирования
В курсе «Основы программирования» от Geekbrains используется язык программирования JavaScript. Во-первых, у него широкая область применения: JavaScript используют в веб-разработке, в разработке офисных и серверных приложений. Во-вторых, он универсален. Для работы с JavaScript не нужно устанавливать среду разработки, то есть систему для написания программного обеспечения — все операции проводятся в браузере.
Начать писать на JavaScript довольно просто. Нужно создать файл с расширением HTML (подойдет любой текстовый редактор, даже «Блокнот») и прописать в нем несколько строчек кода.
На Windows лучше всего использовать программу Notepad++. На OS X ее нет, но есть неплохие аналоги, например Sublime Text или TextMate. Чтобы вывести на экран всем знакомую надпись ‘Hello, World!’, нужно прописать в редакторе следующие строчки:
< script language=»javascript» >
alert (‘Hello, World!’);
< / script >
После этого сохранить файл в формате HTML и открыть. Он откроется в браузере — если все сделано верно, то появится окно с введенным текстом.
Пишем скрипт для работы с задачами
Всю скриптовую часть мы будем писать в конце страницы, чтобы сначала у нас в файле шёл CSS, затем HTML-код самой страницы, а после него — JavaScript. Поэтому все блоки помещаем после последнего тега
, когда у нас закончилась вся визуальная часть.
Нам понадобится библиотека jQuery, чтобы код мог быстро работать с полем ввода и списком задач.
jQuery — это отдельная библиотека, написанная на языке JavaScript. Проще говоря, это некий набор готовых функций, которые упрощают жизнь разработчика и написание кода. Особенность jQuery в том, что она позволяет напрямую работать с любым элементом на странице. Это нам пригодится для обработки конкретных дел из нашего списка. Строго говоря, всю работу в этой задаче можно было проделать и без jQuery, на чистом JavaScript, но это займёт немного больше времени и будет не так удобно и красиво.
А теперь пишем сам скрипт, который будет делать следующее: ждать, пока пользователь не внесёт текст в поле ввода и не нажмёт клавишу ввода. После этого скрипт помещает новую задачу в память компьютера, а потом добавляет её в конец списка. Когда задача выполнена и на неё щёлкнули мышкой, скрипт удалит соответствующую строку из списка и из памяти устройства.
Добавим раздел с нашим скриптом после раздела с jQuery:
// Тут будет наш скрипт
Заведём переменные для наших задач, которые отвечают за список:
var List = $(‘#tdlApp ul’); var Mask = ‘tdl_’;
Теперь напишем функцию, которая берёт из памяти наши задачи (если они там уже есть) и делает из них список. Функция — это маленькая программа внутри большой программы, в нашем случае она отвечает за визуализацию списка задач.
У каждого браузера есть своё внутреннее хранилище данных, где он запоминает информацию с разных сайтов. Хранилище называется localStorage. Любой сайт может туда что-то записать, а потом, когда понадобится, извлечь из памяти свои данные и работать с ними дальше LocalStorage хорош тем, что не обнуляет данные, когда вы перезагружаете страницу. То есть сохранённая тут информация будет жить в браузере, пока вы специально её не удалите. Но есть и минусы: если вы откроете страницу в другом браузере или с другого компьютера, там будет свой localStorage и посмотреть свои задачи с другого устройства не удастся.
Чтобы хранить единый список задач на разных компьютерах и получать к нему доступ по паролю, потребуется большое хозяйство с сервером, базой данных, авторизацией и кучей всего. Мы в такие дебри пока не полезем.
function showTasks() { // Узнаём размер хранилища var Storage_size = localStorage.length; // Если в хранилище что-то есть… if (Storage_size > 0) { // то берём и добавляем это в задачи for (var i = 0; i < Storage_size; i++) { var key = localStorage.key(i); if (key.indexOf(Mask) == 0) { // и делаем это элементами списка $(‘ ‘).addClass(‘tdItem’) .attr(‘data-itemid’, key) .text(localStorage.getItem(key)) .appendTo(List); } } } }
Скрипт теперь может брать из памяти наши старые задачи. Правда, если запустить его прямо сейчас, то ничего не произойдёт: ведь в самом начале в локальном хранилище ещё ничего нет. Но если мы уже работали с нашим списком задач, в нём могли остаться наши старые записи. Поэтому запустим эту функцию в самом начале скрипта на тот случай, если вдруг в памяти уже что-то есть:
// Если в хранилище уже есть какие-то задачи, то показываем их showTasks();
Теперь при запуске скрипта он проверяет, нет ли чего-то старого в памяти, и как бы «вспоминает» ваши задачи.
Теперь нужно сделать так, чтобы мы могли вводить эти задачи. Для этого нам нужно отследить тот момент, когда пользователь ввёл текст в поле на странице и нажал Enter. Если он хоть что-то написал — запоминаем это и добавляем в список. Нестрашно, если сейчас вы не до конца понимаете, что в этом коде происходит, — всему своё время. Просто используйте его, так делает большинство программистов:
$(‘#tdlApp input’).on(‘keydown’, function (e) { if (e.keyCode != 13) return; var str = e.target.value; e.target.value = «»; // Если в поле ввода было что-то написано — начинаем обрабатывать if (str.length > 0) { var number_Id = 0; List.children().each(function (index, el) { var element_Id = $(el).attr(‘data-itemid’).slice(4); if (element_Id > number_Id) number_Id = element_Id; }) number_Id++; // Отправляем новую задачу сразу в память localStorage.setItem(Mask + number_Id, str); // и добавляем её в конец списка $(‘ ‘).addClass(‘tdItem’) .attr(‘data-itemid’, Mask + number_Id) .text(str).appendTo(List); } });
Теперь наша программа умеет запоминать задачи, которые вы ввели в поле ввода. Это происходит по нажатию клавиши Enter. Осталось сделать так, чтобы по клику на любой строке в перечне задач она исчезала из памяти и убиралась из списка:
$(document).on(‘click’, ‘.tdItem’, function (e) { // Находим задачу, по которой кликнули var jet = $(e.target); // Убираем её из памяти localStorage.removeItem(jet.attr(‘data-itemid’)); // и убираем её из списка jet.remove(); })
Всё, планировщик готов. Копируем эти части кода в наш раздел со скриптом и проверяем работу:
Если мы закроем эту страницу или перезагрузим компьютер, то данные всё равно останутся в памяти. Значит, программа работает как нужно и у нас всё получилось. Полный текст страницы (можно скопировать целиком и вставить в текстовый редактор):
Список задач /*Задаём общие параметры для всей страницы: шрифт и отступы*/ body { text-align: center; margin: 10; font-family: Verdana, Arial, sans-serif; font-size: 16px; } /* Настраиваем внешний вид поля ввода*/ input { display: inline-block; margin: 20px auto; border: 2px solid #eee; padding: 10px 20px; font-family: Verdana, Arial, sans-serif; font-size: 16px; } /*Как будет выглядеть каждый элемент нашего списка*/ .tdItem { text-align: left; padding: 10px; cursor: default; border-radius: 7px; } /*Что произойдёт, когда мы наведём курсор на любую задачу из списка*/ .tdItem:hover { background-color: lightblue; } /*Закончили со стилями*/