Программы на телефон андроид. Задайте подходящую для мобильных устройств ширину

Это первая из статей, в которых я расскажу об особенностях Ruby и Ruby on Rails и поделюсь советами о том, с чего начать в изучении Ruby, где находить ответы на вопросы, как получить нужный опыт и чем вы сможете выгодно отличаться от других кандидатов. Буду рад, если мои советы помогут кому-то определиться со специализацией и выбрать Ruby для изучения и работы.

Основные особенности и отличия Ruby

Часто слышу вопрос: стоит ли учить Ruby? Как правило, вопрос основан на сомнениях: насколько легко найти работу с данной специализацией, будут ли интересные проекты и так далее и тому подобное. Ruby - современный, постоянно развивающийся язык программирования, областей применения ему - масса. Наверняка вы слышали про Chef, Vagrant, Homebrew, но чаще всего все мы слышим о Rails. Вот пост с комментарием самого автора фреймворка о том, почему стоит учить Rails.

Конечно, каждый сам для себя решает, какой инструмент ему использовать. И нет смысла бесконечно долго спорить о том, почему одна технология лучше другой. Я выбрал Ruby, потому что это невероятно выразительный и гибкий язык, который позволяет одну и ту же задачу решить многими способами.

Ruby - интерпретируемый, полностью объектно-ориентированный язык программирования с четкой динамической типизацией. Он сочетает в себе Perl-подобный синтаксис с объектно-ориентированным подходом. Также некоторые черты заимствованы из языков программирования Python, Lisp, Dylan и CLU. Кроссплатформенная реализация интерпретатора языка Ruby распространяется на условиях открытого программного обеспечения. Код, написанный на Ruby, может быть понятен даже человеку, который не разбирается в программировании. На RoR были созданы такие проекты, как Redmine, Twitter, Shopify, Basecamp, GitHub, Kickstarter, Airbnb и другие.

С ростом Node.js популярность Ruby on Rails несколько уменьшилась, но технологические стартапы часто используют RoR благодаря простоте прототипирования. Ruby - 11-й самый популярный язык в индексе TIOBE .

Преимущества Ruby
  • Многочисленное и доброжелательное комьюнити.
  • Довольно высокий порог входа, что означает, что Ruby-разработчик с большой вероятностью имеет опыт работы как минимум с еще одним языком программирования.
  • Вы используете только те библиотеки и модули, которые необходимы.
  • Существует большое количество полезных библиотек, которые уже готовы к использованию (Ruby Gems).
  • В интернете есть много информации по Ruby, в структурированном и отсеянном виде.
  • В контексте обсуждения Ruby нельзя не упомянуть популярнейший фреймворк Ruby on Rails.

А теперь поговорим о некоторых преимуществах Ruby более подробно.

Скорость разработки

Одним из плюсов Ruby и фреймворка RoR считается скорость разработки. Личный опыт и опыт коллег показывает, что решение задач на Rails происходит в полтора раза быстрее по сравнению с другими фреймворками подобного плана. Ruby очень прост как инструмент, а также существует огромное количество готовых решений для различного рода задач.

Штатные средства кеширования данных

При разработке масштабного проекта одним из самых важных моментов является кеширование. Ruby on Rails в основной комплектации имеет штатные средства кеширования данных. То есть у вас сразу будут в наличии инструменты для кеширования данных на проекте, и вы можете легко кешировать отдельные блоки кода или даже целые страницы.

Вначале тесты, потом код

Часто в процессе разработки крупных проектов возникает вопрос о тестировании, и не редкость, когда нет дополнительных средств на отдельную команду тестировщиков. В Rails есть решение и этой проблемы. Если сравнивать RoR с другими фреймворками в контексте тестирования приложения, то вы найдете массу готовых решений для любого вида тестов, будь то интеграционные или юнит. Все эти библиотеки работают «из коробки». В идеале в проекте на Ruby on Rails код не пишется до тех пор, пока под него не написаны тесты. RoR идеология предполагает изначальное использование методов BDD (Behavior Driven Development) или TDD (Test Driven Development).

Общепринятые стандарты процесса разработки у Ruby-разработчиков

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

