Svelte, ein verschwindender Rahmen, der nicht verschwinden wird

Als sie neulich in unserem gemütlichen Chatraum @sveltejs einen Telegrammlink zum nächsten „aufschlussreichen“ Artikel über Svelte schickten , war ich sehr glücklich und erwartete einen interessanten technischen Kampf oder zumindest eine interessante Lektüre der praktischen Erfahrung eines anderen. Abgesehen von der Tatsache, dass es immer interessant und nützlich ist, langweilen mich bestimmte Umstände - ein geplanter Urlaub und eine Quarantäne - zu Hause, und ein ähnlicher Artikel könnte meinen Tag etwas abwechslungsreicher gestalten. Stellen Sie sich meine Enttäuschung vor, die Sie sich gar nicht vorstellen können ... aber lassen Sie uns zur Sache kommen.



Um zu klären , wieder, dieser Artikel ist eine Antwort auf die Veröffentlichung „Svelte, ein Verschwinden Rahmen , dass immer noch nicht verschwinden .

Haftungsausschluss
, , -, . , - — , , « ».

Trotz der Tatsache, dass der Autor des Originalartikels, Liebes action52championbefindet sich eindeutig in einem depressiven Zustand, wahrscheinlich verursacht durch Selbstisolation und die globale Krise, über die er direkt schreibt:

action52champion : Paranoia, sagst du, und du hast recht. Aber mein Therapeut ist damit beschäftigt, Coronavirus-Opfer zu unterstützen. Sie brauchen es. Deshalb muss ich mich aussprechen.

Ich versuche immer noch, die Antwortveröffentlichung als nützlich, interessant und vor allem NICHT böse zu gestalten, indem ich alles als eine Art Interview des Autors des Originalartikels mit mir präsentiere. Unterwegs werde ich versuchen, einige häufig gestellte Fragen zur Wahl von Svelte als Instrument zu beantworten, wie genau es in unserem Land umgesetzt wurde und was heute damit passiert. Ich erzähle dir ein paar Geschichten. Also in Ordnung.

Interview


Über mich


action52champion: . : Angular, React, Vue. , - Svelte production-ready .

Hallo Action Champion, ich freue mich sehr, hier zu sein, danke, dass du mich eingeladen hast! Mein Name ist Pavel Malyshev, ich bin der Autor all dieser wunderbaren Artikel (obwohl die meisten davon Übersetzungen sind), die Sie so überwältigen. Zu diesem Zeitpunkt leitete ich die Entwicklung in einem kleinen Studio in Nischni Nowgorod in den Bereichen Web und Smart TV.

Auch wenn einer unserer Leser Svelte nicht folgt, können sie mich vielleicht aus meinen Berichten auf den größten IT-Konferenzen in Russland und der GUS wie HolyJS, RIT ++, FrontendConf, DUMP, CSS-Minsk-JS, Yandex-Veranstaltungen und kennen alle Arten von Mitaps in verschiedenen Städten der Russischen Föderation.

Ich war auch ein Held der Ausgaben von RadioJS Nr. 54-55, Web Standards Nr. 170, Devshahty Nr. 94 und einigen anderen. Neben Svelte spreche ich gerne über isomorphe Webanwendungen mit SSR, PWA, Webkomponenten und SmartTV.

, Svelte


action52champion: , , , .

Gute Frage! Tatsache ist, dass ich das Glück hatte, individuell Entscheidungen über einige der Technologien treffen zu können, die für ein bestimmtes Projekt in den von mir betreuten Entwicklungsbereichen verwendet werden. Mein technisches Niveau und meine Erfahrung (über 13 Jahre) ermöglichen es mir meines Erachtens, diese Wahl so ausgewogen wie möglich zu treffen.

Leider ist in IT-Unternehmen die Person, die solche Entscheidungen trifft, oft sehr weit vom Entwicklungsprozess und den Technologien entfernt. Daher wird sie nicht einmal von der Meinung ihrer Entwickler geleitet, sondern von einigen allgemein akzeptierten Entscheidungsoptionen und Hype. Das heißt, sie argumentieren ungefähr genauso wie Sie: "Es gibt die Großen Drei und sie sind voll von vorgefertigten Lösungen dafür, was Sie dann denken sollten."

Da unser Studio sehr klein ist und ich direkt an der Entwicklung von Projekten und dem Schreiben von Code beteiligt bin, gehe ich den Prozess der Auswahl von Technologien so genau wie möglich an und die Lösungen werden schrittweise und systematisch, aber gleichzeitig mutig implementiert.

Das erste Projekt, für das ich es 2017 ausgewählt habe, ist ein eingebettetes Widget für Websites. Tatsächlich war die Auswahl nicht großartig - entweder Vanille oder was sich zu Vanille zusammensetzt. Sogar unser geliebter Vue wog in diesem Moment in seiner reinen Form ~ 25 KB gzip, was für ein solches Projekt ungeheuerlich ist.

