五個(gè)值得嘗試的前端開發(fā)工具_(dá)html/css_WEB-ITnose
Jun 24, 2016 am 11:54 AM
在過去的幾年時(shí)間里,出現(xiàn)了許多全新的網(wǎng)頁應(yīng)用程序,不過,由于應(yīng)用程序的功能越來越豐富,也導(dǎo)致了前端開發(fā)的復(fù)雜度大幅增加。
現(xiàn)在也有不少前端開發(fā)工具,比如Backbone和EmberJS框架都能提供穩(wěn)定的App開發(fā)解決方案。同時(shí),Javascript的應(yīng)用也越來越常廣泛,而且它還能和Node.JS在后端協(xié)同工作,快速搭建易于擴(kuò)展的網(wǎng)絡(luò)應(yīng)用。實(shí)際上,為了應(yīng)對(duì)前端開發(fā)復(fù)雜度所帶來的挑戰(zhàn),開發(fā)人員創(chuàng)建了許多工具來簡化開發(fā)流程。從測(cè)試框架,到分析工具,前端開發(fā)工具已經(jīng)非常成熟了,正是得益于這些有用的工具才讓用戶體驗(yàn)到最佳的互聯(lián)網(wǎng)服務(wù)。
開發(fā)人員都喜歡使用高質(zhì)量的軟件開發(fā)工具,本文就推薦五個(gè)優(yōu)秀的前端開發(fā)工具和框架,希望能供開發(fā)人員參考。
Chrome dev Tool
這是目前最好的前端開發(fā)工具。自從其誕生以來,Chrome在其開發(fā)者工具中投入了大量精力,而且直到現(xiàn)在,谷歌仍在不斷優(yōu)化這些工具。一般而言,谷歌會(huì)在每六周發(fā)布對(duì)Chrome開發(fā)者工具的優(yōu)化,并推出一些全新功能。
Chrome開發(fā)工具是各種工具組成的套件,開發(fā)人員可以實(shí)時(shí)編輯DOM (HTML)/CSS,逐步調(diào)試JavaScript,并幫助開發(fā)者更加深入地進(jìn)行性能分析。Chrome開發(fā)工具甚至還可以新增terminal(DevTool?Terminal是一款Chrome開發(fā)工具的擴(kuò)展,可以幫助開發(fā)者在瀏覽器中訪問終端。如果你經(jīng)常在命令行工作,這款擴(kuò)展將十分適合你),幫助開發(fā)人員解決相關(guān)渲染性能問題。
DOM/CSS編輯器是一個(gè)非常強(qiáng)大的工具,可以為你的開發(fā)團(tuán)隊(duì)提供實(shí)時(shí)反饋,在開發(fā)UI/UX新功能的時(shí)候可以支持快速迭代。
在官網(wǎng)和谷歌開發(fā)者的YouTube頻道上面有許多含金量很高的信息。其中一個(gè)名為“命令行API”的章節(jié)就為開發(fā)人員提供了大量非常有用的命令。比如,你可以調(diào)用一個(gè)特殊的“復(fù)制”功能,就可以從控制臺(tái)復(fù)制任何東西(比如對(duì)象,函數(shù)返回)到剪切板上面。另外,在HTML5 Rocks上面還有很多優(yōu)秀的教程。如果你的好奇心很強(qiáng),并且想了解瀏覽器究竟是如何工作的,那么能在這些教程里學(xué)到很多東西,幫助你全面掌控應(yīng)用程序開發(fā)周期。
如果谷歌不斷優(yōu)化Chrome開發(fā)工具的話,這套工具最終會(huì)成為網(wǎng)頁的集成開發(fā)環(huán)境(IDE),直接和瀏覽器進(jìn)行捆綁,為開發(fā)人員提供更加強(qiáng)大的開發(fā)空間。
Grunt
Grunt在任務(wù)自動(dòng)化中很有用,它是一個(gè)基于任務(wù)的JavaScript命令行構(gòu)建工具,支持捆綁任務(wù)插件。此外,Grunt是可擴(kuò)展的,開發(fā)人員可以按照自己的需要編寫不同的任務(wù),而且Grunt支持將多任務(wù)整合在一起,提供更強(qiáng)大的功能。
如今,Grunt已經(jīng)不再局限于簡單的前端自動(dòng)化工作任務(wù)流了,在PHP開發(fā)時(shí),就可以使用Grunt進(jìn)行測(cè)試工作,如下所示:
terminal = require('color-terminal')log = (error, stdout, stderr, cb) -> if error terminal.color('red').write stdout else terminal.color('green').write stdout cb()module.exports = (grunt) -> grunt.loadNpmTasks 'grunt-contrib-watch' grunt.loadNpmTasks 'grunt-shell' grunt.initConfig testFilepath: null watch: php: options: event: 'changed' spawn: false files: [ 'foo/bar/**/*.php' 'foo/bar/**/*Test.php' ] tasks: 'shell:phpunit' shell: phpunit: options: callback: log command: 'echo <%= testFilepath %> && phpunit -c app <%= testFilepath %>' grunt.event.on 'watch', (action, filepath, ext) -> regex = new RegExp("foo/bar/([a-z0-9]+)/([a-z0-9/]+)", "i") if filepath.match regex if filepath.indexOf('Test') is -1 testFilepath = filepath.replace regex, "foo/bar/$1/Tests/$2Test" else testFilepath = filepath grunt.config 'testFilepath', testFilepath
Grunt還可以用來創(chuàng)建工作區(qū),此外開發(fā)人員在創(chuàng)建一個(gè)新項(xiàng)目的時(shí)候,往往需要做一些繁瑣且重復(fù)的必要工作,而Grunt提供了不少插件,可以使這些瑣碎的工作變得簡單。
LiveReload
每天你會(huì)在鍵盤上點(diǎn)擊多少次“刷新”鍵呢?很多次吧。LiveReload是一個(gè)簡單的網(wǎng)頁協(xié)議,可以觸發(fā)事件到客戶端,無論文件什么時(shí)候被改動(dòng),客戶端都能及時(shí)刷新、處理事件。
一般來說,LiveReload可以和Grunt捆綁在一起使用,搭建本地前端開發(fā)環(huán)境。而在客戶端,LiveReload則會(huì)提供一個(gè)簡單的Chrome擴(kuò)展程序。談到Chrome擴(kuò)展程序,Chrome store絕對(duì)是一個(gè)好地方,你可以到上面逛一逛,就會(huì)發(fā)現(xiàn)里面有不少好東西,這里推薦幾個(gè),拋磚引玉:
1、 WhatFont,它是一個(gè)書簽欄工具,采用鼠標(biāo)懸浮功能特性,點(diǎn)擊后就可以告訴用戶在網(wǎng)站上所指的字體屬性、字體名稱、大小、顏色等等,非常方便。此外,它還可以幫助開發(fā)人員調(diào)試字體風(fēng)格。
2、 Page ruler,它可以幫助開發(fā)人員測(cè)量網(wǎng)站中任何元素的尺寸,像素的寬度和高度。
3、 Proxy SwithcySharp,它可以用來幫助開發(fā)人員調(diào)試本地化信息,包括默認(rèn)貨幣、電話號(hào)碼等
4、 當(dāng)然,最受歡迎的當(dāng)屬Chrome app。
Mocha/Chai/Sinon
反復(fù)測(cè)試有沒有讓你覺得想吐?通常情況下,如果在前端開發(fā)的初始階段沒有設(shè)計(jì)好測(cè)試,那么后面的工作往往會(huì)變得非常困難。幸運(yùn)的是,我們有不少優(yōu)秀的測(cè)試框架,它們就像之前使用過的那些開發(fā)語言一樣強(qiáng)大。目前主流的兩個(gè)測(cè)試框架就是Jasmine和Mocha。
按照筆者已往的經(jīng)驗(yàn),更愿意推薦Mocha。它是一個(gè)功能豐富的Javascript測(cè)試框架,支持異步測(cè)試,這在Javascript中經(jīng)常要用到。下面是兩個(gè)測(cè)試案例,第一個(gè)是用Jasmine寫的,第二個(gè)使用Mocha/Chai寫的,如下所示:
Jasmine
AsyncProcess = require('./async-process').AsyncProcessdescribe('AsyncProcess', function() { var asyncProcess; beforeEach(function() { asyncProcess = new AsyncProcess(); }); it('should process 42', function() { var done = false; var processed = null; deferred = asyncProcess.process(); deferred.then(function(result) { done = true; processed = result; }); waitsFor(function() { return done; }, "the async process to complete", 10000); runs(function() { expect(processed).toEqual(42); }); });});
Mocha/Chai
AsyncProcess = require('./async-process').AsyncProcess;Chai = require('chai');Chai.should();describe('AsyncProcess', function() { var asyncProcess; beforeEach(function() { asyncProcess = new AsyncProcess(); }); it('should process 42', function(done) { deferred = asyncProcess.process(); deferred.then(function(processed) { processed.should.be.equal(42); done(); }); });});
Jasmine所選的為默認(rèn)語法,只有通過插件才能有Mocha一樣的功能,而后者簡潔的多。
和Jasmine不同,Mocha僅提供行為測(cè)試結(jié)構(gòu),這種測(cè)試框架通常對(duì)應(yīng)的是行為驅(qū)動(dòng)開發(fā),也就是BDD。但是這點(diǎn)并不會(huì)對(duì)Mocha產(chǎn)生負(fù)面影響,它可以與Chai和Sinon這樣的輔助測(cè)試工具結(jié)合使用。
下面,就是調(diào)用Sinon測(cè)試工具集內(nèi)的spy類進(jìn)行測(cè)試的一個(gè)例子:
// Function under testfunction once(fn) { var returnValue, called = false; return function () { if (!called) { called = true; returnValue = fn.apply(this, arguments); } return returnValue; };}it("calls the original function", function () { var spy = sinon.spy(); var proxy = once(spy); proxy(); assert(spy.called);});
Chai的特點(diǎn)在于,開發(fā)人員可以使用和自然語言相近的聲明語法。不妨可以參考下面的例子,調(diào)用Chai中的should聲明語法。
foo.should.be.a('string');foo.should.equal('bar');foo.should.have.length(3);tea.should.have.property('flavors').with.length(3);
很清晰,對(duì)嗎?現(xiàn)在就趕緊在你自己的代碼上測(cè)試一下吧!
Karma
雖然筆者把Karma放在了最后一個(gè),但它仍然是一款非常重要的前端測(cè)試工具。Karma的前身是Testacular,一個(gè)Javascript測(cè)試工具。Karma開發(fā)者和開發(fā)AngularJS的是同一批人。如果你使用Mocha、Chai以及Sinon,那么連續(xù)不斷的運(yùn)行上述這些測(cè)試框架,會(huì)提供實(shí)時(shí)的反饋嗎?
Karma允許開發(fā)人員從工作站(在持續(xù)運(yùn)行模式下)到生產(chǎn)調(diào)用指示,都能進(jìn)行測(cè)試。它還支持多種瀏覽器,包括Chrome、Firefox、IE、PhantomJS,讓你對(duì)自己的代碼充滿自信。
在進(jìn)行開發(fā)工作時(shí),第一快樂的就是在自己的電腦上寫代碼,并實(shí)時(shí)得到結(jié)果反饋;第二快樂的,就是自己的程序能夠應(yīng)用在各種瀏覽器上面,想必上述這兩點(diǎn)能夠得到絕大多數(shù)開發(fā)人員的共鳴吧?,F(xiàn)在,你是否已經(jīng)做好了準(zhǔn)備,化身成為一個(gè)“前端忍者”,去挑戰(zhàn)一切困難了呢?當(dāng)然,這里沒有提到一些文本代碼編輯器,比如Sublime Text和Vim,但是它們都是很好的開發(fā)工具。另外,本文使用的例子都來自GitHub Gist。
如果您恰巧也是一名前端開發(fā)工程師,那么是否也有自己喜歡的工具呢?歡迎在下面的評(píng)論欄里和大家分享。

Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
échangez les visages dans n'importe quelle vidéo sans effort grace à notre outil d'échange de visage AI entièrement gratuit?!

