10 причини браузърът да се превърне в универсална операционна система

Преди един милион години по време на интернет (известен още като 1995 г.), Брендън Айх, Марк Андреесен и останалата част от Netscape погледнаха световната мрежа и видяха слабо маркиран свят на статични документи - изчислителна пустиня, в която семето на програмиста не можеше да намери покупка.

Те имаха различна визия: пикселите в правоъгълника на браузъра са толкова живи, колкото всеки потребителски интерфейс. Те искаха да добавят малко изчислимост на Тюринг, за да могат програмистите да накарат страниците да скачат. JavaScript беше отговорът.

[Колко знаете за lingua franca на мрежата? Разберете в теста за IQ на JavaScript. | Работете по-умно, не по-трудно - изтеглете Ръководството за оцеляване на разработчиците от за всички съвети и тенденции, които програмистите трябва да знаят. | Бъдете в крак с последните новини за разработчици с бюлетина на Developer World. ]

В началото програмистите на macho C се взираха в тяхното създаване и се смееха. Те се шегуваха с JavaScript като играчка за децата от началното училище, за да изскачат кутии с предупреждения. Айх обаче видя начин програмистите да изтеглят информация от цялата мрежа. Скоро той се появи под формата на XMLHttpRequest.

Тринадесет години по-късно и около осем години, откакто цялата игра е преименувана на „AJAX“, веднъж бебешкият език за деца бързо се превръща в доминиращ език за почти всичко. Комбинацията от HTML, CSS и JavaScript задвижва сървъри, настолни компютри и лаптопи. По същество това е стандартната платформа, новата операционна система.

Технически браузърът не предлага това, което сме очаквали от традиционната операционна система. Пуристите ще се оплакват: Прекарва ли екипът на браузъра някое време да се тревожи за грубата плетеница от драйвери на устройства? Браузърът поддържа ли файловата система чиста и неповредена? Браузърът жонглира ли с няколко нишки с различни приоритети и помага ли им да споделят едни и същи процесорни ядра по начин, който може да се счита за справедлив? Момчетата от операционната система хвърлят един поглед към Chrome и се смеят, защото този браузър просто пунтва, разделяйки се на различен процес за всяка уеб страница, оставяйки слоя на OS да свърши работа.

Въпреки тези много легитимни забележки от гениите на ОС, браузърът е доминиращият слой, единствената връзка на софтуера, едното табло, където се крие цялата мощ. Той се нуждае от правоъгълник от операционната система, за да изчертае уеб страницата, малко място за съхранение и TCP / IP емисия. Той прави всичко останало по междуплатформен начин, който, когато се вземе предвид, е сравнително свободен от грешки и други проблеми.

В замяна на това браузърът освобождава операционната система от много неща, с изключение на предоставянето на тези няколко информационни емисии. Потребителят на компютър очаква да може да вмъкне всяко старо устройство и да работи с всяка стара колекция от устройства - много рядко явление. Потребителят на браузър иска поле за въвеждане на URL и начин за изпращане на кликвания към JavaScript слоя. Изграждането на устройство само с браузър става все по-лесно. По дяволите, Mozilla, много малка група хора, оказа Firefox OS с малка част от инженерите, работещи в Apple, Google или BlackBerry.

А програмистите следят потребителите в браузъра, за да предоставят функционалност на основното място, което потребителите очакват да го намерят в наши дни. Ето 10 причини, поради които браузърът вече е крал.

Браузърът като основна причина за ОС № 1: Възходът на огромни, богати уеб приложения

Някъде по линията уеб страницата се превърна в пълно приложение. Най-добрият начин да усетите това е да опитате да стартирате нещо като Gmail с чист кеш и болезнено бавна интернет връзка. Програмата е достатъчно голяма, за да отнеме твърде много време, за да изтеглите всички части от JavaScript. В средното изтегляне може да има близо 100 файла. Google замислено осъзнава, че Gmail може да е малко голям за тези случаи, така че предлага основна HTML версия, която е много по-малка.

Gmail е един пример за хилядите големи програми, които редовно се изпълняват в нашите браузъри. Мнозина ни позволяват да изпълняваме лъвския дял от задачите, след като бъдат оставени на родните приложения. Има интегрирани среди за разработка (Codio, Cloud 9 и други), пакети за редактиране на изображения (AIE, наред с други) и много HTML5 игри (вижте по-долу). Браузърът не се ограничава до статични документи и попълване на формуляри.

