Schneller Start | Vorteile | Warum? | Ziele | Projektstatus | Zwietracht | Github -Diskussionen | Github -Probleme | Beitragen
Die Bitloops Language (BL) ist eine hochproduktivität, domänenspezifische Sprache (DSL), mit der Sie sich auf die Geschäftslogik Ihrer Anwendung konzentrieren können, was wirklich wichtig ist.
Es umfasst Best Practices und Design -Methoden für Softwareentwicklung wie DDD, BDD und Layered/Hexagonal Architecture.
Die Sprachanlagen von Bitloops führen und ermöglichen jeden Softwareentwickler, sauberen Code zu schreiben und hochwertige und gut gestaltete Software zu erstellen. Dies ist besonders relevant für die Serveranwendungssoftware, die komplexe und häufig ändernde Geschäftsanforderungen hat. Mit BL können Entwickler Software mithilfe von Prinzipien wie Trennung von Bedenken, loser Kopplung, hoher Zusammenhalt und Befehlsabfrageverantwortung (CQRS) erstellen, die sicherstellen, dass Systeme einfacher zu verstehen, aufrechtzuerhalten und zu ändern sind.
Mit Bitloops -Sprache können Entwickler:
Im Wesentlichen können sich Softwareentwickler auf das konzentrieren, was sie am besten können: Probleme lösen! Mit den Bitloops -Sprache schreiben Entwickler Code, mit dem andere Entwickler (und sogar sich nach 6 Monaten) leicht verstehen und auf dem neuesten Stand dieses Codes erstellen können.
Euen Bitte beachten Sie, dass die Bitloops -Sprache in den frühen Stadien und in einer sehr aktiven Entwicklung liegt. Erwarten Sie Fehler und Einschränkungen. Jede Rückwärtskompatibilität ist nicht garantiert, bevor er V1.0.0 erreicht hat.
Der beste und schnellste Weg, um zu verstehen, wie die Bitloops -Sprache Ihnen hilft, sauberen Code und großartige Software zu schreiben, besteht darin, den folgenden Anweisungen zu befolgen. Mit diesem Tutorial werden Sie eine Bitloops -Todo -App ausführen und ausführen, erfahren, wie Bitloops funktioniert, und sehen Sie die Ausgabedateien in TypeScript an und schätzen, wie die Bitloops -Sprache funktioniert.
Wenn Sie Probleme haben (insbesondere bei Windows), überprüfen Sie den Abschnitt der gängigen Probleme unten.
Bitloops hat immer noch keine Binärdateien erstellt. Die beste Möglichkeit, den Transpiler zu installieren und auszuführen, besteht darin, die BitLoops -Sprache CLI als globales NPM -Paket zu installieren. Kopieren Sie Folgendes und führen Sie es in Ihrer IDE aus:
npm install -g @bitloops/bitloops-language-cliAlternativ können Sie Garn verwenden:
yarn global add @bitloops/bitloops-language-cliDie Bitloops Todo App ist leicht zum Klonen verfügbar. Sie können die Dateien, die dem Link folgen, extrahieren oder mit dem folgenden Befehl klonen:
git clone https://github.com/bitloops/bitloops-language.gitDer nächste Schritt besteht darin, den TODO -App -Code aus dem Sprachcode von Bitloops in TypeScript -Code zu transpilieren. Transpile stammt aus dem Wort Transcompile und bedeutet die Übersetzung von Code von einer Programmiersprache in eine andere.
macOS / Linux
bl transpile -s bitloops-language/examples/todo/bl-source/ -t outputFenster
bl transpile -s bitloops-languageexamplestodobl-source -t outputoder
bitloops-language transpileDas war's! Sie können jetzt Folgendes ausführen, um zu sehen, wie viele Codezeilen Sie sich gespeichert haben (Spoiler -Alarm: 77% oder 2141 Loc!)
bl analyze-lines -bl bitloops-languageexamplestodobl-source -ts ./outputOk, jetzt haben Sie Ihre gesamte Geschäftslogik wunderschön in einen gut strukturierten TypeScript -Code verwandelt ???!
Der Umfang der Bitloops -Sprache endet hier, aber mit Bitloops können Sie automatisch alles andere mit Bitloops Magic und KI generieren! Bitloops generiert für Sie ein Nest.js -Projekt und alle erforderlichen Infrastrukturen (GRPC- oder REST -Controller, Repository -Adapter für PostgreSQL oder Mongo usw.) sowie Docker- oder K8S -Dateien, um Ihr System bereitzustellen. Um mehr über den automatischen Bitloops -Prozess zu erfahren [klicken Sie hier].
Alternativ können Sie kostenlos jedes Framework verwenden, das Sie mögen, oder nur einen Express -Server oder einen Fastify -Server usw.
Set-ExecutionPolicy -ExecutionPolicy RemoteSignedEs gibt zahlreiche großartige Programmiersprachen mit massiven und wachsenden Codebasen und Investitionen. Das häufigste Problem für Organisationen, die Systeme aufbauen und pflegen. Teams von Entwicklern, die daran arbeiten, ist eine gute Architektur und das Design eines miteinander verbundenen Dienstes von Diensten.
Das Entwerfen eines komplexen Systems, damit es die Zeit dauern kann und es Entwicklern (bestehende und neue Tischler) ermöglichen, mit stetiger (oder hoffentlich steigender Produktivität steigende Produktivität) an seiner Codebasis zu arbeiten.
Gute Tests sind eine zusätzliche Voraussetzung für langlebige Produkte, die auch durch gute Architektur und Design ermöglicht werden. Leider gibt es auf der ganzen Welt nicht genug sachkundige und erfahrene ältere Ingenieure, um großartige Systeme für alle zu bauen und zu pflegen, die sie brauchen. Selbst wenn ein Unternehmen das Glück hat, einige zu haben, kann es nicht mehr Junior -Ingenieure einstellen, als die hochrangigen ihre Arbeiten und Leitfaden überprüfen können, um sicherzustellen, dass sich das System aufgrund schlechter Entwurfsentscheidungen nicht im Laufe der Zeit verschlechtert.
Die Bitloops-Sprache ist die erste Programmiersprache, die darauf abzielt, diese Probleme zu lösen, indem wichtige Prinzipien und Muster der Software-Engineering wie domänengesteuerter Design und verhaltensgetriebener Entwicklung erleichtert werden, ohne dass viele Jahre Erfahrung erforderlich sind, um dies erfolgreich zu tun. Infolgedessen kann die Arbeit der leitenden Ingenieure weiter genutzt werden und die Beiträge der Junior -Ingenieure erheblich gesteigert werden.
Jeder Software -Ingenieur hat ein gemeinsames Ziel: Wir möchten einen besseren Code schreiben und eine bessere Software erstellen, und wir möchten dies schneller machen!
Dies kann jedoch nur mit erheblichem und kontinuierlichem Engagement, Lernen und Erfahrungen erreicht werden, was viel Zeit in Anspruch nimmt. Bitloops möchte die Zeit, die ein Entwickler benötigt, um hochwertige Software aufzubauen, erheblich verkürzen. Wir haben die Bitloops-Sprache aufgebaut, die bereits viele der Best Practices und Design-Methoden der Softwareentwicklung umfasst.
Letztendlich sind BLs Ziele:
Die Bitloops -Sprache zielt darauf ab, eine simple Syntax zu definieren und beizubehalten, die der menschlichen Sprache und der Geschäftslogik so nahe wie möglich ist, die zeitlos wird und dabei hilft, eine allgegenwärtige Sprache in jedem Modul oder beschränkten Kontext zu übernehmen und zu verwenden. Es ist dann die Aufgabe von BL, in eine moderne und aktuelle Syntax Ihrer Zielsprache umzusetzen.
Das Bitloops -Sprache zu einer transpilierten Sprache zu machen, war eine zentrale Entscheidung, genau dies zu erreichen. Durch die Erlauben von Oraganisierungen, ihre Geschäftslogik in eine zeitlose Sprache zu schreiben, die in leistungsstarke, aber auch die Zielsprachen verändert werden kann, ohne die Benutzer der Bitloops -Sprache mit dieser Aufgabe zu belasten. Die Bitloops-Sprache sorgt dafür, dass sie in einen optimierten Code relevanter, aktueller und rechter als für die Aufgabensprachen transportiert wird.
Die Bitloops -Sprache befindet sich derzeit in frühen Stadien. Sein Transpiler wurde als Beweis für das Konzept erstellt und soll in dieser Phase nicht über die gesamte Palette des Creative Code -Schreibens des Entwicklers abdecken.
Wir möchten besser verstehen, ob wir eine Sprache aufbauen können, die Ihren Bedürfnissen entspricht, und ob wir eine kritische Masse von Interesse innerhalb der DDD -Community und außerhalb davon sammeln können.
Es gibt viele Dinge, die wir in Zukunft hinzufügen möchten, einschließlich
Wenn Sie einen Beitrag leisten möchten, würden wir Ihre Hilfe lieben!
Wenn Sie bereits die DDD -Konzepte (Aggregate, Wertobjekte, Anwendungsfälle, Controller usw.) kennen und wissen, wie man in einer modernen Programmiersprache codiert, sollte es wirklich einfach sein, die Bitloops -Sprache aufzunehmen. Es ist aus einer konsistenten Reihe von Sprachkonstrukten herausgebaut, die sich vertraut anfühlen und leicht zu lesen und zu verstehen sein sollten.
Während Bitloops eine objektorientierte Sprache ist, hat sie keine generische Klasse. Spezifische Bitloops-Klassen werden wie folgt eingebaut: ValueObject, Entity, Root Entity, Befehl, Befehlshandler, Abfrage, QueryHandler, DTO, Props, OK, ApplicationError, DomainError, Fehler usw.
Bitloops -Sprachcode wie diesen (11 Zeilen):
// Bitloops Language:
Rule TitleOutOfBoundsRule ( title : string ) throws DomainErrors . TitleOutOfBoundsError {
isBrokenIf ( title . length > 150 OR title . length < 4 ) ;
}
Props TitleProps {
string title ;
}
ValueObject TitleVO {
constructor ( props : TitleProps ) : ( OK ( TitleVO ) , Errors ( DomainErrors . TitleOutOfBoundsError ) ) {
applyRules ( TitleOutOfBoundsRule ( props . title ) ) ;
}
}transpiliert in diesen TypeScript -Code (28 Zeilen):
// TypeScript:
import { Domain , Either , ok , fail } from '@bitloops/bl-boilerplate-core' ;
import { DomainErrors } from './errors' ;
export class TitleOutOfBoundsRule implements Domain . IRule {
constructor ( private title : string ) { }
public Error = new DomainErrors . TitleOutOfBounds ( this . title ) ;
public isBrokenIf ( ) : boolean {
return this . title . length > 150 || this . title . length < 4 ;
}
}
export namespace Rules {
export class TitleOutOfBounds extends TitleOutOfBoundsRule { }
}
interface TitleProps {
title: string ;
}
export class TitleVO extends Domain . ValueObject < TitleProps > {
get title ( ) : string {
return this . props . title ;
}
private constructor ( props : TitleProps ) {
super ( props ) ;
}
public static create ( props : TitleProps ) : Either < TitleVO , DomainErrors . TitleOutOfBounds > {
const res = Domain . applyRules ( [ new Rules . TitleOutOfBounds ( props . title ) ] ) ;
if ( res ) return fail ( res ) ;
return ok ( new TitleVO ( props ) ) ;
}
} Für Fragen und Unterstützung verwenden Sie bitte unseren offiziellen Discord -Kanal. Fühlen Sie sich frei zu beitreten, wenn Sie mehr über Software -Entwicklungsdesignmuster erfahren möchten.
Wir sind ein kleines Team auf der Aufgabe, gut gestaltete Code und qualitativ hochwertige Software zu demokratisieren, und wir werden alle Hilfe nehmen, die wir bekommen können! Wenn Sie sich engagieren möchten, lesen Sie bitte unsere Beitragsrichtlinien, um zu erfahren, wie und wo wir Ihre Hilfe nutzen können. Wir wollen gute Ausgaben identifizieren, damit Sie schnell mit dem Beitrag und Lernen beginnen können.
Bitte lesen Sie unsere Richtlinien für Berichtsprobleme, bevor Sie ein Problem eröffnen. Probleme, die nicht den Richtlinien entsprechen, können sofort geschlossen werden.
Verwenden Sie einen dieser Kanäle, um allgemeine Hilfe zu verwenden, um die Bitloops -Sprache zu verwenden:
Die Bitloops -Sprache hat eine GNU General Public Lizenz v3.0. In der Lizenzdatei für Lizenzinformationen finden Sie.
Bitloops ist immer auf der Suche nach großartigen Menschen, die zur Sprache und Plattform von Bitloops beitragen. Wenn Sie sich einem Team anschließen möchten, das die Art und Weise, wie Software in Zukunft erstellt wird, radikal verbessern möchte, senden