Dovremmo usare qualsiasi framework JS che renda l'HTML come linguaggio di scripting [chiuso]

0

Dopo aver studiato l'HTML 5, ho imparato che l'HTML è puramente per definire la semantica dei dati. E ha fornito vari tag per ogni scopo. Sebbene possiamo creare i nostri tag, possiamo fornire lo stile e funzionerà ancora usiamo tag standard perché sono noti a livello globale. E tutti i motori di ricerca possono comprenderli.

I framework JS come AngularJS forniscono il modo di creare propri direttive / tag. Quali sono i tag non standard.

Inoltre, credo che la logica di programmazione debba essere separata dall'HTML: ng-if, ng-repeat ecc. Rende molto difficile la comprensione della pagina HTML da parte di un puro designer dell'interfaccia utente. Direi che questi framework rendono uno sviluppatore di pagine HTML non amichevole per i designer.

Se mettiamo tutta la logica su una pagina HTML, non ci sarebbe alcuna differenza tra una pagina lato server e amp; una pagina HTML.

Credo che non ci debba essere alcun tag non standard e nessuna logica di programmazione (come le istruzioni condizionali o cicliche) presenti nella pagina HTML . Invece JS dovrebbe gestire / controllare l'HTML dall'esterno.

Per favore dimmi se non sono corretto da qualche parte. Oppure darmi dei punti di vista positivi. Così posso pensare all'utilizzo di tali quadri.

    
posta Amit Kumar Gupta 01.05.2014 - 07:32
fonte

1 risposta

4

La logica è spesso presente nei modelli HTML sul lato client perché ha senso averla lì. La logica contenuta all'interno non è la logica aziendale, ma semplici condizionali e cicli per il controllo dell'output HTML, solitamente basati sui dati in questione. Ci sono un paio di vantaggi a questo.

Innanzitutto, includendo questa logica nella vista raggruppa la struttura di (parte della) pagina con la logica che può aumentarla, creando un singolo punto di cambiamento per la creazione dell'output HTML.

In secondo luogo, la logica inclusa nella vista rende la generazione di template più facile da comprendere , in quanto la logica di generazione viene mostrata in linea con la struttura in cui inserisce gli elementi in. Prendete il seguente esempio di struttura e logica combinata e confrontatelo con la successiva versione separata. Penso che molti sviluppatori troverebbero il primo molto più facile da comprendere.

In riferimento al punto OPs riguardo ai template che diventano difficili da capire per un "puro progettista dell'interfaccia utente", penso che la sintassi del sistema di template medio sia sufficientemente inglese e leggibile che il designer medio sarà a suo agio almeno in leggere il codice e capirlo, se non modificarlo. È certamente più amichevole per un designer che avere un codice separato in un linguaggio completo di cui avrebbero bisogno per aggiornare i modelli.

In linea

<div id="myPagePart">
    <table>
        <thead>
            <tr><td>Header</td></tr>
        </thead>
        <tbody>
            {{ foreach item in collection }}
                <tr><td>{{item.name}}</td></tr>
            {{ endforeach}}
        </tbody>
</div>

Separato

<div id="myPagePart">
    <table>
        <thead>
            <tr><td>Header</td></tr>
        </thead>
        <tbody id="tablePart></tbody>
    </table>
</div>

var tableBody = document.getElementById("tablePart");
for(var i = 0; i <= data.length-1; i++){
    var item = data[i];
    var tr = document.createElement("tr");
    var td = document.createElement("td");
    td.innerText = item.name;
    tr.appendChild(td);
    tableBody.appendChild(tr);
}
    
risposta data 01.05.2014 - 09:48
fonte

Leggi altre domande sui tag