Преди много време хората щяха да посочат стандартните приложения за четене на поща или редактиране на снимки и да кажат: „Може ли браузърът ви да направи това?“ Сега отговорът е да.

Браузърът като основна причина за операционна система № 2: Лесна разширяемост чрез приставки

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

Браузърът като основна причина за ОС № 3: Неговата основа с отворен код

Има много различни значения, заредени във фразата „с отворен код“, а браузърът илюстрира едно от най-влиятелните. Езиците на мрежата винаги са били лесни за разбиране - поне в сравнение с естествените двоични кодове - и когато ранните разработчици са включили опцията „view source“, те са улеснили програмистите да се учат един от друг.

Отвореността насърчава иновациите и това е една от най-големите причини да видим как браузърният слой набъбва с толкова много умни допълнения. Изграждането на софтуер за слоя на браузъра е по-лесно, насърчавайки да се свърши повече работа там. Темпът на иновациите е заслепяващ, защото добрите идеи се емулират и подобряват бързо. Всеки може да се поучи от работата на всеки друг, след което да научи всички в замяна. Само тази функция е създала толкова много програмисти, че тя трябва да се счита за национално богатство от онези комитети във Вашингтон, които винаги водят кампания за създаване на повече STEM студенти.

Браузърът като основна причина за ОС № 4: Метапрограмиране

Отвореността не означава само, че изходният код е достъпен за копиране, преработване и разширяване на други - той се отнася и за данните в браузъра в момента. Някои софтуерни пакети като Greasemonkey дават възможност за писане на софтуер, който работи върху софтуера, работещ на уеб страница. Greasemonkey може да достигне директно в кода на уеб страницата и да преоразмери елемент, да промени променлива или да пренапише самия текст. Това е като кодиране с отворен код в реално време.

Има опити да се предложи този вид функция на класически операционни системи, но системите за скриптове никога не са имали достъп, подобен на този на Greasemonkey в браузъра. Дори и най-сложните скриптови инструменти, като AppleScript, имат достъп до кода само чрез API. Пуристите може да не харесват някой да се забърква с техните променливи, но те не се забавляват толкова много. Ето защо някои от най-умните инструменти са налични в браузърите.

Браузърът като основна причина за операционна система № 5: Мултиплатформена простота и променливост

Мобилните устройства се доставят с браузъри. Хладилниците се предлагат с браузъри. Могат ли мобилните хладилници с браузъри да са далеч назад? Защо не? Всеки иска да постави HTML, JavaScript и CSS, отговарящи за правоъгълник на своите машини, защото е лесно да се адаптира. Екранът ви къс и широк ли е или висок и тънък? Няма значение, защото HTML се влива в пространството, което му е дадено. Двигателят за оформление, управляван от CSS, го разбира.

Ще има някои, които съвсем правилно посочват, че не всяка уеб страница изглежда добре на екрани с нечетна форма. Някои уебсайтове изглеждат като кола, която ги е ударила, когато се гледат на висок, тънък мобилен екран. Елементите са разпръснати навсякъде и нищо не се нарежда. Нещо се обърка със стиловете с поплавък.

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

Браузърът като основна причина за операционна система № 6: Чист абстракционен слой

Фондацията с отворен код на мрежата насърчава бързото развитие на най-добрите практики за дизайн. Все още има някои ъгли на технологичния свят - да речем, Apple - където няколко дизайнери настояват всичко да бъде направено по техния начин, използвайки тяхната родна рамка. Но при всички успехи на Apple в управлението на Vader, той не може да победи мрежата. Всяка иновация, създадена за iOS, се имитира бързо и се въвежда в основните рамки, които доминират в света на HTML5.

Демократичният популизъм на браузъра позволява на най-добрите идеи да се издигат, докато всички непрекъснато експериментират. Това до голяма степен се дължи на HTML и CSS, които се превърнаха в ясен абстракционен слой, който разделя проблемите, улеснявайки сътрудничеството за всички. Дизайнерите и програмистите могат да насочват своя специфичен слой и, когато е възможно, да въвеждат предварително проектирани библиотеки и рамки, за да използват работата на други дизайнери и програмисти в техния собствен код.

Браузърът като основна причина за операционна система № 7: По-добри модели за споделяне на библиотеки

Библиотеките винаги са били един от най-големите източници на главоболие за програмистите. Едното приложение на компютъра иска да използва версия 3.4.666 на библиотека, а другото иска версия 3.4.667, но операционната система може да намери само грешната. Когато нещата не се подравнят, някои го наричат ​​„bitrot“, а други „грешки при версирането“. Така или иначе всички губят.

