私たちはそのりェブを倱いたした。

簡単に蚀うず 、ブラりザ戊争の埌、W3Cの組織ずWeb Standards Projectなどの開発チヌムは、断片化されおいない単䞀のWebを埩元するために長く懞呜に働きたした。 しかし、ここ数幎で、開発者はすべおを取り戻し、断片化を繰り返したした...おそらく、このWebを氞久に倱う前に、䜕が倱われおいるのかを理解する必芁がありたす。



ちょうど1幎前、Web業界の総支配人であるAnil Dashは次のように曞いおいたす。「 私たちはWebを倱いたした 」。 これは圓時を捕たえた倚くの人々に共鳎したした。 皮肉なこずに、これらのカタコンベで働きに行った倚くの人々。



特に、2000幎代䞭頃たでの期間がWeb䞊での完党な存圚よりも早い堎合は、ゆっくりず圌の蚘事を十分に読む必芁がありたす。 りェブは過去10幎で実際に倉化したしたが、必ずしも良い方向に進んでいるわけではありたせん。 アニルは曞いおいる



「私たちは、りェブの根底にある基本的な䟡倀芳を捚お、さらに悪いこずに根底にある基本的なアむデアを倱いたした。」


...そしお、圌がメモを曞いた目的の1぀は、新しい゜ヌシャルアプリケヌションを䜜成する人々が履歎に觊れおその起源を芋぀けるこずであるず述べおいたす。



おそらく、これらのアむデアのいく぀かは実際に空䞭にありたす。これは、過去数週間でFarukAteşずJeremy Keithもこのトピックに぀いお考えおいたからです。



そしお、私はこの䞀幎の倧郚分で、むンタヌネットのはるかに限られたコンポヌネントに぀いお考えおいたにもかかわらず、初期のりェブから䜕かを倱ったず感じお、これに぀いお考えたした。 通垞、ほずんどのWebナヌザヌの芖野に入らないものに぀いお-そのコヌドに぀いお。 それは圌にも圓おはたるず思いたす。 「 ... Webの䞖界の起源にあった基本的な䟡倀を捚おた」。



ブラりザ戊争



Anilは2000幎頃からWebに぀いお話しおいたしたが、1990幎代䞭頃からこの甚語に぀いお蚀いたいず思いたす。 珟圚、私たちのほずんど党員がブラりザ戊争に぀いお聞いおいたす。 䜕が起こったのかず聞けば、NetscapeずMicrosoftがむンタヌネットの支配をめぐっお戊い、ブラりザを支配させようずしおいた時期だず蚀う人がほずんどでしょう。



しかし、圌らはどのように支配を達成しようずしたしたか ある意味で、ブラりザ戊争Netscapeずその前身のMosaicは最初に戊っおいたしたは、「HTML戊争」ず呌ぶこずができたす。



「HTMLの暙準バヌゞョン」はありたせんでした。 代わりに、ブラりザの新しいバヌゞョンでは、img、リスト、テヌブル、フレヌム、フォント、埋め蟌みタグなどの新しい蚀語機胜が登堎しおいたす。 蚀語党䜓JavascriptずDOMなどの耇雑なアヌキテクチャが登堎したした。 それはほずんど良かった。 りェブは耇雑になり、すぐに重芁な機胜を獲埗したした。



ただし、元々暙準化された機胜はなく、暙準を開発したものはありたせんでした。それぞれが最初にブラりザヌの1぀に登堎し、他の機胜は成功した゜リュヌションを急いで再蚭蚈し、原則ずしおある皋床互換性のないバヌゞョンの圢で独立しお実装されたした。



この期間から、「最初に歩く」人が勝぀こずを孊びたしたたずえば、より柔軟なメカニズムを提唱したティムバヌナヌズリヌの反察にもかかわらず、マヌクアンドレスンによっお提案された「img」タグが勝ち、今日たで私たちに珟れ続けおいたす  アヌキテクチャレベルで行われた決定は、半枛期が非垞に長くなる可胜性があるため、慎重に行う必芁がありたす。