Также очень важный момент - в Ruby-сообществе уже много лет есть стандарты процесса разработки, некие правила/соглашения сообщества, по которым ведется разработка, что очень сильно упрощает работу. За счет этих стандартов каждый проект очень структурируется, соответственно, новый разработчик в команде быстро войдет в курс дела и уже с первых дней работы сможет быть полезен. И даже больше: если проект начинала одна команда, а заканчивает другая - это тоже совсем не проблема. Поскольку разработка ведется по уже упомянутым правилам и соглашениям сообщества, новая команда быстро и без трудностей вникнет в проект и успешно его закончит без особых потерь времени.

Также в Ruby on rails есть большое количество самых разных готовых решений в открытом доступе. Большинство решений уже были реализованы кем-то до вас, а также протестированы сообществом, что уменьшает необходимость разработки с нуля. Это могут быть системы аутентификации, авторизации, комментирования, системы платежей, почтовые рассылки и так далее.

Готовые решения для многоязычности проекта

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

Высокий уровень защиты данных

Сейчас нередко в сети публикуются статьи о взломах различных ресурсов. Разработчики фреймворка Ruby on Rails очень серьезно отнеслись к проблеме защиты данных. В RoR изначально присутствует шифрование паролей, данных кредитных карт и других личных данных пользователя, также исключены SQL инъекции и XSS атаки. Все входные параметры экранируются по умолчанию.

Изучение Ruby

А теперь поговорим, как именно можно освоить Ruby.

Теория

Начать следует, конечно же, с литературы. Я рекомендую эти источники:

  • Ruby за 20 минут - хороший ресурс для совсем начинающих. Позволяет меньше, чем за полчаса ознакомиться с основными конструкциями языка и начать писать свои небольшие программы.
  • Codecademy - платформа с онлайн-курсами по множеству направлений, включая чистый Ruby и Rails. Здесь довольно интересно построен обучающий процесс, дается теоретический материал и сразу же практическое задание, чтобы его закрепить. Финальные задания платные, но и без них можно получить нужные навыки.
  • Материалы по Ruby и Rails - сборник ссылок на различные сайты и книги, посвященные изучению Ruby и Rails.
  • Отдельно могу посоветовать книгу Flanagan D., Matsumoto Y. «The Ruby Programming Language» . Она считается одной из лучших, её автор - сам создатель языка Ruby.
  • Google:)

Вот парочка ресурсов, с которых можно начать:

  • w3schools.com/sql - здесь можно почитать, попробовать и проверить свои знания по SQL.
  • quizful.net/test - тут можно найти вопросы, которые часто задают на собеседованиях.
Английский

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

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

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

Практика

После изучения нескольких ресурсов стоит перейти к более важной части, а именно к практике. Примеров заданий с интернет-магазином или простым блогом в сети масса (вот один из них), особенно если говорить о Rails. В ходе выполнения задач, уже немного приближенным к реальным, вы точно столкнетесь с какими-то проблемами и тогда перейдете к тренировке одного из самых главных качеств - это умение гуглить. К сожалению, мне не удалось найти какой-то туториал или курсы, посвященные этому навыку, но он определенно играет очень важную в роль в повседневной работе.

Курсы

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

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

Сразу скажу, что я ни в коем случае не рекомендую идти на курсы, не имея уже какого-то багажа знаний. Я рассматриваю курсы как отличный способ закрепить знания, полученные в процессе самообучения. И сейчас не пытаюсь рекламировать какую-то конкретную школу, а объясню, какую именно пользу можно из этого извлечь:

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

На период курса у вас будет ментор , который будет делать ревью решения ваших задач и указывать на слабые места и ошибки.

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

Еще одно преимущество - сертификат . Понятное дело, что в итоге вас будут оценивать по знаниям, а не по наличию бумажек в резюме. Но тем не менее это будет плюсом, особенно, если будет кандидат с похожим уровнем знаний, но без их документального подтверждения.

Плюс один проект на GitHub в вашу копилку. Если вы начинающий разработчик, то вероятнее всего проект, написанный на курсах, будет интереснее с точки зрения технологий, чем те, которые были написаны ранее.

