Показаны сообщения с ярлыком Статьи. Показать все сообщения
Показаны сообщения с ярлыком Статьи. Показать все сообщения

3 февр. 2011 г.

Возможное будущее Нокии

Как известно, 11 февраля 2011 года Нокия объявит о своей новой бизнес-стратегии. К сожалению я не имею никаких связей с "инсайдерами" или "знающими людьми", но отказать себе в удовольствии предположить пути развития Нокии мне будет очень сложно. Итак, что же нас возможно ожидает 11 февраля 2011 года?

1. MeeGo в качестве платформы для телефонов топового уровня.

Миго - это Линукс, адаптированный для мобильных устройств. Вполне возможно, что Нокия объявит данную платформу своей флагманской операционной системой и средой для разработок мобильных приложений. Мобильный Линукс себя уже отлично зарекомендовал в сотнях и тысячах различных мобильных устройств, включая и телефоны. Своеобразную "медлительность" Нокии в отношении мобильного Линукса можно объяснить либо желанием Нокии довести до ума последние топовые модели телефонов на Симбиане, либо желанием продемонстрировать публике новый и качественный задел на будущее с Линуксом, не растеряв при этом всех преимуществ еще живой платформы Симбиан.

2. Поддержка процессоров Intel Atom и ARM.

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

3. Симбиан в качестве платформы для телефонов среднего и низкобюджетного уровня.

Нокия не настолько глупа, чтобы полностью избавиться от Симбиана и S60. Тем более, что у данной платформы до сих пор имеется очень существенный сегмент на рынке. Однако S60 уже давно не дотягивает до того уровня пользовательского интерфейса, что в данный момент имеется у Андроидов и айФонов. Проще говоря, S60 уже настолько устарела морально и технически, что её будущее мне лично видится лишь в некоторых средних и малых моделях телефонов Нокии. В свете того, что для рядового пользователя красота кнопок гораздо важнее функциональности телефона, нетрудно предположить и то, что поддержка S60 будет окончательно прекращена и мы увидим пользовательскую оболочку, созданную для Симбиана исключительно на Кьюте.

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

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

4. Qt и QML.

Кьют и Кьюмл уже не новость, а практически основная среда разработки приложений для телефонов Нокии. Вместе с Явой они делают жизнь разработчика мобильных приложений практически беззаботной. Во всяком случае, намного беззаботнее, чем жизнь разработчика Symbian C++. Нокия в данном случае лишь может продемонстрировать переносимость кьютовских приложений из Симбиана на Линукс, и предоставить разработчикам инструменты для такого портирования.

P. S. Думаю, какие-то новшества будут касаться нокиевских сервисов в Ovi, а так же возможно навигационных приложений для телефонов. Впрочем, всё вышеизложенное лишь мои собственные предположения, доказать или опровергнуть которые сможет только сама Нокия 11 февраля 2011 года.

12 нояб. 2010 г.

Скорые похороны Симбиан ОС

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

Во-первых, ни одна здравомыслящая компания не откажется от уже готового решения, приносящего ей прибыль. Компания может отказаться от готового золотоносного решения только ради еще бóльшей прибыли. Однако Симбиан ОС на данный момент представляет собой ту самую рабочую лошадку, которая везет на себе практически все смартфоны Нокии, и таким образом помогает приносить львиную долю прибылей за все её "умные телефоны".

Ради объективности стоит, конечно же, отметить, что Симбиан ОС - это далеко не единственная рабочая лошадка Нокии. Помимо симбиановской платформы S60 у Нокии имеются так же платформы S40 и S30, работающие на полумистической Nokia OS, а так же Maemo и MeeGo. Однако такое разнообразие объясняется прежде всего очень широким спектром моделей телефонов, выпускаемых Нокией, и невозможностью компании игнорировать то, что имеет хоть какое-то значение для её потребителей и разработчиков.

Однако вернемся к нашим баранам экспертам. Второе, что не может позволить себе здравомыслящая компания - это остановиться в развитии своих продуктов и технологий. Скорости этого развития вероятнее всего замедлятся лишь тогда, когда в руках пользователя окажется мобильное устройство, разрешение экрана которого не будет уступать полноценному компьютерному монитору, с объемами памяти, соответствующими ноутбукам, и временем жизни батареи, исчисляемого месяцами. И все это счастье за каких-то 100 условных единиц, исчисляемых зимбабвийскими долларами. А пока это счастье еще не родилось в недрах R&D-департамента, любой компании приходится зарабатывать деньги на своих текущих моделях продуктов, создавать новые модели, устраненять дефекты в старых, и подготавливать очередной задел на будущее.

