Элиот Стокс - Идеально! Как создать и переделать свой сайт. Правильный подход и передовые техники разработки
Конечно, Titanium не единственная кроссплатформенная технология, которая может создавать «родные» бинарные файлы и использовать фреймворки. Если у ваших разработчиков есть навыки в разработке C# и. NET, вы также могли бы рассмотреть технологию Mono (а особенно MonoTouch для iOS и Mono для Android). Mono работает по такому же принципу, как и Titanium, но вместо использования JavaScript, вы берете язык программирования C# (…и с осторожностью другие языки программирования. NET),NET паттерны и инструменты для создания «родных» приложений.
Веб-приложения
Если вы читаете эту книгу, скорее всего, вы либо веб-дизайнер, либо веб-разработчик (либо и то и другое), либо вы только учитесь. Ваша роль как веб-дизайнера заключается в разработке набора документов (в этом случае вы могли бы здорово положиться на ваши навыки в графическом дизайне) для приложений с разнообразным поведением (здесь вы бы поупражнялись в применении ваших интерактивных дизайнерских способностей).
У вас также есть богатый выбор материала для разработки вашего продукта. Исходя из нужд вашей аудитории, вы можете выбрать использование «родных» авторских веб-технологий, таких как HTML, CSS и JavaScript, для создания «родных» веб-приложений. В качестве альтернативы вы можете использовать «неродные» кроссплатформенные авторские технологии, такие как Adobe Flash или Unity, для создания «неродных» веб-приложений. И как третий вариант, вы можете использовать комбинацию обеих авторских технологий: «родной» и «неродной» для создания гибридных веб-приложений. Например, сайт, изначально построенный на HTML, CSS и JavaScript, но дополненный технологией Flash, чтобы обеспечить богатый игровой опыт.
Независимо от того, что вы выберете– «родные» или «неродные» веб-технологии, обратите внимание на то, как ваше приложение запускается, откуда (как) оно доступно и есть ли доступ к нему из Сети. Проще говоря, это означает, что у вашего сайта или приложения должен быть URL-адрес[119] и оно должно обслуживаться через протокол HTTP. Это то, что делает веб-приложение веб-приложением.
«Родные» приложения одиночной платформы
В процессе работы, описанном выше, вы, возможно, придете к выводу, что лучше удовлетворите нужды пользователя, если оборудуете одиночную платформу или устройство под ваше приложение. А свое ограниченное время и бюджет вы вложите в оптимизацию опыта взаимодействия именно на ней.
Если все же вы решаете поддерживать одиночную платформу, вам все равно нужно выбрать технологию. Если вы делаете игровое или другое интерактивное приложение, то можете взять кроссплатформенную технологию, такую как Corona от Ansca, Unity или Adobe Flash, которые существенно облегчают разработку подобных приложений.
Если вы создаете не интерактивное приложение, у вас есть выбор между такими кроссплатформенными наборами средств, как Titanium Mobile или Mono. Недостаток здесь в том, что процесс разработки потребует еще одного дополнительного преобразования, и вы мало сможете контролировать оптимизацию вашего приложения, потому что в какой-то степени будете полагаться на «родной» код, написанный специалистами Titanium. Даже если вы погружаетесь в Titanium (или похожий фреймворк типа Mono), помните, что вам все равно нужно изучить «родные» фреймворки (или API) платформы, на которой вы собираетесь работать. Изучать новые фреймворки гораздо сложнее, чем новые языки программирования.
Хотя опытный программист может освоить такой язык программирования, как Objective-C, в считанные дни, у разработчиков уйдут недели (а то и месяцы, даже года) на то, чтобы полностью вникнуть и приноровиться к паттернам, культуре и тонкостям такого фреймворка, как Cocoa Touch.
В конце концов, вы можете использовать «родной» набор средств платформы, которую выберете. Например, вы можете использовать XСode с Objective-C и Cocoa Touch для разработки «родного» iOS-приложения, или Eclipse с Android SDK для создания «родного» Android-приложения, или Visual Studio с C# и фреймворком. NET для разработки Windows Phone-приложения.
Это может включать в себя изучение нового языка программирования (Objective-C для iOS, Java для Android и C# для Windows Phone) или привлечение группы специалистов, которые знают эти языки и имеют опыт работы с «родными» фреймворками. Как мы уже говорили, выбрать новый язык легко, гораздо сложнее изучить новый фреймворк. Не забывайте об этом, когда будете решать, идти ли вам таким путем, если ни вы, ни ваши специалисты не обладают необходимыми навыками.
Плюсов в создании родного приложения с использованием «родных» технологий множество. Во-первых, вы имеете полную гибкость в оптимизации приложения и опыта взаимодействия. Когда вы используете «родные» компоненты и придерживаетесь руководства по интерфейсу для выбранной платформы, ваше приложение будет соответствовать культуре, языку и нормам данной платформы. Пользователям будет легче его изучить и использовать. Также, если вы полагаетесь на чужой абстрактный или преобразующий слой, вы будете постоянно работать с последними версиями кода и фреймворками от производителя, которые дают вам дополнительную гибкость для подгонки новых свойств и обновлений, когда они выпускаются для платформы.
Самое важное то, что если вы направите свои усилия на одну конкретную платформу, время, которое вы потратили бы на оптимизацию, тестирование и поддержку другой платформы, можно сначала уделить оптимизации опыта взаимодействия вашего приложения, а потом, если нужно, добавить поддержку для других платформ.
Дизайн для людей
Платформы и технологии, которые вы выбираете для создания вашего нового продукта, существенно повлияют на то, какой к нему будет доступ, как он будет выглядеть и восприниматься, будет ли он соответствовать, и, будем надеяться, превышать запросы ваших пользователей. Такое решение нельзя принимать на скорую руку.
Если выбор платформы и технологии основан просто на ваших сиюминутных деловых нуждах или на имеющейся у ваших специалистов компетенции, то в этом случае вы принимаете решение в своих интересах, но никак не в интересах пользователя. Это может сработать на какой-то короткий промежуток времени, но вы не сможете долго тягаться с теми, кто изначально решал проблемы пользователей. Выбор платформ и технологий должен базироваться на том, как лучше удовлетворить нужды пользователей, а не на идеологических пристрастиях или стремлении к краткосрочным целям в ущерб долгосрочным.
Помните, что и так существует слишком много нестандартных вещей. Нам не надо больше. Нам нужны вещи, которые будут хорошо работать. Создавайте то, что информирует, оказывает поддержку, развлекает и вызывает восторг. И при этом используйте в работе правильный инструментарий и технологии.
Об авторе
* * *Арэл Балкан – дизайнер, разработчик, автор, учитель, предприниматель. Страстный поклонник ренессанса, помешан на разработке опыта использования и желании сделать мир лучше с помощью технологии и ораторского искусства. В настоящее время является организатором Конференции по модернизации как части Фестиваля цифровой техники в Брайтоне, а также создает iPhone-приложения, например тепло принятый критиками Feather.
О рецензентах
* * *Джош Кларк окончил Гарвардский колледж (Кембридж, штат Массачусетс, США). Джош постоянно выступает на интернациональных технологических конференциях, делясь своим видением мобильной стратегии и дизайна для телефонов, планшетов и других перспективных устройствах. Его девиз одинаков как для фитнеса, так и для опыта использования программ: «Без труда не вытащишь рыбку из пруда». Джош является основателем агентства Global Moxie.
*****
* * *Андерс М. Андерсен имеет степень магистра компьютерной науки, университет La Trobe University, Мельбурн. Его кредо – следующие строки Дугласа Адамса: «Я люблю дедлайны. Мне нравится свист, с которым они пролетают». Благодаря своей работе он делает информацию доступной людям. Самый большой урок, который он извлек из своей карьеры: если хочешь, чтобы что-то было сделано, сделай это сам. Его личное пожелание вам: «Старайтесь узнавать что-то новое каждый день».
Перестраиваем рабочий процесс: дружелюбный подход к будущему проекту
Автор: Стивен Хей
Рецензент: Брайан Ригер
Мне часто вспоминаются карты на стенах, которые показывают территорию офисного здания, торгового центра, метро или городскую зону, с выделенной обычно красной стрелой и пунктиром надписью «Вы здесь», указывающей на то место, где я стою. Эти карты показывают, где мы, что вокруг нас и куда нам надо идти. Конечно, нам нужно и то и другое. Мы должны четко знать направление, но это не имеет смысла, если мы не имеем понятия, где мы находимся сейчас.
Рисунок 10.1. Достичь места назначения важно, но знать отправную точку гораздо важнее. Фото: Джо Голдберг, smashed.by/joegph