11 Dependency Management Tools voor webontwikkelaars
Afhankelijkheden zijn een hoeksteen van moderne webontwikkeling. Dit zijn de vereiste tools, plug-ins, bibliotheken en frameworks die nodig zijn om webtoepassingen op hoog niveau te bouwen .
Het enorme aantal afhankelijkheden is de laatste paar jaar enorm toegenomen. In de loop der tijd hebben ontwikkelaars hulpmiddelen voor afhankelijkheidsbeheer geïmplementeerd die de stress van het afhankelijk en georganiseerd houden van afhankelijkheden verlichten . Deze tools leiden tot een geoptimaliseerde workflow voor ontwikkelaars en projectmanagers.
Ik heb de beste hulpprogramma's voor afhankelijkheid gecatalogeerd, inclusief zowel gevestigde als nieuw opkomende platforms. Professionele webontwikkeling vereist voortdurend leren en ik beweer dat afhankelijkheidsbeheer een skillset is die de moeite van het leren waard is.
1. NPM
Ik zou deze handleiding niet kunnen schrijven zonder de Node Package Manager te vermelden. Gebouwd op Node.js, levert dit systeem een enorme opslagplaats van meer dan 100.000 pakketten en modules .

NPM is waardevol voor meer dan alleen afhankelijkheidsbeheer en het is praktisch een must-tool voor moderne webontwikkeling. Als je in de war bent, kijk dan eens naar deze Reddit-thread voor de uitleg van een beginneling.
2. Prieel
Het pakketbeheersysteem Bower draait op NPM, wat een beetje overbodig lijkt, maar er is een verschil tussen beide, met name dat NPM meer functies biedt, terwijl Bower streeft naar een vermindering van de bestandsgrootte en laadtijden voor frontend afhankelijkheden.
Bekijk deze Stack-vraag voor meer informatie over de subtiele verschillen.

Maar ontwikkelaars moeten zich realiseren dat Bower de workflow specifiek kan optimaliseren met frontend-afhankelijkheden . Ik raad Ben McCormick's artikel Is Bower Nuttig aan om meer te weten te komen over de toegevoegde waarde van beide pakketbeheertools.
3. RubyGems
RubyGems is een pakketbeheerder voor Ruby met een hoge populariteit bij webontwikkelaars. Het project is open source en inclusief alle gratis Ruby-edelstenen.
Om een kort overzicht voor beginners te geven, is een "edelsteen" slechts een code die in een Ruby-omgeving draait . Dit kan leiden tot programma's zoals Bundler die gem-versies beheren en alles up-to-date houden.

4. VereistJS
Er is iets speciaals aan RequireJS omdat het in de eerste plaats een JS-toolset is. Het kan worden gebruikt voor het snel laden van JS-modules, inclusief knoopmodules .
RequireJS kan automatisch vereiste afhankelijkheden detecteren op basis van wat u gebruikt, dus dit kan verwant zijn aan klassieke softwareprogrammering in C / C ++, waarbij bibliotheken met andere bibliotheken worden meegeleverd.

5. Jam
Browsergebaseerd pakketbeheer komt in een nieuwe vorm met JamJS. Dit is een JavaScript-pakketbeheerder met automatisch beheer vergelijkbaar met RequireJS.
Al uw afhankelijkheden worden in een enkel JS-bestand opgenomen, waarmee u items snel kunt toevoegen en verwijderen . Bovendien kunnen deze worden bijgewerkt in de browser, ongeacht andere tools die u gebruikt (zoals RequireJS).

6. Browserify
De meeste ontwikkelaars weten van Browserify, zelfs als het geen deel uitmaakt van hun normale workflow. Dit is een ander beheerprogramma voor afhankelijkheid dat de vereiste modules en bibliotheken optimaliseert door ze samen te bundelen.
Deze bundels worden ondersteund in de browser, wat betekent dat u modules kunt opnemen en samenvoegen met gewoon JavaScript . Het enige dat u nodig hebt, is NPM om aan de slag te gaan en vervolgens Browserify om in beweging te komen.

