Auf dem Weg zu dauerhaften Anwendungen am Beispiel des statischen PSKOV-Site-Generators

Pskov veche


Hallo, ich heiße Mikhail Kapelko. Ich beschäftige mich seit mehr als 10 Jahren mit professioneller Softwareentwicklung. In meiner Freizeit entwickle ich Spiele und Tools für deren Erstellung.


In diesem Artikel werde ich über meine erste langlebige Desktop-Anwendung sprechen - den statischen PSKOV-Site-Generator.


Langlebigkeit


Mit einer dauerhaften Anwendung meine ich eine Anwendung, die auf Betriebssystemen, die zwischen 2010 und 2030 veröffentlicht wurden, ohne eine einzige Änderung funktioniert. Mit anderen Worten, eine langlebige Anwendung hat eine Abwärtskompatibilität von 10 Jahren und eine Haltbarkeit von 10 Jahren. PSKOV funktioniert jedoch sogar unter Windows 2000, sodass es seit 19 Jahren abwärtskompatibel ist.


Technisch gesehen ist PSKOV eine einzelne HTML-Datei mit gepacktem Markup (HTML), Stilen (CSS) und Code (JavaScript). PSKOV wird ausschließlich in einem Webbrowser ausgeführt, ohne mit dem Server zu interagieren.


Eine solche Organisation bietet PSKOV folgende Möglichkeiten:


  • es kann ohne Einschränkungen kopiert werden
  • Es kann auf jedem Hosting platziert werden
  • es kann lokal ausgeführt werden
  • es kann ohne Internet funktionieren

Ich kann keine 10-jährige Haltbarkeit garantieren, weil Die Zukunft gehört mir nicht. Gleichzeitig lässt die Geschichte von HTML, CSS und JavaScript darauf schließen, dass sich diese Technologien mit der höchstmöglichen Abwärtskompatibilität entwickeln. Erstens überschreiben die neuen JavaScript-Funktionen nicht die alten. Zweitens sind Webbrowserhersteller daran interessiert, dass ihre Webbrowser mit so vielen Websites wie möglich funktionieren. So funktioniert beispielsweise das 2014 für veraltet erklärte <center> -Tag 5 Jahre später im Jahr 2019 problemlos.


Gleichzeitig weist jede Anwendung in einem Webbrowser eine schwerwiegende Einschränkung auf - eine Zelle, die täuschend als Sandbox bezeichnet wird. Diese Zelle verweigert den Zugriff auf das lokale Dateisystem des Benutzers und auf fast alle Ressourcen im Internet ohne die Erlaubnis des Ressourcenbesitzers (CORS). Infolgedessen kann die Anwendung entweder einem bestimmten Server oder einem Benutzer etwas in Form einer Datei zum Herunterladen geben. Es ist unpraktisch, Dateien einzeln oder in einem Archiv herunterzuladen, weshalb der Server-Ansatz heute in der Welt vorherrscht, auf dessen Probleme ich etwas später eingehen werde.


Um PSKOVA aus der Zelle freizugeben, musste ich LFSD erstellen, ein winziges Python-Skript, das mit meinen Händen ausgeführt werden musste, während PSKOVA arbeitete. Mit LFSD kann PSKOV mit dem lokalen Dateisystem des Benutzers arbeiten. Python wird aufgrund seiner Standardpräsenz unter Linux und MacOS sowie der Möglichkeit zur Installation unter Windows (sogar Windows 2000) ausgewählt.


Erfolgsbilanz


PSKOV wurde erfolgreich getestet, um die folgenden kleinen Websites zu erstellen:



Nun zu den Gründen für die Erstellung von PSKOVA genau in Form einer dauerhaften Anwendung für einen Webbrowser.


Grund Nummer 1: die Anhäufung und Erhaltung von Wissen in zugänglicher Form


Dies ist nicht das erste Jahr, in dem ich an der Entwicklung praktischer Spieleentwicklungstools arbeite. Bis vor kurzem waren das gesammelte Wissen native Desktop- Anwendungen , Schulungsartikel zu verwandten Technologien oder Videoergebnisse . Die angegebenen Arten von angesammeltem Wissen zeichnen sich dadurch aus, dass dieses Wissen im Wesentlichen tot ist:


  • Nur wenige Leute laden eine unbekannte Anwendung herunter
  • Nur wenige Leute werden Artikel lesen
  • Einheiten von Personen sehen mindestens einen Teil des Videos

In vielerlei Hinsicht ist dieser Tod auf Unzugänglichkeit zurückzuführen: Sie müssen unbekannte Anstrengungen unternehmen, um ein unbekanntes Ergebnis zu erzielen. Es ist unwahrscheinlich, dass heute jemand angelockt werden kann. Bei einer Anwendung in einem Browser, die möglicherweise überall funktioniert, ist die Situation völlig anders: Sie müssen bekannte Anstrengungen unternehmen - einen Link öffnen -, um ein unbekanntes Ergebnis zu erzielen. Die Geschichte der Twitter-Revolution legt nahe, dass fast jeder weiß, wie man Links öffnet und den Wechsel des "blutigen Regimes" mag.


Grund Nummer 2: Demokratie


Heutzutage wird jeder, der im Internet niest, über Dienste ausgeführt, die fast immer einem Unternehmen gehören: Nachrichten , Karten , Suche , Musik , Quellcode usw. ... Das Ergebnis einer solchen Machtübernahme ist die Schließung der Dienste , die das kontrollierende Unternehmen für unrentabel hält. Darüber hinaus ohne Diskussion mit diesen Benutzern, ohne die dieser Dienst niemals starten würde.


In anderen Fällen kann das Unternehmen einem konkurrierenden Browser einfach die Nutzung seines Dienstes untersagen, wie dies kürzlich bei der Webversion von Skype der Fall war . Es gibt jedoch Menschen, die mit einer solchen Politik nicht einverstanden sind. Dank ihnen werden Werkzeuge zum Deaktivieren von Sperren angezeigt.


Meiner Meinung nach ist dieser Zustand inakzeptabel. Der Fehler liegt jedoch nicht nur beim außer Kontrolle geratenen Geschäft, sondern auch bei einfachen Benutzern, jedem von uns. Sie können argumentieren, dass Benutzer keine Wahl haben, dass jemand anderes (Macht, Reptilien, unterstreichen, notwendig) diese Welt unfair gemacht hat. Jemand kann sogar direkt die Macht / das Reptiloid beschuldigen und glauben, dass wir ohne sie leben werden. Leider sagt die Geschichte der Menschheit das Gegenteil : "Der Staat ist keine feindliche Horde, die die Gesellschaft besetzt hat, sondern die, die aus der Gesellschaft herauswächst und sie widerspiegelt ."


Als Teil der Menschen begann ich mit mir selbst und beschloss, meine Kraft für das Gute einzusetzen: die Anwendungen zu erstellen, die ich brauche, damit sie für alle überall und immer funktionieren. PSKOV ist der erste Versuch, der meine Erwartungen mehr als übertroffen hat. Natürlich hat PSKOVA seine eigenen Einschränkungen in Form von LFSD und arbeitet über HTTP ohne Verschlüsselung. Es bleibt noch viel zu tun, um die Verfügbarkeit von PSKOV zu erhöhen, aber jetzt bin ich bereit, mit jedem zu streiten: PSKOV wird in 10 Jahren ohne eine einzige Änderung funktionieren. Erinnern Sie sich an diesen Tweet.


Damit ist die Geschichte meiner ersten langfristigen Desktop-Anwendung abgeschlossen - PSKOV Static Site Generator.

Source: https://habr.com/ru/post/de462685/


All Articles