Utilizzo di Squire, un editor Rich Text HTML5 leggero

Cosa starai creando

Cos'è lo Squire?

Squire è un editor di testo RTF HTML5 estremamente leggero, più adatto per i moduli di input ricchi di applicazioni e per la semplice creazione di documenti. Fornisce supporto per browser multipli ma evita deliberatamente la complessità del supporto dei browser meno recenti. Funziona meglio a partire da Opera 10, Firefox 3.5, Safari 4, Chrome 9 e IE8.

Squire non è pensato per creare e modificare pagine del sito Web WYSIWYG. Tuttavia, per molti rich text input e applicazioni web, Squire potrebbe essere proprio quello di cui hai bisogno. Fornisce la potenza senza il rigonfiamento. È anche MIT autorizzato per il riutilizzo flessibile.

In questo tutorial, ti mostrerò come scaricare Squire e compilare moduli di input di esempio. Se desideri vedere Squire in azione, visita la demo.

Da dove veniva lo scudiero?

Il team di FastMail ha creato Squire per semplificare i requisiti dei propri editor webmail. FastMail è un'eccellente alternativa e-mail basata su cloud a Gmail: sono un utente FastMail quotidiano. Poiché è basato in Australia e opera in base a leggi diverse rispetto a quelle statunitensi, le protezioni della privacy sono leggermente migliorate per gli utenti di FastMail. Puoi leggere di più su questo qui: FastMail afferma che è privo di sorveglianza NSA.

Come il team di FastMail ha scritto sul proprio blog, in precedenza hanno utilizzato CKeditor:

Anche se non è una cattiva scelta, come la maggior parte degli altri editor là fuori è stato progettato per la creazione di siti Web, non per scrivere e-mail. Pertanto, inserendo semplicemente un'immagine per impostazione predefinita, è stata presentata una finestra di dialogo con tre schede e più opzioni di quelle che si potevano ritenere possibili ... Inoltre, disponeva di un proprio toolkit e framework UI, che avremmo dovuto personalizzare notevolmente per adattarsi al resto di la nuova interfaccia utente che stavamo costruendo; un dolore da mantenere.
Con la nostra attenzione alla velocità e alle prestazioni, eravamo anche preoccupati per le dimensioni del codice. La versione di CKEditor che usiamo per la nostra precedente (classica) UI, che include solo i plugin di cui abbiamo bisogno, è un download di 159 KB (quando compresso con gzip; non compresso è 441 KB). Questo è solo il codice, escludendo stili e immagini.

Hanno deciso di iniziare da zero e costruire Squire. A soli 11,5 KB di JavaScript dopo minification e gzip (34,7 KB non compressi) e senza dipendenze, Squire è estremamente leggero. 

I risultati sono impressionanti. Il peso del codice combinato richiesto per caricare l'intero schermo di composizione, la libreria di base, il codice del modello di posta e contatti e tutto il codice dell'interfaccia utente per il rendering dell'intero schermo ora arriva a soli 149,4 KB (459,7 KB non compressi) -less rispetto a CKEditor da solo.

Squire non ha dipendenze. Non ci sono wrapper XHR, libreria di widget o overlay lightbox. Non c'è un'interfaccia utente per una barra degli strumenti, che elimina l'ingordigia di avere due toolkit UI caricati. È solo un semplice

Ma sul carico, il suo JQuery $ (Document) .ready la funzione sostituisce la statica #foo textarea con la sua SquireUI.

  

La configurazione della barra degli strumenti è implementata con una configurazione abbastanza complessa di JQuery, AJAX, HTML5 e CSS. Sta caricando questa pagina HTML per visualizzare la maggior parte della barra degli strumenti: http://neilj.github.io/Squire/build/Squire-UI.html.

$ (div) .load (options.buildPath + 'Squire-UI.html', function () this.linkDrop = new Drop (target: $ ('# makeLink'). first () [0], contenuto: $ ('# drop-link'). html (), posizione: 'bottom center', openOn: 'click');

Ecco un sottoinsieme del codice sorgente di Squire-UI.html in modo che tu possa vedere cosa viene caricato:

...

Sarebbe stato bello se avessero fornito una barra degli strumenti Bootstrap semplificata nel codice di distribuzione come componente aggiuntivo, ma puoi sicuramente imparare da quello che hanno fatto nella loro demo sopra.

Spero che trovi Squire utile per le tue applicazioni. Non esitate a postare correzioni, domande o commenti qui sotto. Puoi anche raggiungermi su Twitter @reifman o mandarmi un'email direttamente.

Link correlati