Die Wahl erwies sich als äußerst erfolgreich, und am Ende kamen wir zu dem Schluss, dass wir, wenn wir bei reiner Vanille stehen geblieben wären und alles von Grund auf neu geschrieben hätten, höchstwahrscheinlich die Fristen verpasst und möglicherweise Geld verloren hätten. Aber wir hatten das Glück, Svelte zu finden, obwohl in diesem Moment niemand wirklich von ihm wusste.

Im selben Jahr, nachdem wir das Projekt abgeschlossen hatten, schrieb ich meinen ersten Artikel über Svelte über das Habr- Framework „Magically Disappearing JS Framework“ , um ein neues und vielversprechendes Tool mit der Community zu teilen. Natürlich wurde der Artikel ziemlich kühl aufgenommen, was sogar dadurch bewiesen werden kann, dass ein mehr oder weniger technischer Artikel mit Codebeispielen und gutem Design damals dreimal weniger Pluspunkte sammelte als Ihr profaner „Vyser“ heute. Tatsächlich war es einer der ersten Artikel über Svelte im Allgemeinen und nicht nur russischsprachig.

Über bezahlte Artikel und was ist der "Gewinn"


action52champion : Das nächste Mal wurde ich von dem Gefühl heimgesucht, dass jemand nur benutzerdefinierte Posts kritzelte .

Plötzlich dachte ich, dass ein Teil der Zeit, die ich für die Gemeindeentwicklung für Svelte verbringe, tatsächlich durch meine Arbeit bezahlt wird. Sie sind sich nicht sicher, ob meine Materialien als maßgeschneidert angesehen werden sollen?

In einem Interview habe ich anscheinend gesagt, dass mein indirektes Interesse nicht nur darin besteht, ein anständiges Tool zu fördern, das ich in meiner Arbeit verwende, sondern auch seiner Community / seinen Entwicklern zu helfen, sondern dass Svelte-Programmierer, offene Stellen für sie auf dem Markt erscheinen und Kunden loyaler sind Verwendung dieser Technologie. Und natürlich ist es nicht nur das. Tatsache ist, dass die Verwendung von Svelte unsere Arbeit erleichtert und uns Zeit und Geld spart.

Okay, ich werde Ihnen sagen, wie es funktioniert. Kunden werden im Allgemeinen in zwei Kategorien unterteilt:

  1. - React/Vue/Angular/Ember/{ } — ,
  2. , .

Leider werden die ersten Entscheidungen oft auf der Grundlage von Hype / PR auferlegt, was natürlich für diejenigen Tools, die hinter Unternehmen (React / Angular) und / oder starken Communities (Vue + Chinese) stehen, stärker ist.

Es macht keinen Sinn zu verbergen, dass wir das Tool haben wollten, das wir als das beste in der Liste der „Frameworks, von denen ich gehört habe“ unserer Kunden betrachten. Nicht weil wir eine Art Masochist oder Bösewicht sind und alles schlecht machen wollen, sondern weil es unserer bescheidenen Meinung nach ein wirklich würdiges Werkzeug ist. Schlanke Lösungen sind einfach und effizient. Meistens schaue ich mit Entsetzen auf React-Projekte, die manchmal zur Fertigstellung zu uns kommen. Sogar ein sehr schöner und geliebter Vue von mir sieht schon sperrig aus.

Im Allgemeinen denke ich, dass das „Eis gebrochen ist“ und wir unser Ziel erreicht haben. Wenn es in den Jahren 2017 bis 18 möglich war, ein Projekt auf Svelte nur für Kunden des zweiten Typs durchzuführen, dann haben in den Jahren 2019 bis 2020 viele Menschen von Svelte gehört und sind bereit, es in ihren Projekten zu verwenden. Fast jeden Tag schreiben mir Leute, Vertreter verschiedener Unternehmen, einschließlich großer Dienstleister, in einem Telegramm in einem persönlichen Chat und einem Svelte-Chat und fragen nach Svelte und seinem Ökosystem. Ich bin froh, dass Sie, liebe Aktion, mir die Gelegenheit gegeben haben, darüber zu erzählen.

Über bestimmte Mängel


action52champion : Ich möchte Svelte und andere Frameworks nicht vergleichen und auf seine spezifischen Mängel eingehen . Sie können diesen Artikel für Einzelheiten lesen .

Hier bist du unaufrichtig. Soweit ich weiß, haben Sie keine Erfahrung mit Svelte. Es scheint mir, dass Sie das Tutorial auf seiner offiziellen Website nicht einmal durchgesehen haben, um über das Thema nachzudenken. Deshalb glaube ich, dass Sie dies einfach nicht tun konnten. Wenn ich mich irre, schreiben Sie mir darüber und ich bin bereit, es in der Praxis zu testen, indem ich beispielsweise eine Wette mit Ihnen abschließe.