Не стоит забывать и о факторах успешного развития той или иной платформы. В техническом плане это прежде всего открытость платформы для новых технологий, приложений или веяний в IT. При этом "открытость" в мире мобильных платформ реализуется далеко не всегда в виде открытых исходников мобильной операционной системы. Чаще всего "открытость" платформы - это возможность дополнять функциональность платформы при помощи уже доступных из этой платформы технологий, приложений, библиотек и API. Симбиан ОС в этом отношении имеет очень долгую и весьма успешную историю. Помимо своих встроенных технологий, Симбиан ОС имеет так же достаточно завидный набор из пакетов Qt, Java ME, Flash Lite и Python. И это помимо скромной поддержки пакета OpenC, позволяющего с относительной легкостью портировать приложения, написанные на стандартном Си или Си++, или самому создавать такие приложения.

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

Таким образом получается, что для Нокии сбрасывание со счетов Симбиан ОС - это весьма и весьма непозволительная роскошь. Мне лично думается, что в течении ближайших нескольких лет Симбиан все еще будет сохранять значительную долю на европейском рынке. Удастся ли Симбиану (читай, Нокии) отвоевать значительную долю на рынке США - это уже вопрос не к Симбиану, а стратегам Нокии. Однако нельзя недооценивать усилия всё той же Нокии в деле сглаживания границ между своими мобильными платформами и операционными системами при помощи Qt. "Кьюту" неспроста отводится важная роль в будущем Нокии. Создавать приложения на "Кьюте" - одно удовольствие, а пользователю мобильными программами далеко по барабану на какой операционной системе работает его телефон. Главное - чтобы всё работало.

8 июн. 2009 г.

Русские строки в UI

Так уж получилось, что на данный момент Symbian OS является властительницей смартфоновских дум практически на всем земном шаре, в том числе и в России. А так как смартфоны в первую очередь подразумевают наличие на борту полезных программ и утилит, то без локализации UI никак не обойтись.

Конечно, при особом желании, и наличии весьма сомнительного изобретательства, своих клиентов можно пичкать такими "шедеврами" локализации как "BbIxo/\", или "BBE/\|/|TE /\AHHbIE", или, не мудрствуя лукаво, вместе с программой раздавать английские словарики. Однако если есть желание сделать нормальный UI, то следует в первую очередь воспользоваться инструментами локализации самой Symbian OS.

Unicode

Юникод, как это хорошо известно, имеет под собою благородный порыв стать домом всех не-ASCII-тичных символов. Однако с форматом у юникода дела обстоят примерно так же, как и у его предка - ASCII. Юникод на данный момент, имеет 8-ми, 16-ти, и 32-х битную версии. Для особых эстетов найдется даже 7-битная версия юникода. Однако для возможности использования русских букв и слов в строках мобильного пользовательского интерфейса в Symbian OS, будет совершенно достаточно кодировки UTF-8.

Файл .loc

То, что хранить строковые константы в теле программы - вселенское зло, вам объяснит любой грамотный программист. Symbian C++ в этом плане - не исключение, поэтому все строки локализации, с таким содержимым как "Выход", "Введите данные" или "Федя Пупкин Production", выносятся в текстовый файл с расширением loc. По большому счету, совершенно неважно какое расширение вы дадите файлу. Оно может быть и lok, и loh, и abc. Главное - это знать, что в данном файле хранятся все ваши локализованные строки.

Внутри своего loc-файла вы должны разместить не только строки в виде определений #define, но так же указать компилятору ресурсов в какой кодировке сохранен ваши строки, а равно - и сам loc-файл.

Для указания кодировки используется макрос CHARACTER_SET. Официальных параметров у макроса - всего два:

CHARACTER_SET UTF8 // ваши строки, понятное дело, в кодировке UTF-8
// или
CHARACTER_SET CP1252 // ваши строки в кодировке Windows Cp-1252

Для примера предположим, что у нас есть файл "application.loc", содержимое которого будет следующим:

// application.loc
CHARACTER_SET UTF8 // теперь компилятор в курсе, что мы используем UTF-8

#define about_fedya "Федя Пупкин Production"

В результате мы получили loc-файл с правильным содержимым. Дотошности ради стоит сообщить, что UTF-8, о котором мы говорим, на самом деле не так прост как кажется. Иногда Symbian OS не совсем правильно понимает все нюансы формата UTF-8, и поэтому у многих программистов возникают проблемы как с компилятором ресурсов, так и с текстовым редактором.

