Google опублікувала початковий код Chrome для iOS

image

Компанія Google опублікувала початковий код свого браузера Google Chrome для iOS, повідомляється в офіційному блозі Chromium.

«Історично склалося, що код Google Chrome для iOS був відокремлений від іншої частини проекту Chromium з-за додаткової складності в реалізації платформи. Після декількох років ретельного рефакторінгу, весь код був возз'єднаний з проектом Chrome і переміщений Open source-репозиторій», — йдеться у блозі.

Читати далі →

Як я додав 30000 чоловік у перше коло контактів, а цю соцмережу заблокують в РФ

Згадуючи співбесіди зі свого минулого вирішив не йти у гору», а щоб вона сама прийшла до мене, точніше кадрові співробітники з вакансіями. Знову пошук роботи і тепер на ринку де реальні доходи стали менше, а претендентів більше…

Але витрачати час на рутинні операції з пошуку і додавання професіоналів в соціальній мережі не хотілося. Після 2000 кліків вручну критерії пошуку у мене виявилися формализуемые. Тому написав скрипт який економить мій час і зір. До спілкування з людьми я не пускаю бездушного «робота». Сам пишу, і сам відповідаю.



Мені пощастило познайомитись і поспілкуватись з цікавими людьми з індустрії, отримати сотні повідомлень зі спамом і посилання на сотні вакансій. Готового сценарію тут не буде, але в публікації є пара фрагментів коду для магії webdriver і посилання. Також ви дізнаєтеся останні новини про пошук роботи в Росії і опис мого досвіду з просування в соцмережі…

Читати далі →

Йдемо на рекорд: п'ята перевірка Chromium


Здавалося б, Chromium був розглянутий нами неодноразово. Уважний читач здасться логічним питанням: «Навіщо потрібна ще одна перевірка? Хіба було недостатньо?». Безперечно, код Chromium відрізняється чистотою, ніж ми переконувалися кожен раз при перевірці, проте помилки неминуче продовжують виявлятися. Повторні перевірки добре демонструють, що чим частіше буде застосовуватися статичний аналіз, тим краще. Добре, якщо проект перевіряється кожен день. Ще краще, якщо аналізатор використовується програмістами безпосередньо при роботі (автоматичний аналіз зміненого коду).

Читати далі →

Однопоточность в Android WebView

Передісторія

При розробці мобільного додатку для великої міжнародної компанії виникла необхідність відобразити Веб-сторінку в WebView. Сторінка на Java Script і містить DOM контент близько 10-15 Мб. У зв'язку з великим розміром сторінка завантажується близько 30 — 50 секунд, в залежності від інтернет з'єднання. Такі результати не радували, тому виникла необхідність ретельного дослідження даної проблеми.

Кешування в WebView

Єдиним знайденим рішенням було використання кешування для завантажуваного контенту:
webview.getSettings().setCacheMode(WebSettings.LOAD_DEFAULT);

Швидкість завантаження збільшилася вдвічі. Однак, для підтримки актуальності контенту, WebView перевіряє кожен файл окремо на його валідність. Хоч швидкість і виросла, час завантаження даної сторінки всередині WebView порівняно з мобільним браузером Chrome поступалося в кілька разів.

Однопоточность WebView

Після ретельного дослідження дійшов висновку, що WebView використовує лише один потік для завантаження даних. Це вірно як для WebView побудованому на власному WebKit (SDK < 19) так і для WebView з Chromium движком (SDK>=19). Chrome на відміну від WebView використовує багато потоків (кількість залежить від процесора) і не використовує в собі WebView. Тому порівнювати WebView з Chrome теж саме, що порівнювати запорожець з Lamborghini, немає сенсу. Розробники нативного компонента Cromium для WebView не передбачають впровадження багатопоточності і вважають, що один потік гарантує стабільну роботу.

Читати далі →

Усунення загадкової помилки «undefined is not a function» в V8

Джаваскриптовая помилка «undefined is not a function» досить загадкова. Саме тому певним попитом користуються роз'яснювальні статті, з яких читач почала вивчати програмування на JavaScript, здатний дізнатися про те, що така помилка (спроба використовувати невизначене значення як функцію) найчастіше виникає при виклику неіснуючого методу об'єкта (а такий виклик, у свою чергу, найчастіше відбувається у випадку помилки в назві методу). Такий роз'яснювальної статтею може послужити «Помилки у JavaScript і як їх виправити», наприклад.

Однак і після роз'яснень залишається думка про те, що виявлення і виправлення друкарських помилок (та й інших помилок при виклику методів) було б набагато простіше, якби назва «винного» методу містилося безпосередньо в тексті з'являється помилки.