Im Gegenzug würde ich gerne einen bestimmten Fall betrachten, und ich habe bereits am Ende dieses Artikels die Hauptnachteile von Svelte erwähnt . Darüber hinaus finden Sie in unserem Telegramm-Chat viele Materialien und echte Bewertungen . Wir haben dort keine Zensur und Sie können Fragen zu diesem Thema schreiben.

Über die Großen Drei


action52champion: : , , — ( ) .. , , . . -. - 5 . . . . . .

Sie haben ein interessantes Thema angesprochen. Sind die drei großen Projekte so „ausgereift“? Können sie absolut alle Webentwicklungsfälle abdecken und alle „neuen Herausforderungen“ beantworten? Die offensichtliche Antwort lautet „Nein“, da wir sonst nicht die Entstehung immer neuer Lösungen beobachtet hätten.

Ist es gut, dass neue Lösungen auftauchen? Auf jeden Fall „Ja“, denn mit der Zeit und neuen Aufgaben tauchen neue Herausforderungen auf. Vor 10 Jahren haben wir nur an Desktops und einen Esel gedacht, vor 5 Jahren haben wir an Handys gedacht, heute treten IoT, eingebettete und tragbare Geräte in den Vordergrund.

Ich verstehe, dass Sie als Entwickler, der zu depressiven Zuständen neigt, möchten, dass der Fortschritt gestoppt oder sogar verlangsamt wird. Um Ihr Bild von der Welt so einfach wie Filzstiefel zu machen, gibt es sozusagen Big Three-Frameworks für jeden Geschmack und jede Farbe, und Sie wissen genau, was zu tun ist. Aber liebe Aktion, das tut es nicht.

So war es nicht mit der ersten Welle von Frontend-Frameworks, es wird nicht mit den gegenwärtigen Führern sein. In diesem Sinne sage ich übrigens überhaupt nicht, dass Svelte notwendigerweise ein neues Wellenwerkzeug ist. Er überlegte wirklich viel, verankerte ihn aber gleichzeitig sehr in bestehenden Lösungen. Ob er eine führende Position im neuen Pantheon der Front-End-Technologien einnehmen wird oder nur ein Vorbote ihres Aussehens ist, weiß ich nicht, obwohl ich eine solche Gelegenheit nicht ausschließe.

Über Vue


action52champion : Ich erinnere mich, wie Vue vor dem Hintergrund einer Reaktion mit einem Winkel abhob und an Popularität gewann. Ja, es gab PR, aber Vue brauchte einfach keine PR. Er löste die wirklichen Probleme des Aufblähens und der Komplexität anderer Frameworks. Er nahm das, was in anderen verwirklicht wurde, und verwirklichte es in einer minimalistischen Form. Er löste ein spezifisches Problem - die Komplexität und Monstrosität zweier anderer Frameworks. Welches wirkliche Problem Svelte löst, weiß ich nicht. Was auf ihrer Website geschrieben steht, ist eine Erklärung guter Absichten.

Ich liebe diese Geschichte wirklich. Darüber, wie der edle Vue mit seinem schönen Design unerwartet für alle in das Rahmenpantheon eindrang und es mit seiner Einfachheit und Prägnanz beleuchtete. Ich mag alles in dieser Geschichte, außer dass es nichts weiter als ein Mythos ist. Hier ein Blick:

Dies ist der Vue (2014) -Code:

var app = new Vue({
  el: '#app',
  data: function() {
    return {
       greeting: 'Hello',
       firstName: '',
       lastName: ''
    };
  },
  computed: {
      fullName: function() {
         return this.firstName + ' ' + this.lastName;
     }
  } 
});

Und das ist der Ractive (2012) Code:

var app = new Ractive({
  el: '#app',
  data: function() {
    return {
       greeting: 'Hello',
       firstName: '',
       lastName: ''
    };
  },
  computed: {
      fullName: function() {
         return this.get('firstName') + ' ' + this.get('lastName');
     }
  } 
});

Wie Sie sehen können, ist der Rest des Codes neben geringfügigen kosmetischen Unterschieden fast identisch.

Vielleicht wirst du sagen, dass dies eine alte Schule ist und jeder in VFC (2015) über Vue schreibt:

<template>
<p>{{greeting}} {{fullName}}</p>
</template>

<script>
export default {
  data: function() {
    return {
       greeting: 'Hello',
       firstName: '',
       lastName: ''
    };
  },
  computed: {
      fullName: function() {
         return this.firstName + ' ' + this.lastName;
     }
  } 
};
</script>