7. Mantri
MantriJS is nog steeds in een vroeg stadium van groei en is een afhankelijkheidssysteem voor webtoepassingen van gemiddeld tot hoog niveau. Afhankelijkheden worden beheerd via naamruimten en functioneel georganiseerd om botsingen te voorkomen en rommel te verminderen .

8. Volo
De projectbeheertool volo is een opensource NPM-repo die projecten kan maken, bibliotheken kan toevoegen en werkstromen kan automatiseren.
Volo wordt in het knooppunt uitgevoerd en vertrouwt op JavaScript voor projectbeheer . Een korte intro-handleiding is te vinden op GitHub met uitleg over het installatieproces en algemeen gebruik. Als u bijvoorbeeld de opdracht volo create
uitvoert, kunt u elke bibliotheek zoals HTML5 Boilerplate afficheren.

9. Ender
Ender is de "bibliotheek zonder bibliotheek" en is een van de lichtste pakketbeheerders die u online kunt vinden. Hiermee kunnen ontwikkelaars door JS-pakketten zoeken en deze vanaf de opdrachtregel installeren / compileren . Ender wordt door het dev-team beschouwd als "NPM's kleine zusje".

De belangrijkste Ender-website bevat kwaliteitsdocumentatie, dus het is de moeite waard om een blik te werpen als u geïnteresseerd bent.
10. pip
De aanbevolen methode voor het installeren van Python-afhankelijkheden is pip. Deze tool is gemaakt door de Python Packaging Authority en is volledig open source net als Python zelf.

11. Componist
Composer is een pakketbeheerder die erg lijkt op NPM, maar zich uitsluitend richt op PHP-bibliotheken. Je kunt een lijst met afhankelijkheden vinden op Packagist die grote PHP-frameworks zoals Laravel bevat.
Als je een PHP-ontwikkelaar van welke aard dan ook bent, raad ik aan om naar Composer te kijken. Het is gemakkelijk om te beginnen, maar moeilijk in te passen in uw workflow. Maar met de praktijk zal het een nietje worden voor PHP-ontwikkelprojecten.

Afsluiten
Het is duidelijk dat veel van deze afhankelijkheidsmanagers vergelijkbare eigenschappen hebben met vergelijkbare eigenschappen. Sommige zijn gebouwd om alternatieve problemen op te lossen en kunnen zelfs samen met elkaar lopen (dwz Composer en NPM).
Het onderwerp van afhankelijkheidsmanagement kan moeilijk zijn voor nieuwe ontwikkelaars. Ik raad aan om een van deze tools te kiezen en diepgaand te onderzoeken om zoveel mogelijk te leren. Probeer kleine webapps te bouwen en ontdek waarom afhankelijkheidsmanagement handig is.
Zodra u leert hoe u deze hulpmiddelen in uw workflow kunt toepassen, zult u nooit overwegen terug te gaan.

20 websites met onorthodoxe geometrie-elementen voor uw inspiratie
Hoewel het argument dat de meeste internetgebruikers tegenwoordig altijd "on-the-go" zijn en meer bezig zijn dingen zo snel en gemakkelijk mogelijk gedaan te krijgen, redelijk aannemelijk is, zouden "creatieven" het niet eens zijn met het idee om af te zien van uniciteit en esthetiek voor voorspelbaarheid

Facebook om valse verhalen te bestrijden met betere "trending topics"
Facebook's bedoelingen bij het introduceren van een gepersonaliseerde versie van 'Trending Topics' was goed. Helaas heeft dit geleid tot de verspreiding van nepnieuwswebsites die de uitkomst van een bepaalde grote politieke gebeurtenis wel of niet hebben beïnvloed. Voortzetting van de kruistocht van het bedrijf tegen misleidend nieuws, heeft Facebook besloten om de functie volledig te herzien.