これは、今日のWeb開発者の苊情の䞀般的な流行です。 簡単に蚀えば、ブラりザヌの䞍䞀臎がWeb開発の頭痛の原因です。 ブラりザのリリヌスごずに倉化する、最新でほずんど䜜成されおおらず、文曞化されおいない機胜でサむトを開発するのに䜕が必芁か想像しおみおください。



W3Cグルヌプが芋たのはこの混乱であり、その圹割はただよく理解されおいたせん。 この委員䌚の目的は、革新を暙準化するために利害関係者ずの察話を確立するこずです。 少し埌に、Web開発者は新しい暙準の採甚を支持する必芁性を感じたため、Web暙準プロゞェクトが誕生したした今幎の初めに、おもしろそうに思えるかもしれたせんが、「ここでの䜜業は終了したした」ず述べたした。



しかし、ブラりザ戊争ずその埌のW3CおよびWeb Standardsプロゞェクトの基盀の結果がむンタヌネット䞊の「バルカン化」を回避したずいう事実を芋倱ったようです。 汎甚性ず互換性がむンタヌネットにずっお重芁であるこずはわかっおいたした。 たた、ブラりザの断片化によりGalaxyが危険にさらされおいるこずもわかっおいたした。



特に1990幎代埌半のむンタヌネットむベントに粟通しおいお、NetscapeのJSSSJavaScript StyleSheetsの察立ずCSS、互換性のない文曞化されおいないDOM、JavaScriptずJScript、Netscape CommunicationsずMicrosoftの激しい戊い-この背景に察しお、 HTML、CSS、JavaScript、およびDOMを暙準化するこずで断片化されなかったWeb。このようなWebの利点を䜿い果たした開発者に提䟛したす。 それは玠晎らしい成果でした。 Microsoft、Apple、Mozilla、およびGoogleの倚くの人々は、暙準ベヌスのテクノロゞヌに関する開発者の教育を提唱した人々ずテクノロゞヌを暙準化するずいう恩知らずな仕事をたくさん行っおきたした。 䞀郚は有名になり、ほずんどはささやかな報酬のために䞀生懞呜働いたが、誰もがりェブはそれだけであるべきだず感じた。



そしお、ゆっくりず沞隰する氎で死に気づかないカ゚ルのように、私たちはこのりェブを捚おたした。







私たちは䜕をしたしたか



これは、呚りのすべおが完党に悪いずいう意味ではありたせん。 これは事実ずはほど遠い。 これらのテクノロゞヌずむノベヌションはそれぞれ、開発者に新たな課題をもたらしたす。 倚くは将来の暙準のための方法を図解しおいたす。 しかし、党䜓ずしお、HTML、CSS、JavaScript、DOMずいう比范的単玔な独立したテクノロゞヌセットを採甚したした。 それぞれが明確に定矩された圹割を持ち、それぞれが習埗しお䜜業を開始し、競合するテクノロゞヌの混oticずした動物園を䜜成したした。



この方法では、他の蚀語や環境ぞの䟝存性が远加されたした。これは、むンタヌネットにはなかったアセンブリ段階がワヌクフロヌに登堎したためです。



䜕を埗たの



おそらく開発者の生産性は向䞊しおいるでしょう。 おそらく、プロゞェクト開発の初期段階で䜜業が楜になりたした。 しかし、信仰を維持するずいう名のもずに個々の成功以䞊のものがあるこずを疑う理由がありたす。 私を信じお-これはあらゆる新しい技術の共通の議論です-それは開発をより生産的にするでしょう。 文孊から䜕かを読みたしたか 私たちの遺産をもう少し高く蚘憶するように説埗したこずを思い出しおください。そしお゜フトりェア開発者は、システムのコストのほんの䞀郚がその開発の初期段階に関連しおいるこずを長い間認識しおいたした。 長幎にわたるメンテナンスは、システムのコストの非垞に重芁な郚分ですはい、このテヌマに関する文献はたくさんありたす。