<style scoped>
p { color: red; }
</style>

Und ich werde Ihnen antworten, dass "unter dem Mond nichts neu ist" (c) - Ractive (2014):

<p>{{greeting}} {{fullName}}</p>

<script>
component.exports = {
  data: function() {
    return {
       greeting: 'Hello',
       firstName: '',
       lastName: ''
    };
  },
  computed: {
      fullName: function() {
         return this.get('firstName') + ' ' + this.get('lastName');
     }
  } 
};
</script>

<style>
p { color: red; }
</style>

Und auch das virtuelle DOM oder das parallele DOM ? Ich hoffe ich habe dich nicht völlig verwirrt. Ich habe die Kommentare zum Originalartikel durchgesehen und festgestellt, dass Sie den Unterschied zwischen dem virtuellen DOM und dem Schatten-DOM nicht verstehen, der sich eindeutig aus diesem Kommentar ergibt:

action52champion : Shadow DOM wurde nicht aus einem guten Leben heraus in das Framework eingeführt. Sein Mangel bedeutet, dass Svelte sicherlich langsamer sein wird, wo es viele Updates geben wird.

Anscheinend haben Sie auch noch nichts über Webkomponenten gehört, aber Sie können sich nicht einmal vorstellen, warum Sie ein virtuelles DOM benötigen. Nichts, aber Sie sind ein guter Interviewer, und dafür werden Sie geliebt.

Aber ich werde weitermachen. Einer der Gründe, warum wir 2015 nach Vue gezogen sind, war, dass der Ractive, den wir seit 2013 verwendet haben, aufgrund des Mangels an „aggressiven Evangelisten“ einfach nicht ausbrechen und Masse aufbauen konnte. Gleichzeitig hat der junge Vue, ähnlich wie 2 Tropfen Wasser, im Zuge der Unterstützung einer sehr zusammenhängenden und national ausgerichteten chinesischen Gemeinschaft bereits begonnen, im Reich der Mitte zu übertreiben. Der Umzug erwies sich als praktisch kostenlos, obwohl wir einige der coolen Funktionen von Ractive verloren haben, die Vue immer noch nicht hat.

Dies war eine Lektion, die Sie ebenfalls lernen sollten - nicht immer ist die beste Technologie an der Spitze. Es gibt viel mehr Faktoren als die Qualität und Innovationskraft von Ideen. Es muss einen Wachstumstreiber geben, sei es Unternehmensunterstützung oder eine coole Community. So wird aus einem Diamanten kein Diamant.

Ich mag Vue wirklich und ich denke, dass dies das für mich am besten geeignete Instrument der Big Three ist, aber ich verstehe objektiv, dass ich es selbst nicht mag, sondern die Ideen, die es widerspiegelt. Die Ideen von Ractive, die wir verloren haben.

Svelte ist in vielerlei Hinsicht ein Anhänger von Ractive-Ideen, kombiniert mit den in Rollup verkörperten Ideen (z. B. Minimalismus, Baumschütteln usw.), und dies ist nicht überraschend, da alle diese Tools einen Autor haben .

In jüngerer Zeit hat Angular die AoT-Vorlagenkompilierung ähnlich wie bei Svelte eingeführt. Wissen Sie, wo ich zum ersten Mal etwas Ähnliches gesehen (und sogar verwendet) habe, und dies hat uns 2013 ermöglicht, den Teil der Laufzeit, der mit Vorlagen funktioniert hat, wegzuwerfen? Nun, du verstehst, worum es geht.

Warum so lange


action52champion : Aus praktischer Sicht ist eines wichtig - wie gut das Framework echte Geschäftsprobleme löst. Unter diesem Gesichtspunkt ist es vernünftig, sich für Letzteres zu entscheiden, wenn Sie zwei Frameworks verwenden, die die Probleme auf die gleiche Weise lösen, von denen jedoch eines mehr Gemeinschaft und Ökosystem aufweist. Svelte wurde im Jahr 2016 veröffentlicht. Vue wurde 2014 veröffentlicht. Die Differenz beträgt 2 Jahre. Jene. Svelte könnte alle Fehler von Vue berücksichtigen und der Beste werden, das Publikum und den Markt zurückgewinnen. Aber er ist immer noch die äußerste Marginalität, die hauptsächlich für seine Laudatio-Artikel bekannt ist.

Bevor ich die Frage beantworte, werde ich Ihre Aussage leicht korrigieren. Tatsächlich wurde Svelte 2017 veröffentlicht. Sein Autor, Rich Harris, sprach in seinen „Frameworks ohne Framework: Warum haben wir nicht früher daran gedacht?“ Über ihn. erst Ende 2016.