Однако файлы в "правильной" кодировке UTF-8, "понятные" для компилятора ресурсов Symbian OS, на самом деле очень легко создаются при помощи столь ненавистного многим компьютерщикам текстового редактора Windows Notepad. Да, вы не ослышались - Windows Notepad. Правда при сохранении вашего текстового loc-файла следует не зыбыть выбрать кодировку "UTF-8". После этого ни один компилятор ресурсов не плюнется вам в лицо гневными сообщениями о неправильных кодировках.

Файл .rss

Как правило, стоковые константы, определенные в loc-файле, находят свое применение в файле ресурсов приложения, носящее столь звонкое сейчас расширение - rss. Рассмотрим пример такого rss-файла, в котором будут определяться все элементы UI нашего приложения:

#include "application.loc" // подскажем компилятору где находятся наши строки

...

// теперь строковыми константами можно воспользоваться прямо в меню
MENU_ITEM
{
command = EShowInfoAboutAuthor;
txt = about_fedya;
},

...

// или просто в виде ресурсной строки
RESOURCE TBUF r_about_fedya { buf = about_fedya; }

В принципе, уже на этом этапе диалоги и менюшки ваших программ должны заговорить на великом и могучем русском языке. Точно так же вы можете "украинизировать", "обелорусить" или даже "закиргизить" свое приложение, если того потребуют ваши пользователи. Никакой принципиальной разницы тут нет. Главное - содержимое вашего loc-файла и грамотное указание используемой кодировки.

Загружаем локализованную строку в программе

Как бы ни были удобны rss-файлы, порою нам нужно загрузить строку из файла ресурсов, и показать пользователю. Как это сделать в Symbian C++? На самом деле - проще пареной репы. Для приготовления такой "пареной репы" вам понадобится компонента под емким названием StringLoader. Эта замечательная утилита доступна для всех, кто работает на платформе S60. Впрочем, возможно и на других платформах есть подобные аналоги. Итак, чтобы загрузить нашу тестовую строку, следует выполнить следующий код:

// создать переменную для хранения строки
HBufC* aboutFedya;

// загрузить строку "r_about_fedya" из файла ресурсов
// обратите внимание, что тут мы должны исользовать только большие буквы
aboutFedya = StringLoader::LoadLC( R_ABOUT_FEDYA );

// сделать что-нибудь с полученной строкой

...

// освободить память, занятую строкой
CleanupStack::PopAndDestroy( aboutFedya );

В принципе, это все тонкости при переводе вашего приложения на русский, украинский, белорусский, киргизский или любые другие языки.

4 июн. 2009 г.

Комбинации клавиш для работы с эмулятором S60

Так как у настоящих джедаев Symbian OS и S60 есть только три инструмента: SDK, Notepad и командная строка, - будет совсем не лишним узнать о "шорткатах", т.е. комбинациях клавиш, способных облегчить жизнь при работе со стандартными эмуляторами Symbian OS, и сэкономить уйму времени и нервов.

После того, как вы смело запустили эмулятор, можно воспользоваться следующими комбинациями клавиш компьютера:

Клавиша "§", она же "½", она же "Ё" - приравнена в эмуляторах S60 к клавише "Enter". При нажатии на нее запускаются программы, а так же выполняются команды по умолчанию. Нажатие этой клавиши при открытых диалогах соответствует выборке команд "Yes", "Open", "Accept", и т.д. В общем, подтверждение на запуск и исполнение чего угодно и когда угодно.

При нажатии на клавишу "Home" вы попадаете в главное меню. Нажав клавишу "Home" еще раз, вы попадаете на "рабочий стол" эмулятора.

Комбинация "Alt + 1", или нажатие на клавишу "F1" соответствует нажатию на левую кнопку меню эмулятора. Т.е. в эмуляторах S60 вы таким образом легко активизируете меню программ, а так же выбираете левую опцию любого диалога.

Комбинация "Alt + 2" соответствует нажатию на правую кнопку меню эмулятора. Т.е. в эмуляторах S60 вы таким образом легко активизируете стандартные опции вроде "Back", "Cancel", "Exit", и так далее, а так же выбираете правую опцию любого диалога.

Клавиши "Delete" и "Backspace" логично дает вам возможность что-то удалить в эмуляторе.

Клавиша "Esc" отменяет запущенную операцию. Например, таким образом вы можете сказать свое гордое "No" диалогу на подтверждение удаления файла.

Всех этих небольших премудростей вам с лихвой хватит для работы с любым эмулятором S60. Комбинации этих клавиш работают в 99% случаев, и чтобы каждый раз не перенастраивать ваш эмулятор, их следует просто запомнить.

Однако если вы хотите, чтобы меню программ в вашем эмуляторе активизировалось при помощи нажатия на клавишу "Enter", возможно вам поможет соответствующая глава документации по конфигурировании эмулятора Symbian OS.