Defiant ist ein Node.JS -Web -App -Framework, das den Aufbau disruptiver Technologie erleichtern soll.
Defiant wird so genannt, weil seine Schöpfer starke Meinungen darüber haben, wie ein System wie dieses entworfen werden sollte, sowie sein Einsatzpotential. (Es wurde auch "trotzig" bezeichnet, weil es so aussah, als ob so viele der vorhandenen Frameworks im Grunde genommen Klone voneinander waren und wir etwas völlig anderes machen wollten.)
Defiant ist kein fertiges Projekt. Es ist jedoch eine aktive Arbeit in Arbeit, und wir würden Ihre Beiträge begrüßen. Schauen Sie sich die Roadmap an, um zu sehen, wo Sie hineinspringen können!
Im Moment gibt es nur eine Handvoll Leute, die trotzig schauen. Wenn Sie jedoch mit uns sprechen möchten, dann besuchen Sie uns auf Slack hier! Ihr Engagement ist für uns von unschätzbarem Wert!
Verwenden wir E -Mail als Beispiel. Wenn Sie Ihre eigene E -Mail -Adresse (z. B. @yourname.com) möchten, haben Sie eine von zwei Optionen: Entweder einen eigenen E -Mail -Server einrichten oder jemanden (wie Google, Zoho usw.) für Sie heilen, wahrscheinlich für eine monatliche/jährliche Gebühr. Das Selbstversand ist äußerst kompliziert (Einrichten von Firewalls, IMAP/POP3/SMTP-Zugriff, ein webbasiertes Front-End, DNS-Aufzeichnungen mit korrekten DKIM- und SPF-Aufzeichnungen, SSL-Zertifikaten, Spam-Filterung, Antivirus, Benutzerverwaltung usw.). Wenn Sie jemand anderem, um es zu verwalten, können Sie jedoch teuer werden, wenn Sie mehrere Benutzerkonten benötigen, eine geringe Anpassung ermöglichen, und Sie sind immer dieser Drittanbieter ausgeliefert (und sie können sich entscheiden, Sie auszuspionieren).
Was hat das mit trotzig zu tun? Das Framework von Defiant könnte alle oben genannten Teile liefern, die in ein einzelnes, einfaches Paket eingewickelt sind (aus Sicht des Endbenutzers). In gewisser Weise ist es die Absicht des Rahmens, die Interaktion all dieser verschiedenen einzelnen Systeme zu choreografieren und sie in ein Format zu bringen, das wir "bloße Sterbliche" sicher umsetzen können. Defiant möchte, dass Sie diese Technologien (und nach Proxy Ihre eigenen Daten) aus der Privatsphäre unserer eigenen Server besitzen und verwalten können.
Welche Art von Systemen könnte mit Defiant gebaut werden?
Diese Systeme existieren noch nicht, sondern zeigen die Absicht hinter Defiance. Wir möchten ein sicheres, benutzerfreundliches, flexibles Gerüst haben, aus dem die oben genannten Systeme erstellt werden können (Mix-and-Match). Wir möchten das Internet von den großen Unternehmen zurücknehmen und leistungsstarke Technologien wieder in die Hände der normalen Menschen geben.
Übrigens brauchen wir Ihre Hilfe, um es zu tun. Bitte überlegen Sie, ob wir uns bei der Entwicklung eines trotzigen Entwicklungs helfen und das Internet zurücknehmen können. Sei trotzig!
Defiant ist fest davon überzeugt, dass Sie als Entwickler dieses Framework verwenden und seine Funktionalität hinzufügen oder ändern oder diese ändern oder die Kerndateien hacken können. Wenn Sie ein Plugin von Drittanbietern für dieses Framework verwenden und die Funktionalität des Plugins hinzufügen oder ändern möchten, sollten Sie dies tun, ohne das Plugin selbst hacken zu müssen. Wenn die Architektur diese Flexibilität nicht unterstützt, sollte dies als Fehler interpretiert werden und als solche gemeldet werden. Kurz gesagt, alles sollte überschrieben werden.
Defiant hält sich nicht an ein strenger MVC -Framework an, da das nicht flexibel genug für das ist, was wir im Sinn haben.
Jeder Rahmen hat Meinungen zu etwas. Einige kümmern sich darum, wo Ihre Dateien platziert sind, und einige möchten bestimmte Paradigmen durchsetzen. Bei der Meinungen von Defriant geht es darum, wie die unterschiedlichen Teile interagieren sollten. Die JavaScript -Sprache und die Node.js -Plattform bieten eine einzigartige und leistungsstarke Reihe von Tools, um viele verschiedene Probleme und Anwendungsfälle unter einer einheitlichen Architektur anzugehen.
Wir glauben, dass Open Source genau das sein sollte: völlig offen. Wir sind im Allgemeinen mit einigen der Bestimmungen der GPL nicht einverstanden, die den Anforderungen an andere Projekte stellt, und haben dieses Projekt im Rahmen der MIT -Lizenz lizenziert.
In einer idealen Welt wäre das Urheberrecht eine Sache, die wir für das Allgemeinwohl ignorieren könnten. Leider haben Anwälte, Politiker und Unternehmensgier komplizierte Dinge, daher müssen wir unter der von ihnen geschaffenen Belastung operieren. Daher ist der Urheberrechtsinhaber für das trotzige Projekt Corey Pennycuff. Jeder Beitrag zum Projekt leistet aufgrund ihres vorsätzlichen Beitrags damit einverstanden, hiermit das Urheberrecht des Beitrags an Corey Pennycuff zuzuweisen, und bestätigt, dass sie die rechtliche Befugnis dazu haben. Eine Ausnahme zu dieser Bestimmung ist im Falle der Einbeziehung von Bibliotheken der Dritte zulässig, die in seinem eigenen Unterverzeichnis vollständig existieren müssen und angemessene Informationen zur Besitzung des Urheberrechts enthalten.
Das trotzige Manifest erklärt die Philosophie des trotzigen Projekts. Sie sind:
Lesen Sie das (kurze) Manifest selbst, um zu verstehen, wie wir diese Ideen anwenden.
Bisher habe ich dies nur unter Linux (insbesondere Debian) und dem Windows -Subsystem für Linus (WSL) in Windows 10 getestet.
Zumindest müssen Sie die python und sqlite3 -Pakete installieren. Möglicherweise benötigen Sie auch build-essential .
apt-get install python sqlite3Diese sind für die Installation von Modulen erforderlich, von denen trotzdem abhängt. Es ist keine direkte Abhängigkeit der Codebasis.
Das wird eine Weile dauern ...
npm install Standardmäßig versucht Defiant, Informationen im Verzeichnis /var/defiant zu speichern. Dies wird in Zukunft konfigurierbar sein. Erstellen Sie vorerst das Verzeichnis und stellen Sie sicher, dass Sie Berechtigungen in das Verzeichnis schreiben.
const Defiant = require ( 'defiant' ) ;
new Defiant . Engine ( )
// Add Plugins.
// The Example Plugin is included with Defiant, and, of course, should not
// be included in production code.
. addPlugin ( Defiant . Plugin . Example )
// Explicitly set a directory where Defiant should look for the settings
// files. If no files exist, then appropriate defaults will be generated.
// This directory should be separate from your application code, and
// preferably under version control.
. defineBootstrapDirectory ( '/var/defiant/settings' )
// Initialize the Engine and its components.
// init() is the last call that should be made, as Defiant will now begin
// listening for connections.
. init ( ) ; Defiant beginnt auf Port 8888 (dies kann in Zukunft konfigurierbar sein) http://localhost:8888 Schauen Sie sich die Konsolenausgabe für den Administrator -Benutzernamen und das Passwort an.
Defiant macht momentan nicht viel und ist überhaupt nicht bereit für ernsthafte Arbeit. Warum? Weil es natürlich noch gebaut wird! Teile davon existieren nur in den Köpfen und Gesprächen der Entwickler. Wenn Sie helfen möchten, senden Sie uns eine Nachricht und finden Sie heraus, was die aktuelle Roadmap ist.
Schauen Sie sich die Roadmap an, um zu sehen, was funktioniert und was auf unserem unmittelbaren Radar steht. Besser noch, kontaktieren Sie mich und finden Sie heraus, wie Sie in die Entwicklung einspringen und helfen können!
Wir wiederholen: Dieser Code ist noch keinerlei Produktionsarbeit vorgesehen.
Dokumentation finden Sie hier.
Nichts in der API ist in Stein gemeißelt, und es gibt nur sehr wenig offizielle Dokumentation (obwohl wir versuchen, den Code verantwortungsbewusst zu kommentieren). Darüber hinaus ist dies der erste Entwurf, und es ist nicht einmal vollständig. Wenn Sie sich den Code ansehen, denken Sie daran: Es gibt Hacks und Todos, die im gesamten System verstreut sind. Manchmal ist der Hack nur, etwas zum Laufen zu bringen, so dass ein anderer halbbezogener Teil ausgearbeitet werden kann, und es besteht die Absicht, den Code später noch einmal zu besuchen. Manchmal ist das Todo nur ein Stub, der eine Idee darstellt oder angibt, wo etwas später mit dem System verkaufen muss. Manchmal existiert das Feature nur in den Köpfen der Autoren. ESP wäre hier hilfreich ...
Vor allem ermutigen wir Sie, die Trends und die Weisheit der Massen für die Hoffnung auf ein frisches und kostenloses Codierungserlebnis zu beenden. Wenn das fehlschlägt, können Sie auch launisch sein. Was auch immer du bist, aber sei trotzig!