Darüber hinaus war Svelte 1 eher ein Proof-of-Concept, der mehr als einmal in der Community und in der Kommunikation mit dem Autor diskutiert wurde. Trotzdem war es Svelte 1, das ich beim ersten Projekt mit einem Widget verwendet habe, und für diese Aufgabe hat es perfekt funktioniert. In diesem Moment haben wir weiter über Vue geschrieben und Projekte auf Ractive unterstützt. Das erste mehr oder weniger ernsthafte Projekt wurde bereits auf Svelte 2 entwickelt, dessen Veröffentlichung erst Mitte 2018 erfolgte, worüber ich sofort im entsprechenden Artikel schrieb .

Ich würde sagen, dass ich erst mit der zweiten Version von Svelte angefangen habe, im Prinzip irgendwie voranzukommen. Zuvor haben weder ich noch der Autor oder andere Rüschen aus der Community besondere Versuche unternommen, über ihn zu sprechen. Da Sie also das Jahr berücksichtigen möchten, ist es angemessener, das Veröffentlichungsdatum von Svelte Mitte 2018 zu berücksichtigen.

Einige Wellen in den Kommentaren deuteten darauf hin, dass das Erscheinungsdatum von Svelte das Erscheinen von Svelte 3 ist, das im Allgemeinen erst vor einem Jahr herauskam und in diesem Jahr erstaunliche Ergebnisse erzielte. Zu diesem Thema können Sie sich an Angular und AngularJS erinnern - zwei verschiedene Frameworks unter demselben Namen. Persönlich halte ich all diese Berechnungen für nichts anderes als dummen Populismus.

Vielleicht möchten Sie wissen, warum wir nicht mehr Projekte auf Svelte 1 geschrieben haben, da es so schön war. Die Antwort scheint offensichtlich zu sein - in diesem Moment war es sehr feucht und nur für Projekte wie Widgets geeignet. Ich kann nicht sagen, dass wir es überhaupt aufgegeben haben. Mehrere interne Projekte wurden auch in Svelte 1 geschrieben, und Teile alter Anwendungen wurden auch in Ractive neu geschrieben. Die Komponenten, die die Engpässe bei der Leistung von Virtual DOM darstellten, wurden erfolgreich in Svelte 1 umgeschrieben und in Projekten implementiert, wodurch sich die Leistung dieser Komponenten verdoppelte. Es war auch eine sehr positive Erfahrung.

Über dumme und gierige Frontends


action52champion : Dies gilt insbesondere für diejenigen, die gerade das Frontend betreten. Er fährt oft für Geld. Also: In Svelte gibt es kein Geld. Es gibt auch keine Arbeit daran. Und das Interessanteste - es wird auch keine Erfahrung geben.

Sehr emotionale Formulierung. Aus irgendeinem Grund dachte ich, dass Sie nur einer von denen waren, die „für Geld in das Front-End gezogen sind“, und es scheint ziemlich neu zu sein.

Wenn ich mich irre und Sie ein erfahrenes Frontend sind, dann erinnern Sie sich vielleicht daran, dass die Arbeit für denselben Vue vor ein paar Jahren ebenfalls nicht abgeschlossen wurde. Jobs waren Stück für Stück und boten Entwicklern weniger Geld als React, Angular oder sogar Ember. Gleichzeitig sehen wir jetzt, dass Vue bereits eine würdige Position eingenommen hat. Für Svelte ist es auch unvermeidlich, ob Sie es wollen oder nicht.

Über das Ökosystem


action52champion: « » « , ». , , . ! 2020 — .


Was Svelte und sein Ökosystem betrifft. Es ist sofort erwähnenswert, dass Svelte trotz der scheinbaren Einfachheit und des Minimalismus sofort voll funktionsfähig ist . Als solides UI-Framework verfügt es über absolut alles, was zum Erstellen einer modernen Benutzeroberfläche erforderlich ist. Hier ist ein Diagramm der integrierten Funktionen, die ich für einen meiner Berichte vorbereitet habe:



In React gibt es beispielsweise überhaupt nichts. Obwohl React das beliebteste UI-Framework ist, ist es in Bezug auf die Funktionalität nichts anderes als eine Template-Engine.

Natürlich ist das externe Ökosystem noch viel bescheidener. Svelte verfügt jedoch bereits über eine ziemlich umfangreiche Liste vorgefertigter Lösungen und allerlei Komponentensätze, die Sie hier findenund es bewegt sich in diese Richtung genauso wie andere Frameworks zuvor. Es ist schade, dass Leute wie Sie gedankenlos versuchen, ihm diese Chance zu nehmen. Andererseits erinnere ich mich, wie vor ein paar Jahren alle das gleiche über Vue geschrieben haben und vor ungefähr 6 Jahren über React und nichts, was sie durchbrochen haben. Der Ignorant bleibt immer nur Ignorant.

Über das "Heilige"