И самое главное - трудоустройство . Говоря о курсах, я не имею ввиду только те, за которые нужно платить деньги. Часто компании сами проводят набор на обучение, чтобы потом лучших взять к себе на работу. Это могут быть внутренние курсы или стажировка/интернатура. Такой вариант - наилучший, так как вам не нужно ни за что платить, вы получаете опыт и все выше перечисленные плюсы и вдобавок - реальную перспективу трудоустройства. Попасть на них сложнее, но перспективы значимее.

Итого

Ruby - это язык, который позволяет работать без большого количества неудобств и церемоний, которые приходят со строго типизированными языками. С Ruby легко начать работать, особенно если у вас уже есть опыт разработки на других языках программирования, и вы сможете быстро создавать прототипы с Ruby on Rails. В Японии, откуда он появился, Ruby использовался для создания игр. Ruby лаконичен и читается как английский, что делает код понятным для новичков.

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

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

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

Удачи в изучении! А в следующей статье мы поговорим о коде.

Подписывайтесь на наш Telegram-канал для джуниоров , чтобы не пропустить интересные вакансии, стажировки, курсы, статьи.

Язык программирования Ruby - чисто объектно-ориентированный язык программирования, первоначально разработанный для сценариев. Она сочетает в себе синтаксис, впитавший Ада и Perl и Smalltalk объектно-ориентированные особенности, а также имеет общие черты с Python , Lisp и утилитой командной строки - это плюс при обучении основам программирования.
Язык программирования Руби в настоящее время имеет только одну реализацию Ruby интерпретатора, хотя предпринимаются усилия по реализации интерфейса Ruby (так называемый "Кардинал") для виртуальной машины Parrot .
Язык программирования Ruby имеет много полезных функций. Ruby поддерживает также оператор перегрузки и обработки исключений. В настоящее время, языку программирования Руби не хватает Unicode поддержки. Ruby имеет итераторы (которые напоминают CLU и Sather). Ruby поддерживает абстрактные представления функций (также как и в Smalltalk и многих функциональных языках программирования для начинающих). Руби имеет встроенную, синтаксическую поддержку регулярных выражений Perl на уровне языка (а не только в библиотеках, как в Python и многих других языках). Руби поддерживает автоматический сбор мусора и динамическую библиотеку загрузки / подключения модулей (в зависимости от архитектуры) на Microsoft Windows . Ruby был портирован на многие платформы, включая Unix , Microsoft Windows, DOS , Mac OS X , OS/2, Amiga , и многое другое.
Ruby является чисто объектно-ориентированным: каждый бит данных объектов, включая типы, которые определены как "примитивные" в остальных языках. Каждая функция является методом. Это похоже на Smalltalk, но в корне отличается от Java и Python. Каждое имя значения (имя переменной) в программе Ruby определяет ссылку на объект, а не сам объект. Ruby поддерживает наследства с динамической диспетчеризацией, Mixins , и Синглтон методами. Ruby не поддерживает множественное наследование, но классы могут импортировать модули. Хотя в Ruby можно пользоваться процедурным синтаксисом, но все в Руби является объектами в смысле Smalltalk, а не Perl или Python программирование для чайников.
Язык был создан Юкихиро Мацумото (ака "Мац") Yukihiro Matsumoto (a.k.a. "Matz") 24 февраля, 1993 . Текущая стабильная версия 1.8.0. Обратите внимание, что имя не акроним - это на самом деле игра слов как у Perl . По словам автора, Ruby предназначен принципу наименьшего удивления (POLS), это означает, что язык должен быть свободным от ловушек и несоответствия, которые мешают других языках.
Из Ruby FAQ: Если вам нравится Perl, тогда вы используя Ruby, будете чувствовать себя превосходно из-за его синтаксиса. Если вам нравится Smalltalk, вам понравится Ruby и понравится его семантика. Если вам нравится Python, то вы сможете, а может и нет почувствовать огромную разницу в философии дизайна между Python и Ruby / Perl.
Руби распространяется бесплатно и с открытым исходным кодом по лицензии GPL или Artistic License , как и Perl.

Примеры
Вот некоторые примеры кода Ruby:

>> -199.abs # номер -199 является объектом; для него вызывается метод ABS. => 199 >> "Ruby is cool".length # вызывается метод объекта String – длина строки => 13 >> "Rick".index("c") => 2 >> "John".swapcase => "jOHN" >> #Arrays ?> .sort => >> .sort.reverse => # следующий блок кода выполнится 10 раз 10.times { # Replace " " with ", " and store in string1 string1 = "Hello world".gsub(" ", ",") # append "!" to variable "string1" string1 += "!" # print variable "string1", followed by a newline puts string1 }

Как стать профессионалом по разработке сайтов и начать зарабатывать? Недорогие видео курсы с ознакомительным введением.

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

История языка Ruby

Ruby как язык программирования существует уже очень давно. Работа над первой редакцией этого невероятно популярного сегодня языка началась в далеком 1993 году, а первая официальная версия датируется 1995 годом. Создатель языка, Юкихиро Мацумото, был энтузиастом программирования еще со времен студенчества, однако идея создания собственного инструмента появилась у него гораздо позже. Так что же такого примечательного в этом языке программирования, что сегодня он занимает одну из лидирующих позиций на мировой арене разработки программного обеспечения?

Язык программирования Ruby - это высокого уровня, с и независимой от исполняющей среды реализацией многопоточности. В нем есть свой сборщик мусора, а по особенностям синтаксиса он наиболее приближен к таким языкам как Perl. С развитием экосистемы эта платформа много позаимствовала также у Smalltalk, Python, Lisp и других языков программирования. Очень важным для существования и непрерывного развития является также то, что язык "Руби" и его реализация являются полностью свободной. Это означает, что любой желающий может предложить свои изменения, и если они будут приняты сообществом, то войдут в следующую версию языка.

Философия Ruby

При создании своего детища, Мацумото, как преданный фанат и энтузиаст объектно-ориентированного программирования, создал определенную философию для программистов, желающих освоить его язык. Так, язык программирования Ruby предназначен для создания простых, и в то же время понятных приложений. Основной упор Ruby делает не на скорость работы программы, а на простоту и читабельность кода.

Поэтому эту платформу очень часто выбирает как входную для обучения программированию. Главным принципом, на котором базируется этот язык, является так называемый принцип “наименьшей неожиданности” - это означает, что программа должна вести себя так, как того от нее ожидает автор (программист). Другой важной частью идеологии языка, которую привнес создатель, является большая его вариативность. Одного и того же результата можно добиться различными путями и функциями. Благодаря этому каждый программист может решать задачу так, как считает наиболее корректно и удобно. Это во многом повлияло на популярность языка среди профессионалов в сфере информационных технологий.

Основные характеристики языка

Что такое "Руби" как язык программирования? Это прежде всего объектно-ориентированный язык. В нем нет примитивных типов - все структуры и единицы данных являются объектами (в отличие от того же языка Java, его есть примитивные структуры данных). Каждая функция в "Руби" является методом. Многие свойства и возможности привнесены создателями из других языков программирования, поэтому можно смело сказать, что Ruby (язык) вобрал в себя лучшее от множества других языков и технологий.

Так, к примеру, в экосистеме "Руби" есть свой собственный сборщик мусора, идея которого была перенята из Smalltalk и Java, и который может работать со всеми объектами в системе. Этот механизм позволяет незаметно для пользователя приложения и разработчика выполнять очистку памяти от объектов, которые уже не будут востребованы. Сборщик мусора позволяет разработчику в большинстве случаем не отвлекаться на управление памятью приложения, а сосредоточиться на функциональности и удобстве пользования.

Парадигмы языка

Отвечая на вопрос о том, что такое "Руби" как мультипарадигменный язык, можно неожиданно для себя оказаться в пылу спора. Ведь этот язык позволяет использовать любую из парадигм программирования одинаково успешно: процедурный стиль программирования, объектно-ориентированный или Разработчик волен выбрать для себя ту парадигму, которая ему ближе, и его набор инструментов от этого не станет ограниченнее или слабее. Язык программирования "Руби" только поощряет этот выбор.

Причины популярности