しかし、䜕を倱ったのでしょうか



Web開発は、倚くの蚀語、基盀、開発環境が基盀ずなっおいる長幎の最倧のプラットフォヌムであるWindowsの開発のように、同じ蚀語であるCoyne 、 lingua francaを話すずいう点で、他のほずんどのテクノロゞヌずは異なり始めたしたWindows API この共通蚀語は、Webテクノロゞヌの習埗を容易にし、プロゞェクトサポヌトを簡玠化するなど、倚くの利点をもたらしたした。 これにより、Web開発者の知識ず経隓の掻力が高たりたした。



孊習性


フロント゚ンドに共通のテクノロゞヌセットがあるず、トレヌニングが簡玠化されたした。 これらの技術に関する教科曞、専門家、ワヌクショップを芋぀けるのは比范的簡単でした。 スキルず知識を習埗するのは比范的簡単でした。 いく぀かのHTMLおよびCSSコヌドを蚘述しお、有甚なものを䜜成できたす。 時間が経぀に぀れお、それらの知識を増やし、JavaScriptずDOMの理解を远加しお機胜を拡匵できたす。 共通の蚀語ず抂念を持぀開発者の倧芏暡なグルヌプの存圚により、ネットワヌク効果がありたした。



むンタヌネット䞊の技術を断片化し、専門甚語の研究所のカタコンベを掘り䞋げお、共通蚀語の䞀郚でこのネットワヌク効果を本圓に削枛したいのでしょうか 少なくずも、私たちの遞択の朜圚的な結果に泚意する必芁がありたす。 遞択の個々の利点だけでなく、䞀緒に私たちが倱うこずができるずいう事実を実珟しおいたす。



保守性


共通のテクノロゞヌセットがあるず、既存のコヌドベヌスの保守が容易になりたす。 基瀎ずなるHTML、CSS、JavaScript、およびDOMテクノロゞヌは、ほずんどのフレヌムワヌク、ラむブラリ、蚀語、およびプリプロセッサヌずは異なり、長期間安定しおいたす郚分的に䟝存しおいるツヌルや蚀語は蚀うたでもありたせん。 サヌビスのベヌスは5幎間サポヌトされたすか たた、あたり䞀般的でない技術に基づいお、コヌドベヌスをサポヌトできる開発者の数は倧幅に削枛されたす。



埓来、耇雑なシステムのコストの半分以䞊が運甚フェヌズにかかっおいたため、倧きな倉曎を加えるず、゜フトりェアプロゞェクトの進化的開発をリヌドするよりも、すべおを捚おお新たに構築しやすくなりたす。 私たちがむンタヌネットのために構築しおいるものはたすたす耇雑になっおおり、ミッションクリティカルなプロゞェクトの堎合、メンテナンスフェヌズはより長く、より高䟡になりたす。 繰り返しになりたすが、単玔にコピヌアンドペヌストを䜿甚しお線集するのではなく、コヌドベヌスを長期間維持する理由動機を理解し、それを維持するために、保守性が異皮の開発者の胜力に倧きく䟝存しおいるこずはよく理解されおいたす。 ]。



盞互䜜甚


Webの基本原則の 1぀は「互換性」です。 これは、「コンピュヌタヌの蚀語ずプロトコルが、過去の垂堎の断片化を回避するように蚭蚈されおいる」ずいう懞念に盎接関係しおいたすが、断片化は、䜜業コヌドを備えたシステムの堎合にだけ気にするべきではないず䞻匵したす。 たた、Web開発者コミュニティの断片化に぀いおも心配する必芁がありたす。 テクノロゞヌに関する実甚的な知識を持぀開発者が少ないほど、テクノロゞヌの問題に぀いお察話する可胜性は䜎くなりたす。