Article chaud

Outils chauds

Bloc-notes++7.3.1
éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

L'utilisation rationnelle des balises sémantiques dans HTML peut améliorer la clarté de la structure des pages, l'accessibilité et les effets SEO. 1. Utilisé pour des blocs de contenu indépendants, tels que des articles de blog ou des commentaires, il doit être autonome; 2. Utilisé pour le contenu lié à la classification, incluant généralement des titres, et convient à différents modules de la page; 3. Utilisé pour les informations auxiliaires liées au contenu principal mais pas au c?ur, telles que les recommandations de barres latérales ou les profils d'auteur. Dans le développement réel, les étiquettes doivent être combinées et autres, éviter une nidification excessive, garder la structure simple et vérifier la rationalité de la structure via les outils du développeur.

La structure de la page Web doit être prise en charge par des éléments HTML de base. 1. La structure globale de la page est composée de, qui est l'élément racine, qui stocke les méta-informations et affiche le contenu; 2. L'organisation de contenu s'appuie sur le titre (-), le paragraphe () et les balises de blocs (telles que) pour améliorer la structure organisationnelle et le référencement; 3. La navigation est mise en ?uvre et la mise en ?uvre, les organisations couramment utilisées sont liées et complétées par un attribut Aria-Current pour améliorer l'accessibilité; 4. L'interaction de formulaire implique, et, pour assurer les fonctions complètes d'entrée et de soumission de l'utilisateur. Une utilisation appropriée de ces éléments peut améliorer la clarté de la page, la maintenance et l'optimisation des moteurs de recherche.