action52champion: , , — - . , 3 , . , , , , , . Svelte .

Ich möchte nicht tiefer auf diese Frage eingehen, um niemanden zu beleidigen. Ich kann nur sagen, dass oft dieselbe Reaktion oft genau dafür kritisiert wird, dass sie durch die Besonderheiten der Unternehmensentwicklungsprobleme von Facebook „geschärft“ wird. Es ist verständlich, dass Facebook React in erster Linie für sich selbst macht und nicht alle Entscheidungen, die für Facebook gut sind, gut für Ihre Projekte sind, aber es gibt niemanden, über den man sich beschweren kann.

React ist im Allgemeinen ein gutes Framework, das für viele Projekte geeignet ist, insbesondere wenn Sie eine hervorragende Typescript-Unterstützung benötigen. Aber er ist alles andere als perfekt und er braucht definitiv Alternativen.

Über alle möglichen Dinge


action52champion: , Svelte . JS VueJS, Svelte. Vanilla JS , ? , ? - ? Virtual DOM, ? Write less code? ? , , , Vuejs React - , .

Blitz Frage, ausgezeichnet.

  1. Minimalismus ist erreichbar. Probleme dabei entstehen, wenn ein anderes Prinzip in die Grundlage der Lösung gelegt wird. Zum Beispiel kann Reduh in seiner Essenz aufgrund der Fülle einer darin eingebetteten Kesselplatte nicht minimalistisch sein. Gleichzeitig bleibt Storeon, der im Wesentlichen nach denselben Prinzipien arbeitet, minimalistisch. Im Allgemeinen neigen alle modernen Frameworks dazu, ihre Komponenten als kleinstmögliche Einheiten aufzuteilen. Darüber hinaus müssen Sie wissen, wie Sie den deklarativsten und zustandsgesteuertesten Code schreiben.
  2. Dies ist keine Wahl zwischen Vanilla JS und Svelte. Svelte - das ist Vanilla JS, das Sie nicht schreiben müssen und das um ein Vielfaches einfacher zu warten und zu entwickeln ist.
  3. Typescript + — « », -. . TS. , Vue ? TS ± Svelte.
  4. , Virtual DOM. Svelte , change detection . .
  5. . . React Vue. 1.5 , .
  6. Da Ihnen die Beispiele aus der Svelte-Dokumentation nicht gefallen. Können Sie schwerwiegendere Fälle aus der Dokumentation anderer Frameworks vorschlagen?

Um kurz zu erklären, wie Svelte funktioniert, verwende ich normalerweise diesen Wortlaut:

Mit Svelte können Sie deklarativen Code auf hoher Ebene in die Quellen schreiben, der einfach zu entwickeln und zu warten ist, und imperativen Hochleistungscode auf niedriger Ebene erhalten, der zur Laufzeit einwandfrei funktioniert.



Und dieser Ansatz unterscheidet sich sehr von Vue, bei dem SFC nichts anderes als eine bequemere Möglichkeit ist, Vue.extend zu schreiben.

Über die Gemeinschaft


action52champion : Svelte soll eine große russischsprachige Gemeinschaft haben. Ich sehe ihn nicht, ich sehe nur Evangelisten, von denen jeder für zehn predigt.

Ich bin froh, dass du danach gefragt hast. Die russischsprachige Community wird durch den Hauptchat in Telegrammen ( @sveltejs ), einen separaten Chat für das Sapper-Framework ( @sapperjs ), einen Kanal mit offenen Stellen ( @sveltejs_jobs ) und Nachrichten ( @sveltejs_public ) sowie eine VK-Gruppe ( @sveltejs_ru ) vertreten.
Die Hauptbewegung findet in einem Chat statt, in dem bereits mehr als 1,5.000 Menschen und ein ziemlich schwungvolles Skelett aktiver Kameraden anwesend sind.




Bei unserer ersten Offan-Rallye am 22. Februar in Moskau waren mehr als 170 Personen anwesend, und fast 1.000 Besucher sahen sich die Online-Sendung an. Der nächste Mitap sollte von April bis Mai in St. Petersburg sein, aber die Pandemie nahm Anpassungen an unseren Plänen vor. Ich hoffe, dass bald alles klappt und wir weitermachen. Sie können unsere Meetups auf der offiziellen Seite von Svelte Russian Meetups verfolgen .

Mal sehen, wer sonst noch über Svelte spricht. Hier ist zum Beispiel der angesehene Andrei Melikhov (Devshakhta), der erzählt, wie Yandex.Money Svelte verwendet:



Hier ein wörtliches Zitat von Andrei Sitnik (Autor von PostCSS / Autoprefixer / etc) beim letztjährigen HolyJS Piter :
„Svelte ist offen gesagt die beste Erfindung in der Welt der Javascript-Frameworks. Wir sollten nicht über Haken reden, wir sollten über Svelte reden. “

