Qual è il valore per uno sviluppatore web di avere familiarità con il codice sorgente di un browser web?

4

Ci sono motivi specifici per uno sviluppatore che si occupa di applicazioni web (diciamo scrittura html e js) per scaricare il codice sorgente di un browser (come Chromium) e imparare come funziona il motore (renderer, javascript vm, elaborazione di rete, ecc. .)?

    
posta Luciano 02.01.2012 - 23:05
fonte

5 risposte

33

È più importante capire HTTP, client server, standard e specifiche web (HTML 4, XHTML, HTML 5, CSS 2.0, CSS 3.0, Javascript) e le differenze tra i diversi browser e versioni del browser.

Comprendere il funzionamento interno di un singolo motore di browser può essere utile nello stesso modo in cui capire come funziona un motore aiuterà un conducente a ottenere il massimo dalla sua auto, ma alcune delle conoscenze non saranno trasferibili ad altri browser.

    
risposta data 02.01.2012 - 23:10
fonte
17

Completa perdita di tempo. Quello che è importante avere a portata di mano sono gli standard, e forse alcuni documenti che spiegano le peculiarità del browser. Ma non il codice sorgente del browser! Sarebbe come sperare di migliorare nel disegnare le immagini studiando il codice sorgente di Photoshop.

    
risposta data 03.01.2012 - 04:45
fonte
5

Non proprio. Ho sviluppato per il web dal 1994 circa e non ho mai avuto la necessità di scavare nella fonte di un browser. Onestamente non saprei da dove iniziare, sono enormi applicazioni scritte in C ++, che non ho fatto dal college.

Se vuoi farlo, è fantastico! E sono sicuro che puoi imparare molto, ma non sono sicuro che riguarderà lo sviluppo web. Se vuoi saperne di questo, vai a studiare Javascript o simili. Leggi "Javascript the Good Parts" o scopri come utilizzare Monads in Javascript.

    
risposta data 03.01.2012 - 05:55
fonte
3

Spreco di tempo, spreco di spazio su disco.

Ho 10 anni di esperienza nello sviluppo di Windows C ++, ma costruire l'eseguibile di Firefox è difficile e richiede molto tempo, quindi ho provato un paio di volte e ho rinunciato. Chrome ha un ambiente di compilazione un po 'più semplice, ma la loro implementazione è più complicata, credo.

Di seguito è riportato il documento dietro la scena dei browser Web moderni. Voglio dire, se comprendi pienamente questo documento, puoi sperare di abbinare il concetto al codice sorgente in una scala temporale di settimane (senza una sufficiente conoscenza dello sviluppo di C ++, potrebbero essere mesi).

Funzionamento dei browser

    
risposta data 03.01.2012 - 05:29
fonte
1

Capire il funzionamento interno di un singolo motore di browser è un compito gigantesco che può ingannare solo un normale web dev. Chromium non è un motore standard e webkit (e il cromo è uno di quelli) ha la brutta tendenza di rendere le cose in modi leggermente diversi attraverso le piattaforme. (È un problema con il webkit che diventa più drammatico sui telefoni cellulari, ma è lì)

In ogni caso, per stare al passo con le analogie: è come dover arare un campo con un trattore in autunno e passare il tempo a preoccuparsi dei meccanismi interni di mietitrebbia che alla fine lo ripulirò la prossima estate.

È ... andare fuori strada in modo ossessivo e compulsivo.

Può essere utile se in effetti vuoi sviluppare un plug-in nativo per Chrome OS (il cui futuro è piuttosto incerto, ma, almeno, esiste) ma quello che vuoi veramente sapere per il futuro immediatamente prevedibile nel web dev è HTML4, CSS3, SVG e la quasi-standardizzazione audio / video / canvas / location / storage comunemente nota come HTML5.

... e un javascript toolkit: jquery o amplesdk, sono librerie che costruiscono oltre gli standard e cercano di livellare le discrepanze del browser.

E per favore: fai un favore a tutti e chiedi a qualcuno di insegnarti SQL, è ancora lì, e con molti trucchi intelligenti può scalare su Facebook.

Tutte queste tecnologie risiedono in un livello diverso sopra l'implementazione del browser. E poi oltre, dal lato server delle cose. Sì, gli sviluppatori web eseguono calcoli sul lato server . In realtà, è ciò che paga di più, nella vita reale.

In un singolo codice sorgente del browser, quindi, ci sono un sacco di strategie politiche e di marketing in corso. La guerra dei browser infuria ancora, con concorrenti diversi, ma poi.

Piccoli dettagli fanno la differenza e le scelte di un singolo fornitore non riflettono il consenso "questo dovrebbe essere fatto in questo modo". (e il cromo, essendo influenzato da Google, rifletterà alcune opinioni Google non realmente canoniche su come dovrebbe apparire Internet)

    
risposta data 03.01.2012 - 04:10
fonte

Leggi altre domande sui tag