Client-sideformvalidationCanbedOnewithoutjavascriptByusingHtmlattributes.1) userequagedoenforceMandatoryFields.2) valider eMandurlswithTypeatTributesLiDeMailorl, Orusepatternwithregexforcustusthormal

Pour utiliser des éléments de bouton HTML pour réaliser des boutons cliquables, vous devez d'abord ma?triser son utilisation de base et ses précautions communes. 1. Créer des boutons avec des balises et définir les comportements via des attributs de type (tels que le bouton, soumettre, réinitialiser), qui est soumis par défaut; 2. Ajouter des fonctions interactives via JavaScript, qui peuvent être écrites en ligne ou lier les écouteurs d'événements via ID pour améliorer la maintenance; 3. Utilisez CSS pour personnaliser les styles, y compris la couleur d'arrière-plan, la bordure, les coins arrondis et les effets de survol / statut actif pour améliorer l'expérience utilisateur; 4. Faites attention aux problèmes communs: assurez-vous que l'attribut désactivé n'est pas activé, les événements JS sont correctement liés, la mise en page d'occlusion et utilisent l'aide des outils de développement pour dépanner les exceptions. Ma?triser ceci

Les balises d'auto-fermer sont des éléments en HTML qui ne nécessitent pas de balises fermées car elles ne contiennent pas de contenu. Les exemples courants comprennent: ① Insérer des images; ② Ajouter des pauses de ligne; ③ Créer des lignes horizontales; ④ Définissez l'entrée de forme; ⑤ Lien des ressources externes; ⑥ Fournir des métadonnées. Ces balises fonctionnent à travers des attributs tels que ou. Il existe deux fa?ons correctes d'écrire: la syntaxe HTML standard, comme le style XHTML, mais HTML5 recommande le premier. Notez que vous ne pouvez pas utiliser le formulaire auto-clos sur des étiquettes qui nécessitent le contenu du package. Si l'erreur est erronée, elle doit être changée en un bonjour correctement fermé. Une utilisation appropriée des balises autonomes aide à garder votre code simple et efficace et améliore la compatibilité avec d'autres outils tels que les cadres.