Und obwohl es höchstwahrscheinlich eine szenische Übertreibung war, geben seine ständigen Tweets und Retweets über Svelte keinen Zweifel an seiner Aufrichtigkeit.



Natürlich habe ich keinen Zweifel daran, dass mein angesehener Interviewer schlauer ist als wir alle ... obwohl nein, ich bezweifle es. Entschuldigung, Gedanken laut.

Pro (NICHT) Bewusstsein


action52champion : Level-Gegenargumente - man konnte Svelte einfach nicht herausfinden - es ist im Allgemeinen jenseits des Humors. Menschen, die mit Winkeln arbeiten und reagieren, können ein wenig einfache Svelte nicht herausfinden? Wahrscheinlich liegt der Punkt hier in Svelte selbst. Oder dass es im Grunde nichts zu verstehen gibt, weil es nichts gibt, was sich lohnt.

Anscheinend habe ich eine ähnliche Frage bereits beantwortet, aber ich bin bereit, sie zu wiederholen, da Sie mir eine solche Gelegenheit gegeben haben. Eines der Probleme, die ich persönlich bei der Förderung von Svelte sehe, ist, dass es den Big Three-Frameworks visuell zu ähnlich ist, obwohl es konzeptionell sehr unterschiedlich ist. Dies war besonders in Svelte 1/2 zu spüren, als Leute in die Community kamen und Kommentare von Habr abgaben und aufrichtig nicht verstanden, wie sich Svelte von Vue unterscheidet. In diesem Moment waren beide Ractive zu ähnlich. Mit der Veröffentlichung von Svelte 3 wurden die Unterschiede größer, aber dies löste das Problem nicht vollständig.

Aus diesem Grund ziehen Menschen, die zu Svelte kommen, am häufigsten dieselben Ansätze wie in anderen Frameworks, ohne zu wissen, dass Svelte elegantere Lösungen für dieselben Probleme anbieten kann. Sie können sich nicht einmal vorstellen, wie viele solcher Fälle wir jeden Tag buchstäblich in unserem Chat betrachten, und die meisten Leute gehen mit dem Kommentar "Wie könnte das gemacht werden?"


Pro (NICHT) Popularität


action52champion: « , 3 ?», . , . 5 , . - , . . , ( ). — , .


Und du bist ein Provokateur! ))) Obwohl viele es als Würde eines Interviewers betrachten würden, denke ich immer noch, dass Sie zumindest ein wenig Verständnis für das Thema haben müssen, um in ihren Provokationen nicht dumm auszusehen.

"Du hast wieder verschlafen, Liebling." (c) Siehe StateOfJS 2018 - Svelte in den Top 1 unter den „anderen Bibliotheken“, und im letzten Jahr 2019 stieg es stetig in den Hauptpool der Frontend-Frameworks ein, während es nach dem Kriterium des „Interesses“ daran führend ist:



Es gibt also Fortschritte. Aber auch angesichts eines absoluten Missverständnisses der einfachen Gesetze des Marktes. Wenn der Markt „leer“ ist, wird er auch als „blauer Ozean“ bezeichnet. Dann ist es einfach, ihn zu besetzen, insbesondere wenn Facebook hinter Ihnen steht. Wenn der Markt wettbewerbsfähig ist (der scharlachrote Ozean), ist der Eintritt viel schwieriger. Daher ist es logisch, dass es im Laufe der Zeit länger dauert, führend zu werden. Dies zeigt jedoch auch das Gegenteil: Wenn Sie in einem hart umkämpften Markt und auch ohne Geld und PR zu einem Marktführer werden könnten, ist Ihr Produkt wirklich wertvoll.

Schauen Sie sich am Ende an, wie viele Frameworks / Bibliotheken / Plattformen / $ mol es gibt und nicht alle auf dem Niveau der Big Three sind. Ja, zumindest haben sie nur einen eigenen Hub für eine beliebte IT-Ressource und heben die benutzerdefinierte Syntax von Github hervor.

Svelte hat das alles schon, aber natürlich nicht nur so, sondern dank der Arbeit der Community. Es ist bereits populär genug, um eine Reihe von Artikeln auf Medium und Dev.to , eine Reihe von Schulungen und anderen Videos auf Youtube und viele aller Arten von vorgefertigten Lösungen zu haben. Machen Sie sich keine Vorwürfe, jeder irrt sich.

Über OSS


action52champion: Svelte . Svelte, , Svelte . , ? , . ? Who's using Svelte?.. - ? , , VueJS ?

Wie wir bereits herausgefunden haben, ist seit 2 Jahren seit Beginn der Popularisierung von Svelte und / oder seit 1 Jahr seit der Veröffentlichung der populären Version viel passiert, daher denke ich, dass diese Frage lautstark ist.

