Живу в Google ChromeVDas.livejournal.com © 2009 presentsУрок для начинающих №0А зачем, собственно: часть 1?
Поступило правильно замечаниеНадо рассказать чем отличается Хром от остальных бровзеров… Т.е. :Откуда он появился вообще…Что в Хроме нового, отличного от другихВ чём хорош ХромКому хорошо бы на него пересесть. ЗачемКак
Пара вопросовВдумайтесь в следующие вопросы:Зачем Google решили сделать еще один бровзер, если УЖЕ есть:InternetExplorer, Firefox, Safari, K-meleon, Opera, SeaMonkey, Flock, Camino, OmniWeb, iCab, Lynx, Konqueror, Galeon, Epiphany, Netscape Navigator, Amaya, Maxthon, Midori, uzbl, Voyager, Dillo, Slim, KidRocket, PhaseOut, Crazy, SmartBro, ShenzBrowser, JonDoFox, Swiftweasel, Shiira, Avant, xB, Sleipnir, spacetime, Browse3D, 3B Room, Bitty, Lobo Java Web, ElinksText, Grail, Ibrowse,Laser, KidsPlayground …(например, ссылка - http://www.webdevelopersnotes.com/design/browsers_list.php3)
Пара вопросовВы просмотрели список? Как вы думаете, в Google работают идиоты? Такой список того, что УЖЕ ЕСТЬ, заняло место на рынке и постоянно развивается (по крайней мере некоторые из них)…Начать разработку нового бровзера, когда их так много на любой вкус и цвет?Google crazy! Да?
Пара вопросовЗначит что-то не устраивало корпорацию Google во всех тех бровзерах, которыми Вы пользуетесь, не так ли?А почему это их так волнует?Да потому, что Google ЖИВУТ в интернете… Они на этом зарабатывают деньги. В отличие от «поставщиков программ», типа Майкрософт, которым весь это бровзер это 0,000001% его доходов – Google на 90+% живут и зарабатывают в интернете…
Что надо, чтобы жить в интернете?Надо иметь Быстрый бровзерНадёжный бровзерРасширяемый бровзерСовместимый со стандартамиИ еще одна вещь, которую я опишу чуть дальше…
Задумаемся…Нет быстрых? Safari, Opera, FirefoxНет надёжныхи расширяемых? FirefoxНет совместимых со стандартами? Firefox, Safari…Вы видите победителя? Да, это Firefox… Так что же еще надо корпорации Google, если они активно участвовали в развитии этого самого Firefox?
Задумаемся…Если немного вдуматься, то ясно, что корпорации Google надо пересадить всех на web. Все мы там будем поздно или рано без вариантов… К этому всё движется. Подумаем, как бы оказаться с теми, кто раньше всех это понял Что надо, чтобы все пользователи переместились в web? Надёжность приложенийСкорость их работыУдобство…По возможности независимость от наличия сети
Откуда он появился вообще…В googleпоняли, что железо не стоит на месте и активно развивается – надо бросить старые подходы и думать о том, чтобы как можно больше можно было делать параллельно (ведь уже всё завалено многопроцессорными, многоядерными компьютерами)Да и вообще – представьте, что у вас есть деревянная избушка и вам в ней жить. Можно, конечно, перестраивать, добавлять кирпичные стены, но, если у вас есть деньги – не лучше ли снести её к аллаху и построить всё заново, но по новейшим технологиям?
А что есть новейшие технологии?Это отлично расписано в комиксе от googleрусская версия - http://unno.ru/media/chrome/Google%20Chrome.pdf(4Mb)Я только подчеркну пару моментов по мнению Google…1) бровзер должен быть надёжным, быстрым, защищённым, с открытым кодом. Что есть открытый код? Это значит, что за бровзер денег никто не берет. Мало того – его коды лежат открыто – каждый умный может взять их и исправить ошибки, или улучшить, или ускорить или … и это идёт только нам всем на пользу!
Подчёркиваю некоторые моменты«Мы хотим, чтобы другие использовали наши идеи, также как мы позаимствовали их у других»Т.е. берётся всё самое лучшее, что придумано в мире бровзеров и бесплатно реализуется «в одном флаконе»Причём открыто – пользуйтесь все! Даже конкуренты… Красивый (и правильный) шаг, я считаю…
Дальше?Новый дизайнМаксимум полезного места на экране… Всё лишнее убрать или спрятать. Вы хотите бровзить интернет или обвешаться кнопочками и менюшками?
И подходим к самому важномуКак работаю сегодняшние бровзеры? (все)Считали страницуОтработали скриптыОтработали дополнения (флэш, …)Показалась страничкаЧто плохо?Если в любом месте происходят сложные и долгие вычисления – все остальные ждутЕсли что-то поломалось – ломается всё
А почему бы…Не сделать многопоточный бровзер?Всё что можно работает параллельноЕсли какая-то страница тормозит – тормозит только онаЧто для этого надо сделать?Написать бровзер так, чтобы он мог делать всё не последовательно, а параллельно Чтобы каждая страница была отдельным процессом
И что это даёт?Современные процессоры заточены под то, чтобы делать много вещей одновременно (многоядерность, …) Поэтому, написанная в расчете на это программа (бровзер) изначально будет лучше работать на новых, многоядерных компьютерах… Она будет открывать все странички действительно параллельно (т.е. одновременно) и зависание одной из них совершенно не повредит остальным
Некоторые выводыРазделив открытие каждой страницы в отдельный процесс и выполняя работу параллельно мы получим сразу два преимуществаНадёжность (ибо каждая страничка, это как отдельная программа – если она «поломалась» – «поломалась» только она)Скорость работы ибо всё работает независимо друг от друга. Т.е. Каждая страничка имеет свой обработчик страниц и не ждет, пока он доработает на другой странице…
Некоторые выводыЕсть у этой технологии и минусы, Конечно…Лучше иметь многоядерный процессорЛучше иметь побольше памяти, ибо, поскольку, каждая страничка имеет свои обработчики – на всё надо больше памяти…НО!
Маленькое отступление…Как работают все остальные бровзеры? Вы открыли 5 страниц, две закрыли. Поскольку они все находятся в одном пространстве – количество общей занимаемой всем бровзером памяти не уменьшилось…
Маленькое отступлениеНо со временем вы открываете еще одну страницу, которая не помещается в «освободившиеся квадратики» и система увеличивает общую занимаемую память еще и еще… Таким образом со временем ваш бровзер начинает занимать в памяти неприлично много места. И всё начинает тормозить… Ведь как работает компьютер, если у него мало свободной памяти?
Маленькое отступлениеОн сбрасывает часть памяти на жёсткий диск (который в 100000 раз медленнее памяти) и освобождает память для бровзера. Если, вдруг, понадобится «сброшенное на диск» - происходит обратное – часть памяти сбрасывается на диск, а в память считывается там записанное и т.д. Т.е. всё начинает тормозить, диск «шуршит» не переставая, …
А что в Chrome?А в хроме каждая страница, это как отдельная программа – т.е. закрыли её и вся память освободилась…
То естьЕсли открыты пара страниц – Google Chrome занимает больше памяти… Но чем дольше вы работаете– тем меньше затраты Chrome… (Незабываем про надёжность – в Chrome «закрыл и забыл»…)
Что еще?А вот запустите Chrome и загрузите пару страниц… А потом нажмите Shift+Esc(Или через меню: документ, Developer, Task Manager)И мы можем прямо тут увидеть!
Что увидеть?Сколько занимает памяти и процессорного времени каждая закладка и БЕЗБОЛЕЗНЕННО убить любую из них!
Ну, что еще очевидно хорошего?Вы представляете какая у googleвозможность тестировать свой бровзер? У него беспрецедентно огромная инфраструктура, которая постоянно копошится в интернете… Они могу прогнать через свой Chrome такое количество тестовых страниц, кто не может больше никто…
Тестируем?
Тестируем?
Ну, еще пара слов…Дело в том, что почти все бровзеры делаются на каком-то ядре… Internet explorer (IE, maxthon), Gecko (Firefox), WebKit (Safari)Каждое ядро имеет свои плюсы и минусы… Google выбрали для своего Chrome самый быстрый и самый соответствующий стандартам… Я бы, конечно, выбрал Gecko, но решал не я 
webkit
Теперь вернёмся к скоростиСовременный интернет отличается тем, что страницы стали более активно общаться с пользователем… Например Gmail… Вы нажимаете на что-то страница не перегружается, что-то происходит, меняется, … Это делает javascript.Javascriptэто специальная возможность бровзеру работать с вашей страничкой…Что сделали Google? Они переписали заново этот самый «движок» javascript, чтобы он был ну ОЧЕНЬ быстрым
JavascriptНовый, переписанный «движок» javscriptполучил новое название V8. По многим тестам он чуть не на порядок опережает то, что сейчас есть в многих других бровзерах… Firefox, недавно, тоже сделали свой «движок», но, по тестам, он отстаёт от Сhrome…
Javascript
НадёжностьОдин из слогановChrome – лучше чуть дольше, но не потерять ни одного байта информации. Это логично, ибо Google хочет, чтобы вы работали в приложениях… Типа web аналоги Word,excel, …Для этого – недопустимо(!) потерять хотя бы одну букву… Возможно, что Chrome был бы еще чуть не на порядок быстрее, если бы не это ограничение, которому Google добровольно (и правильно) следуют.
ВообщемНадеюсь мне удалось, хотя бы, начать показывать, что Chrome технологически очень хорош… И это не всё – я просто устал писать…Про возможности и удобства интерфейса мы еще поговорим… Про то, как сделать его удобнее, что такое incognito, что такое «ярлык приложения», обязательно про Google gears, песочнице и многом многом другом…
Кому хорошо бы на него пересесть. У кого более менее современный компьютер, желательно с несколькими ядрами и большим количеством памяти – вы почувствуете всю прелесть Google Chrome…Остальные – надо пробовать, сравнивать насколько важе «железо» позволяет вам оценить преимущества Chrome
Пока завершу…Жду мыслей, замечаний, пожеланий, …

живу в Google Chrome #0

  • 1.
    Живу в GoogleChromeVDas.livejournal.com © 2009 presentsУрок для начинающих №0А зачем, собственно: часть 1?
  • 2.
    Поступило правильно замечаниеНадорассказать чем отличается Хром от остальных бровзеров… Т.е. :Откуда он появился вообще…Что в Хроме нового, отличного от другихВ чём хорош ХромКому хорошо бы на него пересесть. ЗачемКак
  • 3.
    Пара вопросовВдумайтесь вследующие вопросы:Зачем Google решили сделать еще один бровзер, если УЖЕ есть:InternetExplorer, Firefox, Safari, K-meleon, Opera, SeaMonkey, Flock, Camino, OmniWeb, iCab, Lynx, Konqueror, Galeon, Epiphany, Netscape Navigator, Amaya, Maxthon, Midori, uzbl, Voyager, Dillo, Slim, KidRocket, PhaseOut, Crazy, SmartBro, ShenzBrowser, JonDoFox, Swiftweasel, Shiira, Avant, xB, Sleipnir, spacetime, Browse3D, 3B Room, Bitty, Lobo Java Web, ElinksText, Grail, Ibrowse,Laser, KidsPlayground …(например, ссылка - http://www.webdevelopersnotes.com/design/browsers_list.php3)
  • 4.
    Пара вопросовВы просмотрелисписок? Как вы думаете, в Google работают идиоты? Такой список того, что УЖЕ ЕСТЬ, заняло место на рынке и постоянно развивается (по крайней мере некоторые из них)…Начать разработку нового бровзера, когда их так много на любой вкус и цвет?Google crazy! Да?
  • 5.
    Пара вопросовЗначит что-тоне устраивало корпорацию Google во всех тех бровзерах, которыми Вы пользуетесь, не так ли?А почему это их так волнует?Да потому, что Google ЖИВУТ в интернете… Они на этом зарабатывают деньги. В отличие от «поставщиков программ», типа Майкрософт, которым весь это бровзер это 0,000001% его доходов – Google на 90+% живут и зарабатывают в интернете…
  • 6.
    Что надо, чтобыжить в интернете?Надо иметь Быстрый бровзерНадёжный бровзерРасширяемый бровзерСовместимый со стандартамиИ еще одна вещь, которую я опишу чуть дальше…
  • 7.
    Задумаемся…Нет быстрых? Safari,Opera, FirefoxНет надёжныхи расширяемых? FirefoxНет совместимых со стандартами? Firefox, Safari…Вы видите победителя? Да, это Firefox… Так что же еще надо корпорации Google, если они активно участвовали в развитии этого самого Firefox?
  • 8.
    Задумаемся…Если немного вдуматься,то ясно, что корпорации Google надо пересадить всех на web. Все мы там будем поздно или рано без вариантов… К этому всё движется. Подумаем, как бы оказаться с теми, кто раньше всех это понял Что надо, чтобы все пользователи переместились в web? Надёжность приложенийСкорость их работыУдобство…По возможности независимость от наличия сети
  • 9.
    Откуда он появилсявообще…В googleпоняли, что железо не стоит на месте и активно развивается – надо бросить старые подходы и думать о том, чтобы как можно больше можно было делать параллельно (ведь уже всё завалено многопроцессорными, многоядерными компьютерами)Да и вообще – представьте, что у вас есть деревянная избушка и вам в ней жить. Можно, конечно, перестраивать, добавлять кирпичные стены, но, если у вас есть деньги – не лучше ли снести её к аллаху и построить всё заново, но по новейшим технологиям?
  • 10.
    А что естьновейшие технологии?Это отлично расписано в комиксе от googleрусская версия - http://unno.ru/media/chrome/Google%20Chrome.pdf(4Mb)Я только подчеркну пару моментов по мнению Google…1) бровзер должен быть надёжным, быстрым, защищённым, с открытым кодом. Что есть открытый код? Это значит, что за бровзер денег никто не берет. Мало того – его коды лежат открыто – каждый умный может взять их и исправить ошибки, или улучшить, или ускорить или … и это идёт только нам всем на пользу!
  • 11.
    Подчёркиваю некоторые моменты«Мыхотим, чтобы другие использовали наши идеи, также как мы позаимствовали их у других»Т.е. берётся всё самое лучшее, что придумано в мире бровзеров и бесплатно реализуется «в одном флаконе»Причём открыто – пользуйтесь все! Даже конкуренты… Красивый (и правильный) шаг, я считаю…
  • 12.
    Дальше?Новый дизайнМаксимум полезногоместа на экране… Всё лишнее убрать или спрятать. Вы хотите бровзить интернет или обвешаться кнопочками и менюшками?
  • 13.
    И подходим ксамому важномуКак работаю сегодняшние бровзеры? (все)Считали страницуОтработали скриптыОтработали дополнения (флэш, …)Показалась страничкаЧто плохо?Если в любом месте происходят сложные и долгие вычисления – все остальные ждутЕсли что-то поломалось – ломается всё
  • 14.
    А почему бы…Несделать многопоточный бровзер?Всё что можно работает параллельноЕсли какая-то страница тормозит – тормозит только онаЧто для этого надо сделать?Написать бровзер так, чтобы он мог делать всё не последовательно, а параллельно Чтобы каждая страница была отдельным процессом
  • 15.
    И что этодаёт?Современные процессоры заточены под то, чтобы делать много вещей одновременно (многоядерность, …) Поэтому, написанная в расчете на это программа (бровзер) изначально будет лучше работать на новых, многоядерных компьютерах… Она будет открывать все странички действительно параллельно (т.е. одновременно) и зависание одной из них совершенно не повредит остальным
  • 16.
    Некоторые выводыРазделив открытиекаждой страницы в отдельный процесс и выполняя работу параллельно мы получим сразу два преимуществаНадёжность (ибо каждая страничка, это как отдельная программа – если она «поломалась» – «поломалась» только она)Скорость работы ибо всё работает независимо друг от друга. Т.е. Каждая страничка имеет свой обработчик страниц и не ждет, пока он доработает на другой странице…
  • 17.
    Некоторые выводыЕсть уэтой технологии и минусы, Конечно…Лучше иметь многоядерный процессорЛучше иметь побольше памяти, ибо, поскольку, каждая страничка имеет свои обработчики – на всё надо больше памяти…НО!
  • 18.
    Маленькое отступление…Как работаютвсе остальные бровзеры? Вы открыли 5 страниц, две закрыли. Поскольку они все находятся в одном пространстве – количество общей занимаемой всем бровзером памяти не уменьшилось…
  • 19.
    Маленькое отступлениеНо современем вы открываете еще одну страницу, которая не помещается в «освободившиеся квадратики» и система увеличивает общую занимаемую память еще и еще… Таким образом со временем ваш бровзер начинает занимать в памяти неприлично много места. И всё начинает тормозить… Ведь как работает компьютер, если у него мало свободной памяти?
  • 20.
    Маленькое отступлениеОн сбрасываетчасть памяти на жёсткий диск (который в 100000 раз медленнее памяти) и освобождает память для бровзера. Если, вдруг, понадобится «сброшенное на диск» - происходит обратное – часть памяти сбрасывается на диск, а в память считывается там записанное и т.д. Т.е. всё начинает тормозить, диск «шуршит» не переставая, …
  • 21.
    А что вChrome?А в хроме каждая страница, это как отдельная программа – т.е. закрыли её и вся память освободилась…
  • 22.
    То естьЕсли открытыпара страниц – Google Chrome занимает больше памяти… Но чем дольше вы работаете– тем меньше затраты Chrome… (Незабываем про надёжность – в Chrome «закрыл и забыл»…)
  • 23.
    Что еще?А вотзапустите Chrome и загрузите пару страниц… А потом нажмите Shift+Esc(Или через меню: документ, Developer, Task Manager)И мы можем прямо тут увидеть!
  • 24.
    Что увидеть?Сколько занимаетпамяти и процессорного времени каждая закладка и БЕЗБОЛЕЗНЕННО убить любую из них!
  • 25.
    Ну, что ещеочевидно хорошего?Вы представляете какая у googleвозможность тестировать свой бровзер? У него беспрецедентно огромная инфраструктура, которая постоянно копошится в интернете… Они могу прогнать через свой Chrome такое количество тестовых страниц, кто не может больше никто…
  • 26.
  • 27.
  • 28.
    Ну, еще параслов…Дело в том, что почти все бровзеры делаются на каком-то ядре… Internet explorer (IE, maxthon), Gecko (Firefox), WebKit (Safari)Каждое ядро имеет свои плюсы и минусы… Google выбрали для своего Chrome самый быстрый и самый соответствующий стандартам… Я бы, конечно, выбрал Gecko, но решал не я 
  • 29.
  • 30.
    Теперь вернёмся кскоростиСовременный интернет отличается тем, что страницы стали более активно общаться с пользователем… Например Gmail… Вы нажимаете на что-то страница не перегружается, что-то происходит, меняется, … Это делает javascript.Javascriptэто специальная возможность бровзеру работать с вашей страничкой…Что сделали Google? Они переписали заново этот самый «движок» javascript, чтобы он был ну ОЧЕНЬ быстрым
  • 31.
    JavascriptНовый, переписанный «движок»javscriptполучил новое название V8. По многим тестам он чуть не на порядок опережает то, что сейчас есть в многих других бровзерах… Firefox, недавно, тоже сделали свой «движок», но, по тестам, он отстаёт от Сhrome…
  • 32.
  • 33.
    НадёжностьОдин из слогановChrome– лучше чуть дольше, но не потерять ни одного байта информации. Это логично, ибо Google хочет, чтобы вы работали в приложениях… Типа web аналоги Word,excel, …Для этого – недопустимо(!) потерять хотя бы одну букву… Возможно, что Chrome был бы еще чуть не на порядок быстрее, если бы не это ограничение, которому Google добровольно (и правильно) следуют.
  • 34.
    ВообщемНадеюсь мне удалось,хотя бы, начать показывать, что Chrome технологически очень хорош… И это не всё – я просто устал писать…Про возможности и удобства интерфейса мы еще поговорим… Про то, как сделать его удобнее, что такое incognito, что такое «ярлык приложения», обязательно про Google gears, песочнице и многом многом другом…
  • 35.
    Кому хорошо бына него пересесть. У кого более менее современный компьютер, желательно с несколькими ядрами и большим количеством памяти – вы почувствуете всю прелесть Google Chrome…Остальные – надо пробовать, сравнивать насколько важе «железо» позволяет вам оценить преимущества Chrome
  • 36.
    Пока завершу…Жду мыслей,замечаний, пожеланий, …