同じサヌクルから-テクノロゞヌが互いにどのように盞互䜜甚するかずいう問題。 Sassが倉数を実装する方法は奜きですが、LESSでも@ debugを䜿甚したいずしたす。 あなたはLESSずSassの䞡方を必芁ずし、おそらく混乱の地獄が噎火したす。 倚くの「革新」のモノリシックなアプロヌチは、盞互䜜甚の方法に倧きな圱響を䞎えたす。



長寿


FlashたたはSilverlight / WPFの知識ず経隓の開発に䜕幎も費やした堎合、この知識はたすたす圹に立たなくなりたす。 jQueryでも、Prototypeなどの䞀芋支配的なJavaScriptラむブラリやフレヌムワヌクの堎合ず同じこずが起こりたす。 これは、私たちが今日䞀生懞呜勉匷しおいるすべおのラむブラリずフレヌムワヌクで起こりたす。AngularJS、Bootstrap、<...あなたの名前を眮き換えおください...>。 数十幎は蚀うたでもなく、近幎ではほずんど技術が生きおいたせん。 技術の勉匷にかなりの時間を費やす人ずしお、私はその努力が正圓化されるこずを心配したす。



どうする



jQuery、Backbone、AngularJS、CoffeeScript、Bootstrap、Sass、LESS問題を解決するために過去数幎にわたっお開発した最も人気のあるフレヌムワヌク、ラむブラリ、蚀語、およびプリプロセッサの䞀郚を挙げたす。 掗緎された匷力なテクノロゞヌであり、数千、数䞇人以䞊の開発者が䜿甚する非垞に倚くの䜜業プロセスで十分に実蚌されおいたす。 圌らは去りたせん。 そしお、それらの埌に他の人が来るでしょう。 高床な技術からHTML、CSS、DOM、JavaScriptぞの没入を遅らせる必芁があるかもしれたせん。 結局のずころ、プログラマヌは、マシンコヌドは蚀うたでもなく、アセンブリ蚀語を䜜成したす。 しかし、Anil Dashが別のWebに぀いお曞いたように、「Web の䞖界の起源にある基本的な䟡倀を攟棄したした 」ず、䜜成されおいるコヌドに぀いおも同様だず思いたす。



これらのコアバリュヌは䜕でしょうか それらがW3Cコン゜ヌシアムによっお明確に蚘述されおいるこずは簡単にわかりたすもう䞀床、Anilは「 その歎史を知るために、少し歎史を孊んでください」ず蚀いたした。



「W3Cは技術的な卓越性に取り組んでいたすが、今日知られおいるこずだけでは明日問題を解決するのに十分ではないかもしれないこずを十分に認識しおいたす。 そのため、すでに機胜しおいるものを壊すこずなく、さらに優れたWebに簡単に倉換できるWebの構築に努めおいたす。 シンプルさ、モゞュヌル性、互換性、拡匵性の原則は、すべおの蚭蚈の根底にありたす。
W3Cの目暙、運甚の原則、およびその焊点



開発者は、新しい蚀語を開発するずきに、シンプルさ、モゞュヌル性、互換性、および拡匵性ずいうこれらの原則に導かれおいたすか フレヌムワヌク プリプロセッサ もちろん、倚くの堎合、はい。 これは、特にポリフィルずプロリヌフィルに圓おはたりたす。 膚倧な機胜を敎理するこずで「海を沞かす」ずいう目暙はありたせんが、1぀のこずを行う「小片の自由な取り付け」のモデルに埓いたすが、それはうたくいきたす。



しかし、倚くの堎合、圓瀟の゜リュヌションはモゞュヌル匏ではなく、単玔たたは互換性がありたせん特に任意の組み合わせ。 実際、これが問題の本質だず思いたす。 シンプルさ、モゞュヌル性、互換性を通じお特定の問題を解決する代わりに、圓瀟の゜リュヌションは、あらゆる皮類の問題に察する゜リュヌションのより耇雑な山になりたす。 CSSプリプロセッサアヌキテクトがSassの蚭蚈原則に぀いお報告しおいる䟋を次に瀺したす。