Es ist jedoch wichtig, noch eines zu erwähnen: Svelte ist ein rein gemeinschaftsorientiertes Projekt, und die Gemeinschaft möchte nicht mit einem Unternehmen verbunden und verbunden sein. Erst kürzlich hat jemand aus der Community angefangen, über Patreon für den Autor des Frameworks zu sprechen, aber der Autor selbst hat diese Diskussionen sogar gestoppt. Ich verstehe, dass viele es gewohnt sind, die Vorteile von OSS für nichts zu nutzen und ihnen sogar ihre Geschäftsanforderungen vorzustellen. Tatsächlich schulden Ihnen Leute, die OSS machen, nichts, Liebes, aber viele von uns könnten an OSS-Projekten teilnehmen und nicht dumm Geld mit den Entscheidungen anderer Leute verdienen.

In Bezug auf Svelte helfen uns dieselben „unterschiedlichen“ Unternehmen unterschiedlich. Zum Beispiel hat uns Mail.Ru beim ersten russischen Metapom auf Svelte sehr geholfen. Wir versorgten unser schönes Büro mit Geräten, Keksen und kümmerten uns um die Organisation von Rundfunk und Aufzeichnung. Danke Mail.Ru!

Über die Tatsache, dass


action52champion : Sind Sie sicher, dass das Recht, dieses Framework zu empfehlen, so kategorisch ist? Das Frontend ist ein Bereich, in dem jeden Tag neue Leute ohne Erfahrung kommen. Sie sind nicht in der Lage, das Ausmaß der Unnötigkeit von Svelte einzuschätzen. Sie werden lobende Artikel sehen, in denen kluge Kerle mit einem ernsthaften Blick darüber sprechen, was für eine wunderbare Weiterleitung von Ereignissen, ein Compiler usw. Was aus akademischer Sicht interessant ist, aber nicht aus praktischer Sicht. Sie werden denken, dass es sich lohnt, Kontakt aufzunehmen, sie werden ihre Zeit verbringen und nichts mehr übrig haben. Und wenn Sie Artikelbündel darüber herausgeben, wie wunderbar es ist, auf Svelte etwas Mist zu machen, was auch auf normalen Frameworks möglich ist, fügen Sie Anfängern ein riesiges Schwein hinzu.

Meine Lieblingsfrage! Fast wie eine Kirsche auf einem Kuchen.

Ja, ich bin mir sicher, dass ich im Recht bin und deshalb:

  • Ich weiß wovon ich rede. Ich verwende Svelte in meiner Arbeit und poste Lösungen in OSS.
  • Ich bin der Entscheider für die Wahl der Technologie und verantwortlich für den Erfolg der Projekte.
  • Ich habe etwas zu vergleichen. Zusätzlich zu Svelte habe ich jetzt und in der Vergangenheit Erfahrung mit vielen Frameworks (Backbone, AngularJS, Ractive, Riot, Vue / Nuxt, React, LitElement).
  • Ich kommuniziere viel mit denen, die auch Svelte benutzen und helfe oft denen, die es lernen wollen. Ich höre ihre Probleme und versuche immer Lösungen anzubieten.
  • Ich lese Berichte über Svelte und bin bereit, Fragen inhaltlich zu beantworten.

Vielen Dank, lieber Action-Champion, dass Sie mich eingeladen und mir die Gelegenheit gegeben haben, Ihnen noch einmal von einem so wunderbaren Rahmen wie Svelte zu erzählen! Vielen Dank für Ihre nachdenklichen, gut formulierten Fragen und aufgeworfenen Themen. Alles Gute für Sie und einen schönen Tag!



P / s


Das Interview ist vorbei und jetzt Alaverdi. Und Sie, lieber @ action52champio, sind sicher, dass Sie das Recht haben, für ein Instrument verantwortlich zu sein, das Sie nicht nur nicht benutzt und in Ihren Augen nicht wirklich gesehen haben? Was ist Ihre praktische Erfahrung mit Svelte und hat es überhaupt mindestens eines der Frameworks? Du magst React nicht, du verstehst Vue nicht. Winkelig? Nein, ich denke nicht so.

Es scheint mir, bevor Sie zumindest etwas über eine technische Ressource schreiben, ist es sinnvoll, es richtig herauszufinden und nicht nur die Hubs zu verschmutzen, da Ihr Psychotherapeut die Aufmerksamkeit auf sich zieht. Ruf ihn besser an, du brauchst es.

AKTUALISIEREN:


Ich nutze diese Gelegenheit, um alle zu einem Online-Treffen mit dem Autor von Svelte einzuladen, wo er die interessantesten Fragen beantworten wird, die von der Community gesammelt wurden:
sveltesociety.dev

All Articles