Так і вийшло:
Improved exception messages: Goodbye "undefined is not a function". Hello "http://t.co/rMIELG5VoW is not a function" pic.twitter.com/3uykfrTK9O  Addy Osmani (@addyosmani) 21 лютого 2015


Читати далі →

Браузери від російських ІТ-компаній: спроба неупередженого огляду

Як змусити людину використовувати саме свої сервіси: пошук, карти, пошту?.. Всі ми знаємо, більшість людей ніколи не міняють налаштування програм за замовчуванням — не можуть або не хочуть морочитися і браузер не виняток, тому встановити свій пошук пріоритетним (з відома користувача або без нього) часто означає отримати в свої диявольські мережі ще одну нічого не підозрюючу душу. А якщо встановити користувачеві браузер, який вже правильно налаштований, то… мрія прямо! З появою відкритого проекту Chromium мрії багатьох постачальників веб-сервісів стали реальністю, і його збірки стали з'являтися, як гриби після дощу.
Я ніколи не використовував ні одну збірку Хромиум крім власне Хрому і нової Опери, але нещодавно розібрало цікавість: а що ж там можна наробити і чи варто звертати на це увагу або це просто продовження славного справи Дениса Попова? Сказано-зроблено, я порився в Мережі і вибрав учасників для огляду. Розглядав я тільки російські збірки і тільки від великих постачальників веб-сервісів, тому що в іншому випадку, мені не вистачило б на мій огляд і життя.

Цікаво? Тоді почнемо.

Під катом багато скріншотів, загальний обсяг ~3 мб.

Читати далі →

Новий Chromium WebView тепер оновлюється через Google Play і підтримує Web Components

Розробники Android 5.0 (кодове ім'я «Льодяник») представили основні зміни компонента WebView, що використовується для відображення в додатках HTML5-вмісту. Починаючи з Android 5.0 компонент тепер оновлюється через Google Play. Це означає, що коли Google оновлює движок браузера, нові функції також доступні для всіх розробників додатків, без необхідності чекати оновлень операційної системи від виробників пристроїв.

Для тих додатків, які розробляються з допомогою Apache Cordova або Adobe PhoneGap, нова стратегія поширення дає очевидні переваги — кінцеві користувачі можуть значно швидше отримувати останні нововведення, які з'являються в Web-платформі, точно також як користувачі настільних браузерів.

Читати далі →

Створення розширення для Chrome за пару годин

Останнім часом розробка розширень для Хрому так спростилася, що я зважився нарешті поставити галочку проти однієї з найбільш довгоживучих в моєму щоденнику завдань: діставати з картинок на сторінках GEO-таги, причіпляти картинок title із місцем, де фотографія була зроблена, і давати можливість в один клік глянути на карту. Крім того, на сторінках з великою кількістю фотографій має сенс показувати карту з маркерами і надавати можливість перейти безпосередньо до фотографії по кліку на маркер.

Ось як це виглядає на моєму сайті, куди я складаю коротенькі фотозвіти про поїздки (для друзів і родичів):


У сучасному світі на створення такого розширення у мене пішло близько трьох годин. Розширення доступно Webstore, исходники традиційно лежать на гітхабі


Читати далі →

Керівництво Google Hangouts для Debian/Ubuntu Linux (а також Mac OS X і Windows)

У світлі останніх подій (1, 2, 3) вирішив поділитися з співтовариством своїм успішним досвідом використання Google Hangouts для колаборації і написати універсальне керівництво для Debian/Ubuntu Linux, а також Mac OS X і Windows, зібравши всю необхідну і корисну інформацію воєдино.

Читати далі →

Установка Google Chromium і Flash на ARM пристрої Linux


 

Введення

Пропонується швидкий і легкий метод для установки браузера Google Chromium (open source варіант браузера Chrome) в Linux для ARM (armel і armhf) пристроїв — наприклад, Raspberry PI, ODroid, Cubieboard і т.д. Проблема в тому, що в більшості дистрибутивів Linux, наприклад, Debian, Kali Linux офіційний пакет Chromium доступний тільки для архітектур amd64 і i386. Версії для armhf і armel відсутні. Збірка пакета Chromium, наприклад, з рідного депозитарію Debain не спрацьовує, тому що в коді відсутні інструкції по збірці під arm. Варіант від Google теж компілюється з помилками. Судячи з відгуків в Інтернеті, можливо, вдасться налаштувати крос-платформену збірку під ARM на звичайних x86 комп'ютерах, або спробувати зробити збірку безпосередньо на arm, що може займати більше доби, і не завжди закінчується успішно. Мені наприклад, так і не вдалося зібрати пакет з вихідних безпосередньо на arm. Приклад установки наведено для Kali Linux 1.0.7 (форк Debian Wheezy) під ODroid, для інших Debian-систем все аналогічно.
 
 
Читати далі →