»新しい機胜をSassに远加する正匏なプロセスはありたせん。 適切なアむデアは誰からでもどこからでも生たれる可胜性があり、メヌリングリスト、IRC、Twitter、ブログ投皿、その他のCSSコンパむラ、たたはその他の゜ヌスからそれらを芋るこずができたす。




... ホヌマヌに䌌おいる可胜性が高い





小片の無料添付



2002幎、りェブの先駆者の1人であるDavid Weinberger偶然、Cluetrain Manifestoの共著者は、「 小さなゆるく接続されたピヌス 」-むンタヌネットを特別なものにする考え方を説明したした。 私はこれがむンタヌネット技術にも圓おはたるず長い間考えおいたした。これらの原則は、私たち自身のサむト、顧客、雇甚䞻、たたはむンタヌネット䞊で開発する技術自䜓のために、むンタヌネットのプロゞェクトをどのように䜜成するかを決定する必芁がありたす。



問題を解決しようずするたびに、「この小さな問題をどのように解決できたすか」たたは「ここに本圓に問題があるのか」ず考え、モゞュヌル性、互換性、および拡匵性の原則に基づいお解決したす。可胜な限り、過去5幎ほどで芋た耇雑さの爆発を抑えるための長い道のりを遞択し、少なくずも郚分的には倱われたWebに戻りたす。



おそらく、このりェブは、私たちが構築しおいるたすたす耇雑化するモデルの課題に察応するために成長しなければならないでしょう。 Webがドキュメントずサむトで構成されおいたずき、私たちは単玔さを保っおいたかもしれたせんが、アプリケヌションの時代では、単玔さは䜙裕がない莅沢です。 おそらく、時間の経過ずずもに、プラットフォヌムの必芁なすべおのフラグメントに察する根本的な改善が必芁になるでしょう。



しかし、このりェブを氞遠に倱う前に、そのりェブずその正確な動䜜を保蚌するものを本圓に理解する必芁があるず思いたす。 そしお、りェブがどのようなものになるかに぀いお技術的、アヌキテクチャ䞊の決定を䞋すずき、私たちは自分自身の利益だけでなく、珟圚のむンタヌネットがそれらによっお倱うものに぀いおも考えるべきです。



UPD 12.12.2013 16.00 ブログで著者が1週間で曞いたものずここで-1日で比范するのは興味深い。 英語コメンテヌタヌの翻蚳の開始をすべお続けお説明したす。



英語版のコメントを開始
*玠晎らしい蚘事 これらの珟象は呚期的であり、珟圚の断片化は暙準化され、再び断片化されるず思いたす。 人々は効率的に働くためのさたざたな゜リュヌションを思い付くでしょう...

*私はこれにかなり苊劎し、Jickeryから「昔ながらの」バニラに移行したした。Sassぞの枇望があり、より倚くの人々がそれらの経隓を求めおいたす...

*りェブの歎史䞊重芁なむベントがいく぀か発生しおいたす。 他の分野ず同様に、テクノロゞヌの始たりが芋えたす...

*これは非垞に良い投皿です。倚くの優れた芳察を行いたす。

*それはすべお肥倧化しおいたす。 私は'97、DOM、CSS、およびテンプレヌト蚀語から今幎のWebサむトを䜜成したした。NetscapeおよびMicrosoftの戊争ず同じ順序の問題ではありたせん。 それらはすべお暙準技術になりたす...

*匷力な蚘事-ほずんどのテクノロゞヌでは、䞭皋床の䜿甚に関する譊告が必芁だず感じおいたす...



さらに5〜6個のコメント。
䞀般的にはもう少しありたすが、それでも1週間は状況の分析の完党性に遅れるこずはありたせん。コメントのすべおの特別なポむントに泚意したした。



All Articles