Pull to refresh
33
0
Александр Салтыков @john_samilin

Пользователь

Send message

Философские вопросы интернационализации веб-приложений

Reading time 3 min
Views 828

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

Языки

Если вы поддерживаете два или три языка, это не имеет большого значения. Но если вы хотите поддерживать дюжину вариантов, вы должны как-то решить, какие из них. Для начала неплохо погуглить самые популярные языки, но этот вариант совсем не точен. Лучше посмотрите статистику или аналитические отчеты, которые дадут вам представление о том, на каких языках говорят ваши пользователи. В Росплате я такие данные не собираю, поэтому нужна была другая точка отсчета. Мне пришлось проявить инициативу и просто спросить потенциальных пользователей: «Привет, ребята, какие языки вы ожидаете увидеть на странице настроек?». Честно говоря, ответ был неожиданным. Арабский, иврит, хинди и бенгалбский!

Обнаружение

Когда новый пользователь попадает в приложение, он может не говорить по-английски, который является языком по умолчанию. Значит, должен быть какой-то способ угадать. И есть один: используйте заголовок Accept-Language на стороне сервера. Этот заголовок не только говорит вам, какую локаль использовать, но и дает вам подсказку, например, этот пользователь говорит на языке А и языках Б (я уверен на 90%) и С (я уверен на 50%). С этой информацией вы можете быть намного увереннее: если вы не поддерживаете основной язык пользователя, вы, вероятно, можете использовать дополнительные.

Читать далее
Total votes 3: ↑1 and ↓2 -1
Comments 2

Как сегодня делают веб-приложения? Часть 1

Reading time 3 min
Views 19K

Друзья, всем привет! Я занимаюсь веб-разработкой уже 13 лет. Помню, как когда-то jQuery был настолько удобным, что повлиял на веб-платформу: так появился querySelector. В конце прошлого года в порыве рефлексии я был удивлен тем, насколько удобней с тех пор стали браузерные API: словно используя сборщики, транспиляторы и автопрефиксеры, я пользовался не веб-платформой, а чем-то другим, надстройкой, которая живет и развивается по своим правилам. Современные браузеры умеют асинхронно загружать js-модули, кешировать состояние страницы при переходах, отслеживать производительность, реагировать на предпочтения пользователя, не говоря уже о десятках API для всех случаев жизни, начиная NFC, заканчивая поддержкой геймпадов.

Но есть один важный вопрос, который нам с вами стоит обсудить: как нам делать веб-приложения, если завтра прилетит волшебник в голубом вертолете и заберет все привычные инструменты?

Читать далее
Total votes 15: ↑6 and ↓9 -3
Comments 13

Как сегодня делают игры в браузере? Часть 3

Reading time 3 min
Views 3.7K

Две предыдущие части (первая и вторая) были своего рода мануалами о том, как загружать модели и передвигать их. В этот раз я расскажу о том, как добавить больше интерактивности. В частности, статистику в реальном времени и столкновения.

Читать далее
Total votes 7: ↑4 and ↓3 +1
Comments 0

Как сегодня делают игры в браузере? Часть 2

Reading time 3 min
Views 2.6K

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

Как вообще-то передвигать персонажа (который есть набор отдельных 3D-объектов) в пространстве? Я уже рассказывал ранее в 4 шаге о том, об объединении объектов в группу. Еще раз: вы можете перемещать группу с линейной скоростью; в сумме с подходящей анимацией это будет выглядеть как ходьба или бег, в зависимости от вашей задумки.

Читать далее
Total votes 6: ↑5 and ↓1 +4
Comments 0

Как сегодня делают игры в браузере? Часть 1

Reading time 4 min
Views 7.9K

Игра в браузере на React и Three.js!

Я занимаюсь фронтендом уже очень давно, порядка 10 лет. И как любой уважающий себя фронтендер, я люблю тащить javascript туда, где обычно его не используют: на сервер, в мобильные приложения, в геймдев. С тех пор как я увидел первые WebGL демосцены в 2013-м, я мечтал сделать что-то похожее, скажем, на это.

Так что я провел немало времени экспериментируя и читая документацию, и вот что у меня получилось.

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

Читать далее
Total votes 9: ↑8 and ↓1 +7
Comments 10

Многостороннее преломление в трех шагах