Во многом этот язык стал популярен благодаря простоте разработке различных дополнений к нему. Поэтому количество фреймворков и библиотек постоянно растет, и задачи, которые они решают самостоятельно, позволяют разработчикам в кратчайшие сроки довести продукт до состояния готовности. Очень часто "Руби"-программирование ассоциируется с разработкой веб-приложений и поддержкой функционирования различных сайтов и интернет-платформ. Эту нишу язык занял благодаря своей простоте и скорости разработки. Ведь альтернативные платформы (например, Java), требуют гораздо большего багажа знаний и опыта для решения тех же задач.

Популярные фреймворки

Если говорить о популярных фреймворках, которые существуют на рынке сегодня, то среди них стоит выделить Rails. Много людей, отвечая на вопрос о том, что такое "Руби", интуитивно подразумевают RubyOnRails. Этот набор программных компонентов стал промышленным стандартом среди разработчиков. Он постоянно поддерживается, развивается и дополняется сообществом программистов, оставаясь при этом бесплатным. Этот фреймворк описывает компоненты веб-приложения в рамках шаблона MVC (Model-View-Controller), а также предоставляет готовую интеграцию с и интерфейс для доступа к базе данных. Эти 3 компонента, по сути, позволяют в считанные часы написать и запустить в интернет простой блог или частную веб-страничку.

На языке программирования Ruby можно создавать даже нативные мобильные приложения, благодаря библиотеке RubyMotion. Она позволяет исполнять код Ruby на платформах iOS, OS X и Android. Она создана частной группой разработчиков, поэтому за ее использование необходимо платить, но она лишний раз подтверждает богатые возможности языка.

Важность написания тестов

Другой важной составляющей экосистемы языка Ruby, и его веб-ориентированной части, являются фреймоврки и библиотеки для написания тестов. RubyOnRails проповедует философию BDD (behavior-driven development), что означается, что сначала программист создает последовательность тестов, описывающих ожидаемое поведение программы, а потом уже создает код, который должен успешно пройти эти тесты. Негласным стандартом в этой сфере является RSpec - это фреймворк позволяет писать тест-кейсы на понятном даже неопытным в разработке пользователям.

Ruby Gems

Благодаря детально описанному стандарту, которому должны соответствовать все пакеты и библиотеки на Ruby, разработка дополнений не составляет особого труда. Поэтому среди так называемых gems (от англ. - драгоценный камень) можно найти модули для решения практически любых задач - от интеграции с социальными сетями и сторонними сервисами до готовых платформ для электронной коммерции. Все, что нужно для использования сторонней библиотеки - это описать зависимость своего проекта от какой-то библиотеки, находящейся в удаленном или локальном репозитории, и при следующей сборке эта библиотека автоматически загрузится в приложение. Это также упрощает миграцию проекта между разработчиками, так как нет необходимости вручную делиться зависимостями для сборки проекта.

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

Приветствую всех. Интернет развивается колоссально быстрыми темпами и сегодня увидеть посещения на сайт с мобильных устройств и планшетом уже не диковинка, как это было раньше. Рынок мобильного интернета набирает очень быстрые темпы и поэтому создатели сайтов должны адаптировать свои сайты под данные устройства. Если посмотреть последние новости интернет индустрии, то можно увидеть, что все идет к тому, что мобильные устройства в ближайшие 5-10 лет заберут большую половину рынка под себя.

К чему я веду? А к тому, что необходимо адаптировать свои сайты и делать их удобными для просмотра на мобильных гаджетам.

Компания Google недавно заявила, что будет отмечать в сайты, которые дружественные к смартфонам и планшетам. Многие эксперты говорят, о том, что сайты которые не будут соответствовать данным критериям будут немного понижаться в выдаче и хуже . Так же есть предположения, что Google может сделать отдельную выдачу для мобильных сайтов.

То, что сайты будут помечаться информация 100%, остальная информация только предположения.

Мое мнение таково, что необходимо следовать всем стандартам и делать дружественным сайт к разного рода мобильным гаджетам. Мы свой сайт почти закончили адаптировать, осталось еще несколько штрихов и все будет готово. Хотя если посмотреть уже сейчас, то можно увидеть, что сайт хорошо отображается на смартфонах и планшетах. Пока я занимался этой работой, то выбрал для себя несколько онлайн сервисов с помощью которых можно проверить сайт на мобильных устройствах . Хочу ими поделится с вами.

