Още при първите войни между Netscape и IE, основният инструмент в този конкурентна борба на браузърите бе функционалността. Само че според мен стратегията за неограничен ръст и разширяване е абсолютно безумна и ние прекалено дълго ѝ позволихме да продължава.
Реших да направя следния експеримент – изтеглих всичките 1217 W3C спецификации, публикувани към днешен ден. Много голяма част от тях трябва да е реализирана в браузъра, за да може съвременния уеб да работи както трябва. Събрах всички тези спецификации заедно и изчислих тяхната обща големина. Как мислите, колко сложен е съвременният интернет?
Към днешен ден каталогът с WC3 спецификациите включва 114 милиона думи. Ако вземем стандартите C11, C++17, UEFI, USB 3.2, и POSIX и добавим към тях всичките 8754 публикувани RFC и ги допълним със списъка на най-дългите литературни произведения, наличен в Уикипедия, – W3C пак ще има 12 милиона думи повече.
Моят извод от всичко това е, че създаването на нов браузър е невъзможно. Сложността е вече извън всякакви мащаби. Създаването на нов браузър може да се сравни с изпращането на човек на Луната или със създаването на ядрена бомба от нулата.
Някой да създаде принципно нов браузър, който може да се конкурира с Google или Mozilla? Това е толкова глупаво, че веднага ще ви попитат, дали неговите тапети и теми не са много скучни. Последният сериозен опит в тази насока бе Servo, половината от който се превърна в инкубатор за рефакторинг на Firefox, а другата половина се използва специалистите на Mozilla за развлечение – там те могат съвсем безопасно да си играят с никому вече ненужни технологии. Съвременен жизнеспособен браузър? Какво точно е това и на кого е нужно, след като имаме WebVR! Дали?
Последствията от този подход са очевидни. Браузърите са най-сложният и тежък софтуер, който хората стартират на своите компютри. Всички знаят колко оперативна памет гълтат уеб браузърите, колко процесорни ресурси са необходим и колко бързо се изтощават батериите на мобилните устройства. Да напомним, че само в браузърите са открити над 8000 уязвимости.
Сорс кодът на повечето браузъри е отворен. Обикновено, ако някой open-source проект не се държи добре, общността може да направи негова нова версия и да създаде алтернатива. Но за браузърите това няма да сработи, защото W3C публикува средно по 200 нови спецификации всяка година, а това са си около 4 милиона думи – все едно един нов POSIX на всеки четири или шест месеца. Покажете ми кой екип от разработчици и програмисти може да догони това развитие на нещата и да реализира навреме тази планина от спецификации, която се е натрупала към днешен ден. Да не говорим какво ще се натрупа през следващите месеци.
Браузърните войни се проточиха. Много отдавна големите компании трябваше да започнат да се борят и състезават по отношение на стабилността и производителността на браузърите, а не в добавянето на нови и нови функции. Но това не стана. Случващото се е абсолютно нелепо и трябва да бъде спряно колкото се може по-бързо.