Utilisez des balises dans HTML pour regrouper les options dans le menu déroulant. La méthode spécifique consiste à envelopper un groupe d'éléments et à définir le nom du groupe via l'attribut d'étiquette, tels que: 1. Contient des options telles que des pommes, des bananes, des oranges, etc.; 2. Contient des options telles que les carottes, le brocoli, etc.; 3. Chacun est un groupe indépendant, et les options du groupe sont automatiquement en retrait. Les notes incluent: ① Aucune nidification n'est prise en charge; ② L'ensemble du groupe peut être désactivé via l'attribut désactivé; ③ Le style est restreint et doit être embelli en combinaison avec CSS ou des bibliothèques tierces; Les plug-ins tels que select2 peuvent être utilisés pour améliorer les fonctions.

Pour intégrer la vidéo ou l'audio avec des sous-titres et des pistes audio dans une page Web, il peut être réalisé grace à la fonctionnalité native HTML. 1. Utilisez des balises pour ajouter des fichiers de sous-titres au format webvtt et définir les attributs de type, srclang et étiquette; 2. Prise en charge des sous-titres multi-langues via plusieurs éléments et utilisez l'attribut par défaut pour définir la langue par défaut; 3. Multi-tracks peuvent contr?ler la commutation multiple parmi les élément via JavaScript ou utiliser des solutions d'extension multimédia plus complexes; 4. Faites attention à la compatibilité du navigateur, à la configuration du chemin et à la vérification du format pour assurer un fonctionnement normal sur différents appareils et fournir des solutions de sauvegarde.

Lorsque vous rencontrez des erreurs de vérification HTML, vous devez d'abord clarifier le problème et le corriger en fonction des spécifications. 1. Lorsque les attributs requis sont manquants, le SRC et l'ALT et un HREF d'IMG doivent être achevés; 2. Lorsque la nidification de la balise est incorrecte, la structure doit être clarifiée et les étiquettes doivent être fermées correctement pour éviter la confusion dans les éléments au niveau du bloc de nidification; 3. Lorsque vous utilisez des balises non valides ou jetées, vous devez vous référer au document MDN pour le remplacer par des méthodes d'écriture modernes, telles que le remplacement du centre et de la police par CSS; 4. Lorsque les problèmes de codage des caractères, ajoutez metacharset = "utf-8" et assurez-vous que le fichier est enregistré au format UTF-8 pour le résoudre.
