{"id":1311,"date":"2022-05-20T10:27:00","date_gmt":"2022-05-20T10:27:00","guid":{"rendered":"https:\/\/matched.io\/?p=1311"},"modified":"2023-02-10T10:00:24","modified_gmt":"2023-02-10T09:00:24","slug":"multi-tool-program-or-unfitting-for-large-scale-software-development","status":"publish","type":"post","link":"https:\/\/matched.io\/de\/multi-tool-program-or-unfitting-for-large-scale-software-development\/","title":{"rendered":"JavaScript: Multitool-Programm oder ungeeignet f\u00fcr die Entwicklung umfangreicher Software?"},"content":{"rendered":"<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\" id=\"viewer-bc3ri\"><p><strong><br>Hallo zusammen!<\/strong><\/p><\/blockquote>\n\n\n\n<p id=\"viewer-540bd\">Ich bin's, Tanzia! Ich bin zur\u00fcck mit einem neuen Thema. Wenn ihr irgendwie mit Programmierung zu tun habt, ist euch das Wort JavaScript vielleicht ein Begriff. Als ich 2014 anfing, mich mit den Programmiersprachen vertraut zu machen, habe ich anfangs Java und JavaScript verwechselt; sind sie gleich oder verschieden? Worin besteht der Unterschied? Wenn Java gut f\u00fcr Backend ist, wird JavaScript dann nur f\u00fcr das Frontend verwendet? Es gab so viele Verwirrungen zwischen diesen \u00e4hnlichen Namen. Auch wenn du noch nie von JavaScript geh\u00f6rt hast, mach dir keine Sorgen. Ich habe einige Zeit investiert, um den Weg zu JavaScript einzugrenzen &amp; wie in meinem vorherigen Artikel habe ich mit einem Entwickler gesprochen, der seine Zeit daf\u00fcr einsetzt. Lass uns gemeinsam eine Runde durch dieses Thema drehen.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/static.wixstatic.com\/media\/7a3874_2e7a833f7fac4f3f898c1cb8a8c0ac11~mv2.png\/v1\/fill\/w_740,h_423,al_c,q_85,usm_0.66_1.00_0.01,enc_auto\/7a3874_2e7a833f7fac4f3f898c1cb8a8c0ac11~mv2.png\" alt=\"\"\/><\/figure>\n\n\n\n<p id=\"viewer-3pktc\">Bis Anfang der 2000er Jahre war JavaScript eine der am weitesten verbreiteten Programmiersprachen, obwohl viele Leute versuchten, sie zu vermeiden. Die Gr\u00fcnde f\u00fcr die Ablehnung von JavaScript waren vielf\u00e4ltig: Es war extrem langsam, wodurch die Komplexit\u00e4t dessen was man damit erstellen konnte, eingeschr\u00e4nkt wurde. Es gab Probleme mit der browser\u00fcbergreifenden Kompatibilit\u00e4t des Geschriebenen und kein zuverl\u00e4ssiges Vektorgrafik- oder Canvas-System, so dass die Entwickler:innen grafisch nicht viel tun konnten. Die Schnittstelle DOM war schwer zu verstehen, um es freundlich auszudr\u00fccken. Zur gleichen Zeit versuchten eine Reihe anderer Sprachen sich in den Webbrowser einzuf\u00fcgen und scheiterten. Seit den fr\u00fchen 2000er Jahren wird JavaScript zunehmend f\u00fcr die Frontend-Webentwicklung verwendet. Am Backend herrschten Sprachen wie PHP, Python, C++, Java, Ruby und Perl vor. Im Jahr 2009 dachte jemand, dass es eine gute Idee w\u00e4re, JavaScript ins Backend zu verlagern, und Node.Js war geboren.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\" id=\"viewer-biadr\"><p>Die Popularit\u00e4t von JavaScript in der Webentwicklung ist also vor allem ein Ph\u00e4nomen nach 2009. Wahnsinn, wie sich die Dinge ver\u00e4ndert haben!<\/p><\/blockquote>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"viewer-8acfk\">Lohnt es sich, Zeit zu investieren?<strong><\/strong><\/h4>\n\n\n\n<p id=\"viewer-e9qn0\">Aus der Sicht einiger Entwickler:innen ist JavaScript eine faul getippte Sprache, die kein sehr formales Typensystem hat und \u00fcberm\u00e4\u00dfig fehlerverzeihend ist, was eine perfekte Umgebung f\u00fcr Anf\u00e4nger:innen schafft. Das Beste an JavaScript ist, dass es sowohl im Frontend als auch im Backend verwendet werden kann. Es kann f\u00fcr mobile (React Native, Apache Cordova) und Desktop-Entwicklung (Electron) verwendet werden. JavaScript und C++ sind zwei Sprachen, die sich sehr \u00e4hnlich sind und mit denen man die gleichen Dinge machen kann, denn der Code sieht fast gleich aus. Selbst C++ ist in allen Bereichen mindestens zehnmal schneller als JavaScript. Es gibt keinen Streit dar\u00fcber, wer schneller ist. Der einzige Unterschied besteht darin, dass C++ aufgrund seiner Multiparadigmen-Natur und seiner fortgeschritteneren Syntax nicht von allen gesch\u00e4tzt wird. Dein Browser interpretiert alle Dateien, die der Server schickt und JavaScript hilft dir gr\u00f6\u00dftenteils, mit der Website zu interagieren, ohne dass du unbedingt mit dem Server kommunizieren musst. Aus diesem Grund ist JavaScript eine clientseitige Skriptsprache.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/static.wixstatic.com\/media\/7a3874_4dd20352a2664869a79e5c4acdfcc7e9~mv2.png\/v1\/fill\/w_740,h_478,al_c,lg_1,q_85,enc_auto\/7a3874_4dd20352a2664869a79e5c4acdfcc7e9~mv2.png\" alt=\"\"\/><\/figure>\n\n\n\n<p>Source: 2021 Developer Survey &#8211; Stack Overflow<\/p>\n\n\n\n<p id=\"viewer-25kca\">Framework und Bibliothek sind zwei Teile von JavaScript. Wenn du versuchst, Frameworks im Kontext von JavaScript-Frameworks und JavaScript-Bibliotheken zu definieren, kannst du dir das so vorstellen: JavaScript-Bibliotheken sind wie M\u00f6belst\u00fccke, die einem bereits gebauten Haus Stil und Funktion hinzuf\u00fcgen. Frameworks, auf der anderen Seite, sind eine Art von Vorlage, die du verwendest, um das Haus selbst zu bauen.<\/p>\n\n\n\n<p id=\"viewer-cknml\">Trotz seiner enormen Vorteile gibt es eine Menge Nachteile, die die Vorherrschaft von JavaScript in der Frontend-Entwicklung verhindern. Es eignet sich nicht f\u00fcr gro\u00df angelegte Softwareentwicklung, bei der Wartbarkeit und Zuverl\u00e4ssigkeit entscheidend sind, oder f\u00fcr Hochleistungssoftware.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\" id=\"viewer-7tsgg\"><p>Letzte Woche hatte ich ein Treffen mit Mridul Roy, Full-Stack-Entwickler bei der dpa-IT services GmbH. Er hat ein Jahr in der Backend-Entwicklung verbracht, ist dann aber ins Frontend gewechselt und ist nun schon seit \u00fcber f\u00fcnf Jahren in diesem Bereich t\u00e4tig. Wie in meinem vorherigen Artikel habe ich auch hier wieder einen Entwickler befragt, um seine Sichtweise auf die Full-Stack-Entwicklung zu erfahren. Lassen wir ihn sprechen!<\/p><\/blockquote>\n\n\n\n<h5 class=\"wp-block-heading\" id=\"viewer-ck75t\">Bitte nimm dir einen Moment Zeit, um dich vorzustellen.<\/h5>\n\n\n\n<p id=\"viewer-fca7h\">Derzeit bin ich bei der dpa-IT Services GmbH (Deutsche Presse Agentur IT Services GmbH) angestellt, wo ich als Full-Stack-Entwickler in einem Scrum-Team Services &amp; L\u00f6sungen f\u00fcr die Medien- &amp; Kommunikationsbranche entwickle. Dabei vertiefe ich meine Kenntnisse in Vue.js inklusive vue-testing-library, TypeScript &amp; TailwindCSS. Mit Vue.js bin ich f\u00fcr die Planung, Umsetzung und Weiterentwicklung von Anwendungen in wechselnden Projekten verantwortlich. Bei der Umsetzung eines Projektes orientiere ich mich nicht nur an den Anforderungen des Kunden oder Product Owners, sondern auch an meinen eigenen Erwartungen: ein Produkt, das ich selbst nutzen w\u00fcrde, von dessen Features ich \u00fcberzeugt bin &amp; das Spa\u00df macht.<\/p>\n\n\n\n<p id=\"viewer-dqffe\"><strong>Was denkst du \u00fcber die Wahl der Fullstack-Entwicklung? Mit welcher Programmiersprache arbeitest du am liebsten?<\/strong><\/p>\n\n\n\n<p id=\"viewer-d23hg\">Eigentlich habe ich bei der dpa als Junior-Webentwickler angefangen, einige Web-L\u00f6sungen zu implementieren, einschlie\u00dflich einiger Funktionen f\u00fcr E-Paper-Apps (iOS- und Android-Plattformen). Sp\u00e4ter brauchte mein Unternehmen mehr Unterst\u00fctzung im Bereich Kundenservice und so kam ich als App &amp; Service Manager dazu. Aber ich vermisste immer mein Leben als Programmierer und den Spa\u00df daran. Also habe ich meinen Karriereweg zur\u00fcck auf die Schiene des Coding-Lebens ge\u00e4ndert und bin als Fullstack-Entwickler eingestiegen. F\u00fcr Frontend-Entwicklung verwende ich am liebsten Vue.js und f\u00fcr Backend-Entwicklung bevorzuge ich Node.js.<\/p>\n\n\n\n<p id=\"viewer-76nni\"><strong>Wenn ich dich bitte, einige der wichtigsten technischen Begriffe zu nennen, die man als Vue.js-Entwickler:in kennen sollte, welche w\u00e4ren das?<\/strong><\/p>\n\n\n\n<p id=\"viewer-49bno\">Vue.js ist ein progressives JavaScript-Framework. Es ist flexibel und bietet eine reibungslose Integration in JavaScript-Projekte. Es erlaubt den Entwicklern auch, Vorlagen in HTML und JavaScript zu schreiben und zu erstellen. Ein weiterer Grund, sich f\u00fcr Vue.js zu entscheiden, ist seine Einfachheit. Es hat auch Advanced CLI, die Ger\u00fcstbau von Projekten viel schneller bietet.<\/p>\n\n\n\n<p id=\"viewer-e0nft\"><strong>Was gef\u00e4llt dir an Vue.js? Gibt es aus deiner Sicht irgendwelche Einschr\u00e4nkungen?<\/strong><\/p>\n\n\n\n<p id=\"viewer-984bi\">Was mir am meisten am Vue.js-Framework gef\u00e4llt, ist dieKombination aus einigen der erstaunlichsten Funktionen der Frameworks React und Angular. Die Entwickler k\u00f6nnen mit einem Framework arbeiten, das auf einem einseitigen Datenfluss basiert und der komponentenbasierten Methode folgt, genau wie React.js. Au\u00dferdem k\u00f6nnen sie mit demselben Framework arbeiten, das Vorlagen mit einer einfacheren Syntax als Angular bietet. Allerdings hat es auch einige Einschr\u00e4nkungen.<strong> <\/strong>Es ist nicht skalierbar und daher nicht f\u00fcr gro\u00dfe Projekte geeignet.<\/p>\n\n\n\n<p id=\"viewer-a4tc0\"><strong>Wenn ich wissen m\u00f6chte, ob du etwas an dem Framework, an dem du arbeitest, \u00e4ndern willst, was w\u00e4re das?<\/strong><\/p>\n\n\n\n<p id=\"viewer-1q4a7\" class=\" translation-block\">Vue.js hat einen Mangel an weit verbreiteten und aktualisierten Plugins. Vue.js hat viel weniger Plugins im Vergleich zu Angular oder React. Dieser Aspekt ist wichtig zu beachten, da Entwickler sich nicht vollst\u00e4ndig auf Vue.js verlassen k\u00f6nnen, da es an h\u00e4ufig verwendeten Plugins mangelt. Um Hilfe zu bekommen, m\u00fcssen die Entwickler st\u00e4ndig auf andere Sprachen ausweichen.<\/p>\n\n\n\n<p id=\"viewer-da3eg\"><strong>Was sind die Dinge, auf die ein:e Entwickler:in achten sollte, wenn er oder sie als Full-Stack-Entwickler:in arbeitet?<\/strong><\/p>\n\n\n\n<p id=\"viewer-4de3n\">Manchmal ist es schwierig, sich \u00fcber die neuen Versionen des Frameworks oder der Bibliothek auf dem Laufenden zu halten. Daher w\u00e4re es gut, wenn der Entwickler sich an ein \u00d6kosystem h\u00e4lt.<\/p>\n\n\n\n<p id=\"viewer-1ar1r\"><strong>Was ist dein Zukunftsplan mit dieser Sprache? M\u00f6chtest du weiterhin mit dieser Sprache arbeiten oder hast du vor, zu einer anderen zu wechseln?<\/strong><\/p>\n\n\n\n<p id=\"viewer-c183q\">Derzeit arbeite ich mit der Version 3.0 des Vue.js-Frameworks, das die Composition-API-Funktionen einf\u00fchrt und mit dem ich sehr zufrieden bin. Ich w\u00fcrde gerne weiter daran arbeiten und mich zus\u00e4tzlich auf ein anderes Framework \"JEST\" konzentrieren. Ich bin auch daran interessiert, in naher Zukunft mit dem 'NUXT' Framework zu arbeiten, das auf Vue.js basiert.<\/p>\n\n\n\n<p id=\"viewer-e6kdk\">Ende des Interviews<\/p>\n\n\n\n<p id=\"viewer-117vd\">F\u00fcr die Frontend-Webentwicklung ist JavaScript so etwas wie ein Multitool mit Programmierfunktionen, mit dem sich eine Vielzahl von Problemen l\u00f6sen l\u00e4sst. Es ist so ziemlich die einzige Sprache, mit der man richtige Webseiten erstellen kann. Ich bin zwar kein JavaScript-Profi, aber dennoch w\u00fcrde ich die Sprache nicht f\u00fcr den Einsatz au\u00dferhalb des Webs empfehlen. TypeScript ist eine viel \"anst\u00e4ndigere\" Alternative zu JavaScript. matched.io ist k\u00fcrzlich von JavaScript auf TypeScript umgestiegen, da TypeScript auf jede Javascript-Version abzielen kann, die ein:e Entwickler:in m\u00f6chte (ES2015, ES2016, ESNext, etc.), und es einfach ist, Tippfehler abzufangen. Au\u00dferdem erm\u00f6glicht TypeScript eine bessere und pr\u00e4zisere Autovervollst\u00e4ndigung\/Intellisense\/Codevervollst\u00e4ndigung. Also, wenn jemand interessiert ist, probiere  es aus!<\/p>\n\n\n\n<p id=\"viewer-7ehqo\">Nicht zuletzt m\u00f6chte ich Herrn Roy daf\u00fcr danken, dass er seine Sichtweise und seine Erfahrungen mit uns geteilt hat!<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\" id=\"viewer-5imv8\"><p><em>Bis dahin, viel Spa\u00df beim Programmieren!<\/em><\/p><\/blockquote>","protected":false},"excerpt":{"rendered":"<p>Hello there! It\u2019s me, Tanzia, who came here again to introduce you to another topic. If you are somehow connected to programming, you might be familiar with the word JavaScript. When I started making myself familiar with the programming languages around 2014, at first I used to get confused between Java &amp; JavaScript; are they [&hellip;]<\/p>","protected":false},"author":7,"featured_media":1312,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[18],"tags":[],"class_list":["post-1311","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog"],"aioseo_notices":[],"authors":[],"_links":{"self":[{"href":"https:\/\/matched.io\/de\/wp-json\/wp\/v2\/posts\/1311","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/matched.io\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/matched.io\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/matched.io\/de\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/matched.io\/de\/wp-json\/wp\/v2\/comments?post=1311"}],"version-history":[{"count":0,"href":"https:\/\/matched.io\/de\/wp-json\/wp\/v2\/posts\/1311\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/matched.io\/de\/wp-json\/wp\/v2\/media\/1312"}],"wp:attachment":[{"href":"https:\/\/matched.io\/de\/wp-json\/wp\/v2\/media?parent=1311"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/matched.io\/de\/wp-json\/wp\/v2\/categories?post=1311"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/matched.io\/de\/wp-json\/wp\/v2\/tags?post=1311"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}