Светът на браузърите предлага по-добър начин за разпространение на библиотеки. Много уеб страници водят до няколко централизирани копия на популярни библиотеки като jQuery или Dojo. Вместо да използват собствената си версия, хоствана на уебсайта, те се връзват към централна версия, предлагана от една от уеб инфраструктурните компании като Yahoo. По-вероятно е те да бъдат уловени от кеша, като по този начин ще спестите на следващата уеб страница времето за изтегляне на тази версия на библиотеката.

Тези централизирани версии са прецизно номерирани. Ако две уеб страници използват версия 1.9.1 на jQuery, тогава кешът ще си свърши работата. Ако някой премине към по-нова версия, и двете ще функционират. Кешът може да не спести много време, докато не започнат отново да използват същата версия, но превключвателят работи без проблем.

Подходът не е перфектен. Ако централните копия са повредени или заразени със злонамерен софтуер, всеки уебсайт, който ги използва, може да бъде застрашен. Но кога за последно се случи това? Преминаването към локална версия на библиотеките, най-простото решение, не би било трудно.

Браузърът като основна причина за операционна система № 8: Плодороден, конкурентен пазар

Някога имаше само Netscape. Тогава Internet Explorer доминира. Сега изглежда, че всеки има браузър, който се конкурира. Chrome, Firefox, IE, Safari и Opera са само началото. Има десетки други незначителни браузъри със собствени преданоотдадени. Мобилната платформа има още повече.

Всички те се състезават за споделяне на очите. Най-добрият печели, но само до следващия цикъл на надстройка. След това състезанието започва отново.

Тази битка поражда качество. Най-добрите браузъри с най-полезните функции процъфтяват, докато непринудените хакове изчезват. Това не винаги се случва по света, но когато се случи, е чудесно за потребителите. Когато е добре за потребителите, това показва силата на слоя на браузъра.

Браузърът като основна причина за ОС № 9: SVG, платно, векторна графика, страхотни потребителски интерфейси

Ранните уеб страници може да са били леко скучни, но това е било преди умните програмисти да измислят как да анимират CSS свойствата на DIV или SPAN. Сега правоъгълниците и думите вътре могат да се обръщат, да се въртят, да се въртят, да избледняват, да мигат и дори - да погинат от мисълта - просто седнете там.

Ако това не е достатъчно, най-добрите нови браузъри са тясно интегрирани с видеокарти и предлагат почти всяка функция на програмиста на JavaScript. Докато дизайнерите на игри все още се нуждаят от собствен код, за да извлекат някои екстремни трикове, които тласкат видеокартите да се стопят, почти всяка тяхна софтуерна функция е достъпна под някаква форма или друга за програмиста на JavaScript. Анимирани SVG, платното обект и някои видео могат да направят почти всичко. Има дори 3D слой, наречен WebGL, който обработва триизмерно изобразяване. Браузърът никога няма да може да се конкурира с конзолите или родните игри, но ще свърши добра работа, когато графиката не е твърде сложна. Това е повече от достатъчно за страхотни игри.

Всичко това означава, че изграждането на потребителски интерфейс за уеб страница сега е много по-просто от създаването на такъв за основно приложение. Дизайнерите могат да работят с HTML, JavaScript и CSS, три лесни езика, които са много по-прости от Java, C ++ или Objective-C, използвани за родните приложения. Още веднъж, по-лесното кодиране привлича повече програмисти, които създават повече код и карат платформата да доминира.

Браузърът като основна причина за операционна система № 10: Node.js

Може би най-доброто доказателство за успеха на браузъра като платформа може да бъде намерен в Node.js, рамката от страна на сървъра, която позволява на програмистите на браузъри, потопени в JavaScript и затваряния, да пишат инструкции за сървъра, без да учат PHP или Java.

Пакетът предлага впечатляващо представяне за някои работни места, просто като хвърли настрана резбования модел, често срещан в миналите поколения. Вместо това приема функцията за обратно извикване, една от идиомите на програмирането на браузъра, за да жонглира с натоварването. В правилните ръце програмистите могат да заобиколят опасностите и да създадат изчистен механизъм, който бързо и ефективно извлича информацията от сървъра.

Това е малко победа за света на JavaScript, защото мнозина се присмиваха на сложните затваряния и обратно извикване на програмирането на браузъра, гледайки на тях като на объркани и прекалено вложени. И все пак, след като резултатите са бързи, хората са по-приемливи. Бързината и пестеливостта имат начин да спечелят конвертиращите.