Reading time 6 min
Views 1.4K

Когда вы визуализируете 3D-объект, вам всегда нужно добавлять к нему какой-то материал, чтобы он был виден, и выглядел так, как вы хотите; неважно, делаете вы это в специальных программах или в режиме реального времени через WebGL.


Большую часть материалов можно имитировать с помощью встроенных средств библиотек вроде Three.js, но в этом уроке я покажу вам, как заставить объекты выглядеть, как стекло за три шага с помощью — вы угадали — Three.js.

Читать дальше →
Total votes 5: ↑4 and ↓1 +3
Comments 0

Компания Appcelerator выпустила Hyperloop

Reading time 1 min
Views 2.4K
11 августа состоялся релиз Hyperloop — технологии, позволяющей обращаться к нативным API iOS и Android из Javascript-кода. Hyperloop будет доступен подписчикам платформы (Appcelerator Platform) на всех планах, кроме Indie.
Читать дальше →
Total votes 12: ↑7 and ↓5 +2
Comments 1

Что такое «Нативное приложение»?

Reading time 4 min
Views 96K
Следующее высказывание с легкостью может прозвучать от того, кто только что начал изучать Titanium:
JavaScript?! Как Phonegap? Не, я лучше сделаю нативное приложение.

Разумеется, у меня были подобные беседы с клиентами, когда я был фриланс-разработчиком на Titanium. И уж конечно, как Developer Advocate, я частенько слышу это когда начинаю объяснять Titanium разработчикам, которые ищут кросс-платформенное решение для создания приложений.
Читать дальше →
Total votes 18: ↑11 and ↓7 +4
Comments 35

Все, что вы хотели знать о моделях и коллекциях в Titanium

Reading time 7 min
Views 3.6K
Но по какой-то причине боялись спросить.

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

В этой статье я постараюсь максимально подробно осветить все аспекты использования моделей в MVC фреймворке для разработки мобильных приложений Appcelerator Titanium.

Если вы еще не пробовали связываться с моделями, то, надеюсь, эта статья сэкономит вам пару километров нервов.
Читать дальше →
Total votes 11: ↑10 and ↓1 +9
Comments 0

Создание приложений OS X с помощью JavaScript

Reading time 13 min
Views 21K
Недавно в OS X Yosemite была представлена возможность использования JavaScript для автоматизации. Это открывает возможность получать доступ к нативным* фреймворкам OS X из JavaScript. Я тут покопался в этом новом мире и собрал несколько примеров. В этом посте я объясню основы и шаг за шагом покажу процесс создания небольшого приложения
Читать дальше →
Total votes 44: ↑43 and ↓1 +42
Comments 35

3D-режим в Diablo 2

Reading time 5 min
Views 117K
Это перевод поста Don't Starve, Diablo — Parallax 7 из блога Simon Schreibt от 25 февраля 2014 года.
Осторожно, тяжелые гифки.

В 90-х игры начали свое движение от 2D к 3D. Если бы НЛО тогда посетило землю, пришельцы решили бы, что используемые в то время низкополигональные модели без всякой фильтрации никому не нужны, и уничтожили бы Землю.

Со временем они, конечно, научились бы тому, что делало людей особенными: даже в эру 2D у них было невероятное желание рендерить в 3D, даже при том, что тогда это было просто невозможно!
Читать дальше →
Total votes 184: ↑184 and ↓0 +184
Comments 33

Эдди Османи: Паралич выбора

Reading time 3 min
Views 17K
Это перевод поста «Front-end Choice Paralysis» Addy Osmani, опубликованный 1 июля 2014 года.

Во фронтенд-разработке мы постоянно сталкиваемся с такой проблемой, как изобилие выбора. Мы видим избыток инструментов, фреймворков, языков, абстракций и платформ. Такой выбор — это, безусловно, хорошо для конкуренции и дальнейшего развития, однако, сталкиваясь с таким количеством вариантов, можно впасть в ступор. Вместо того чтобы сделать свой выбор, чувствуешь себя брошенным, с чувством неопределенности перед огромной кучей вариантов. Это не обязательно проблема отрасли фронтенд-разработки – эта проблема человеческой природы.
Читать дальше →
Total votes 38: ↑30 and ↓8 +22
Comments 19

Information

Rating
3,504-th
Date of birth
Registered
Activity