Ссылки о веб-разработке за апрель 2012

Opera: Over Half of Mobile Users Are Mobile-only

Can you hear me now? Photo by Aramolara/Flickr.

Opera has released a new “state of the mobile web” report that shows 56 percent of Opera’s mobile users access the web only via their mobile device. Some 43 percent of non-Opera mobile users also call mobile their sole browser.

Opera’s numbers were gathered in conjunction with mobile research firm On Device Research and are pulled from some 34,000 users in 22 different countries across four continents over the course of one year (Nov 2010 – Nov 2011).

There are two lessons for web developers in this report. First, globally, mobile is not the future of the web — it’s the now of the web. And second, hiding content on the mobile version of a website means a significant number of users will never see that content at all since they only access sites via a mobile device. Consider your hidden-from-mobile content non-existant content.

Naturally every website’s audience and needs are different. If your site is U.S.-centric then Opera’s report may have very little bearing on your users, but for those who’d like to expand to, or are already serving a global market, clearly making sure your site works well on mobile devices is key.

Delving into the Opera-centric portion of data offers some insights for developers as well, namely that building WebKit-only sites is not a good idea.

It’s one thing to know that building sites that only support the -webkit browser prefix is bad form, it’s another thing to realize it may be costing you money.

Not only are Opera Mobile and Mini the most widely used mobile browsers worldwide — which means not supporting them excludes the majority of mobile users from your site — according to Opera’s white paper, 55 percent of Opera users make purchases on their mobile devices. Only 43 percent of people without Opera installed do the same. In other words, websites that don’t support Opera on mobile may well be losing money.

Unfortunately Opera is going forward with its plan to support -webkit so possibly WebKit-only websites may work in Opera Mobile at some point in the future. But if you want to support Opera (and other browsers) today be sure to use all the various browser prefixes when writing your CSS. You can even take advantage of automated prefixng solutions to do all the hard work for you.

For more info on Opera’s data be sure to check out the actual white paper (PDF link) which also provides some more country-by-country data for those interested in what Mobile trends look like in specific parts of the world.

test-driven development

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

когда я пишу код, я довольно часто проверяю его работоспособность, обычно примитивными методами типа вывода в консоль или alert. Увидев ожидаемый результат, продолжаю писать код дальше. Однако часто, чтобы добиться появления проверочной строчки в консоли, нужно совершить много действий: покликать туда-сюда, что-то набрать на клавиатуре, и всё такое. Повторять эти однообразные действия раз за разом долго и скучно, поэтому разумно их автоматизировать. Тогда вместо обновления страницы в браузере или перезапуска программы в консоли можно запустить тест. А потом эту автоматическую проверку можно сохранить и на будущее

я помню, как в описании TDD я читал нечто вроде: «сначала мы создаём набор тестов, а потом пишем код, чтобы он проходил эти тесты». В этом описании слишком много планирования, на мой вкус. Начиная программировать, я часто слабо представляю даже структуру кода, не говоря уже об именах объектов и методов. Как в такой ситуации можно писать тест? А вот когда несколько строчек уже есть, и понятно, как что называется, тогда вместо интерактивной проверки состояния программы можно и тест написать. Один тест, который проверит то, что важно прямо сейчас

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

если же именно это и является правильным способом применять TDD, то окажется, что очень многие тесты в нокии написаны совершенно бездумно. Например, если функция вызывается с одним параметром-объектом, который создан литералом прямо внутри вызова, типа do({…}), то зачем в тесте проверять, что внутрь придёт именно такой объект? Зачем проверять, что субпроцедуры вызваны, если функция линейная? Неудивительно, что такие тесты не вызывают желания заниматься TDD

← предыдущий месяц