5 бесплатных онлайн сервисов для проверки сайта на мобильных устройствах.

Давайте перечислим все бесплатные сервисы и потом рассмотрим каждый по порядку:

  • Google Webmaster Tools ()
  • Выше я перечислил 5 бесплатных онлайн сервисов, которыми сам пользуюсь и Вам рекомендую. Их функционала полностью хватит для решения любых посталенных задач. Давайте по порядку разберем каждый из них.

    1. Google Webmaster Tools (Mobile Friendly Test). Самый лучший сервис поскольку он разработан компанией Google. Хорош он тем, что можно посмотреть не только как отображается сайт на экране, а и получить все необходимые рекомендации для устранения ошибок и правильного отображения. Для того, что бы увидеть все ошибки необходимо перейти в Google Webmaster Tools , в пункте “Поисковый трафик” выбрать “Удобство просмотра на мобильных устройствах”. После перехода на страницу можно увидеть проблемы с удобством просмотра.


    Удобство просмотра на мобильных — Google Webmaster

    После просмотра ошибок можно перейти к тесту самого сайта. Переходим к тесту , вводим и получаем все рекомендации, которые необходимо выполнить. Для просмотра всех рекомендаций, справа нажимаем на кнопку «Далее » в пункте “Как сделать страницу удобной для мобильных” .


    2. Теперь переходим к остальным сервисам с помощью которых можно проверить сайт на мобильных устройствах.

    Все они довольно просты в применении, достаточно ввести в строку адрес сайта и получите все результаты сайта на различных устройствах. Давайте для примера рассмотрим сервис Responsinator . Переходим и вводим адрес и нажимаем «GO «, я ввожу loleknbolek . Результаты получены.

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

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

    Приветствую, мои уважаемые читатели блога. На связи Галиулин Руслан. Сегодня будем говорить про мобильные версии сайтов которые должен иметь каждый сайт или блог чтобы продвинуться в ТОП поисковых систем. В статье дам коды стилей и готовые примеры верстки страниц, которые сможете скачать к себе на компьютер.

    Если Ваш сайт до сих пор не мобилен, рекомендую воспользоваться моими советами или обратиться к профессионалам - http://www.Mobile-version.ru которые сделают все по стандартам поисковых систем. По этой же ссылке можно и проверить свой сайт на мобильность.

    В 2013 году Google начал давление на вебмастеров (https://webmasters.googleblog.com/2013/06/changes-in-rankings-of-smartphone_11.html ), убеждая в необходимости создания облегченных модификаций сайтов, а с 2015 года мобильность стала одним из аспектов ранжирования (https://webmasters.googleblog.com/2015/04/rolling-out-mobile-friendly-update.html ). Не отстает и Яндекс, создавший специальный алгоритм «Владивосток», учитывающий пригодность сайта для просмотра с телефонов.

    Mobile Friendly сегодня - это не просто забота о посетителях, а непременное условие продвижения.

    Когда сайт создается с нуля, применяют подход Mobile First. Но у большинства в наличии старые рабочие проекты. Главный вопрос, который в таких ситуациях вызывает мобильная версия сайта - как сделать ее, не испортив имеющийся шаблон?

    Есть три подхода:

    • Отдельный адрес и макет - размещается на поддомене вида m.site.ru. Перенаправление происходит посредством серверного редиректа по юзер-агенту.
    • Адаптивный дизайн - url и html остаются теми же, что и в настольном формате, но в CSS медиа-запросами отдаются правила для разных экранов.
    • RESS - респонсивный дизайн, адрес остается прежним, но сервер посылает наборы стилей в зависимости от того, какой тип оборудования запрашивает страницу.

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

    Мобильная версия сайта: как сделать правильно

    Дальнейшие действия потребуют уверенных базовых знаний html и css или умения быстро гуглить непонятные вещи.

    Информация для новичков: в CSS слова перед фигурными скобками означают конкретные куски html файла, за отображение которых они отвечают. Пишутся чаще с точкой или решеткой - #место {свойство: значение;}.

    Шаг 1. Снимаем ограничения.

    Владельцы резиновых макетов могут пропустить этот шаг. Остальным придется потрудиться.

    Width - ищем в коде крупные участки с жестко заданным отображением. Если параметр указан в пикселях или пунктах - нужно сменить его значение на проценты, em и прочие единицы, восприимчивые к окружению. Часто главный контейнер или область контента имеет фиксированный width - в большинстве случаев ограничения снимаются его заменой на max-width.

    Картинки - вместо четких размеров прописываем свойства для тега img, которые придадут адаптивность изображениям. Фотографии будут менять пропорции в рамках родительских контейнеров.

    img {

    Max-width: 100%;

    Height: auto;

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

    table {

    Display: block;

    Width: 100%;

    Overflow-x: scroll;

    Overflow-y: hidden;

    Ms-overflow-style: -ms-autohiding-scrollbar;

    Webkit-overflow-scrolling: touch;

    Обтекания - задаются свойством float. Установка этого параметра позволит блокам перемещаться в зависимости от параметров окна, подстраиваясь под элементы с устойчивой позицией или в рамках родительских контейнеров. Стандартные div-элементы по умолчанию переводятся каждый на новую строку. Например, разместив в контейнере 1000 px div-блоки по 200 px, можно увидеть такую картину.

    Блоки встали друг над другом. Добавление обтекания убирает переводы строк, выставляет элементы в линию на все доступное пространство.

    Шаг 2. Планирование реорганизации контента.

    Выясните, какие детали десктопного сайта должны отображаться на мобильных устройствах. Для этого ответьте себе на вопросы:

    • Какие блоки выполняют лишь декоративные функции? - Чаще это слайдеры, украшения сайдбаров, опросники, случайные фото.
    • Что игнорируют посетители? - Ответить на этот вопрос помогут тепловые карты кликов и путей. Наименее активные элементы безжалостно спрячем.
    • Что обязательно должно остаться и в мобильной версии? - Обычно это реклама, форма обратной связи, подписки или кнопки соцсетей.
    • Продумайте, как должен выглядеть сайт на планшетах, смартфонах и маленьких старых телефонах - для каждого устройства можно задать свой вид.

    Шаг 3. Удобство.

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

    Область контента: для телефонов, как правило, задают ширину основного блока в CSS до 100% в зависимости от доступного пространства. Это означает, что текст, модули, реклама, содержимое сайдбаров будут выдаваться на малых устройствах в один столбик.

    Сенсоры: пальцы не так точны, как мышка, оставьте им достаточно места. Пространство вокруг ссылок и иных активных элементов должно составлять не менее 28 х 28 пикселей.

    Помогайте своим посетителям определить активное пространство - отступы, выделения, смена цвета и прочие вещи, которые можно задать для касаний, прописывайте псевдокласс hover для ссылок и кнопок.

    Реализация Media Queries с примерами

    Если вы когда-либо создавали таблицы CSS для печати, то уже имеете представление о возможностях назначения отдельных стилей в зависимости от условий.

    Media queries - логические выражения, обращение к ним подразумевает ответ с параметром true или false. Если результат запроса true, то есть, юзер-агент или размеры устройства соответствуют заданному типу носителя, то автоматически применяются правила стиля, указанные внутри media-блока.

    Медиа запросы можно назначать по параметрам:

    • ширина и высота окна браузера;
    • ширина и высота устройства;
    • ориентация - ландшафтный или портретный режим;
    • разрешение экрана.

    Актуальный список аргументов доступен в официальной спецификации.

    Переходим к примерам. Есть готовый шаблон, размер его контентной части 1000 пикселей, все внутренние элементы и детали настроены в привязке к этому параметру.

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

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

    Для исправления убираем фиксированные рамки, прописав в стили шаблона:

    @media only screen and (max-width: 1000px) {

    Nav { width: 100%; }

    Теперь если ширина экрана юзера составляет менее 1000 px, то width меню будет равен 100% его размера. Основная версия шаблона при этом выглядит, как прежде. Замена свойства убрала нижнюю полосу прокрутки при сжатии экрана.

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

    Дописываем в тот же самый медиаквери:

    Block { width: 35%;}

    Как узнать оптимальные размеры для блоков своего сайта? Считать вручную или взять за основу любую готовую сетку - fluid grid. Можно ориентироваться на имеющиеся стандарты: в двухколоночных макетах при ширине окна 980-1050px обертка принимается за 95%, контент - 60% и на сайдбар оставляют 30%. Оставшееся пространство уходит на формирование бордюров и margin для аккуратности.

    Впрочем, можно применить box-sizing для контента, чтобы не высчитывать каждый раз пиксели, а работать по общим габаритам.

    Переходим к заданию отображения на экранах с меньшим разрешением:

    @media only screen and (max-width: 600px) {

    Block {

    Float:none;

    Width:85%;

    Margin: 1em auto;

    Если экран менее 600 px, то наши блоки должны встать в одну колонку - убираем обтекания, задаем новые отступы, оцентровываем и меняем ширину. Чаще ставится 100%, но если это по каким-то причинам неудобно, устанавливаем свой размер.

    Так задавать можно не только габариты блоков контента, но и их отображение. Например, запретить показ крупных элементов, заменив их на любые удобные.

    Продемонстрируем возможности на примере смены цветов и отображений.

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

    Скрытие навигации требуется в большинстве случаев - она заменяется кнопкой. Уместнее это делать при помощи javascript, можно использовать готовые решения.

    Правки вносятся точечно, диапазон можно ограничить и сверху и снизу. Это быстро и удобно - одной строкой задается отдельный CSS для разных устройств, не задевая при этом основной вид сайта.

    Объявить @media правила можно в любом месте внутри существующей таблицы стилей или создать отдельную для этих деклараций, а затем импортировать ее в основной CSS с помощью @import-правила.

    Мобильная версия сайта: как сделать и на что обратить внимание

    Медиаквери понимают все современные браузеры, но это не сработает в IE 8 и ниже. Проблема решается обращением к старым IE посредством условных комментариев. Их нужно прописывать в коде шаблона, а не в CSS.

    Сам скрипт доступен на гитхабе (https://github.com/scottjehl/Respond ), добавляет в старые IE поддержку минимальных и максимальных габаритов и медиаквери.

    Еще одна проблема - адаптивный дизайн подразумевает использование Html5, который опять же непонятен старым браузерам. Лечится хаком:

    Document.createElement("header");

    Document.createElement("nav");

    Document.createElement("section");

    Document.createElement("article");

    Document.createElement("aside");

    Document.createElement("footer");

    Код прописывается в html, дополнительно в CSS устанавливается блочное отображение созданных элементов:

    header, nav, section, article, aside, footer {display:block;}

    Сразу же затронем вопрос - как сделать, чтобы некоторые скрипты отображались лишь при заданных параметрах экрана. Если стоит jquery, в код шаблона потребуется добавить простенький скрипт. Цифры меняются на необходимые. Читается так: если ширина окна превышает 980 пикселей, к странице применяется скрипт, указанный в пути. Можно задать несколько, синтаксис пишется по аналогии через точку с запятой внутри фигурных скобок.

    If ($(document).width() > 980) {

    $.getScript("путь к скрипту");

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

    Осталось лишь проверить правильность - для этого можно использовать собственный браузер и телефон или обратиться к сервисам.

    Если сайт переверстывается на локальном сервере, корректность можно определить в ami.responsivedesign.is . Владельцам денвера для верного отображения потребуется сменить кодировку на utf-8, отредактировав серверный файл httpd.conf.

    Сервис продемонстрирует, как выглядит проект на разных устройствах.

    Дополнительно шаблон тестируется https://developers.google.com/speed/pagespeed/insights/ или в спецформе https://www.google.com/webmasters/tools/mobile-friendly , а также в вебмастерских.

    В Яндексе это выглядит подробно, а Google просто сообщит, что проблемы отсутствуют.

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

    Ниже нажав на одну из кнопочек вы сможете скачать 2 примера страницы свертанной в данном уроке и уже просто работать с готовыми страницами и копировать код.

    С уважением, Галиулин Руслан.

    Статьи по теме: