Entwicklertreffen vom 20.02.2017

Entwicklertreffen Übersicht




Zusammenfassung

Im Folgenden findet man das Protokoll zum Entwicklertreffen vom 20.02.2017.

Unter anderem hat TobyB seinen neuen Blog vorgestellt. Außerdem wurden wieder viele Dinge diskutiert.

Protokoll

IgelchenM: Servus zusammen! - schön, dass ihr heute wieder hier seid um bei der heutigen Entwicklerrunde mit dabei zu sein.

IgelchenM: Wie bereits in meiner Einladung geschrieben, hat TobyB angefangen eine Wochenserie zum Thema TypeScript zu schreiben. Wenn ihr Fragen bezüglich TypeScript habt, könnt ihr jetzt die Gunst der Stunde nutzen und Toby Fragen stellen was das Zeug hält

lmo2O14: ironist, hattest du dir mal das angesehn was ich gebastelt hatte?

TobyB: Meine Serie fängt übrigens nur mit TypeScript an. Letztendlich gehts darum ein komplettes Setup einzurichten um Client und Server mit Hilfe von TypeScript und anderen modernen (Web) Techniken zu schreiben und zu deployen.

SchlechteOnkelz: schick. mir würds schon reichen wenn der dev-server wieder debug meldungen sendet

lmo2O14: na das werd ich dann mal aufmerksam verfolgen

IgelchenM: Kommen wir aber zu euren Fragen. TobyB, Blue225 und Dean & Sam Winchester, habt ihr Fragen zum Thema TypeScript oder User Apps mitgebracht?

Blue225: ne alles gut

TobyB: Wer hat denn meinen Blog schon gelesen?

Kev777: blog?

lmo2O14: ich

IgelchenM: -meld-

Kev777: um was gehts da?

TobyB: https://blog.knuddels.de/2017/02/18/besser-userapps-entwickeln-schreibe-deine-app-mit-typescript/

TobyB: Hilfts euch wenn ich kurz den Fahrplan der Serie erkläre?

Kev777: ah. wird da auch erklärt wieso typescript geiler als javascript sein soll? ^^ hab mich damit nicht weiter auseinander gesetzt und check daher nicht was da so cool dran sein soll.

TobyB: Vielleicht wirds dann für mehr Leute interessanter.

TobyB: Kev777 ja, darauf geh ich ein!

SchlechteOnkelz: typescript ist voll toll musste ich feststellen

TobyB: TypeScript ist der Hammer.

SchlechteOnkelz: und das von microsoft *duck*

SchlechteOnkelz: weil er zeigt dir direkt an wenn du was falsch machst

TobyB: ich zitiere:

IgelchenM: Dann sag doch mal, wie dein Fahrplan bezüglich TypeScript und deiner Wochen oder bald sogar Jahresserie sein wird ?

SchlechteOnkelz: und am schluss compilen und fertig

lmo2O14: weil halt von ms und nicht von apple

TobyB: TypeScript erweitert JavaScript auch um viele sehr nützliche Features, die es erst in sehr neuen Definitionen des ECMAScript Standards gibt, oder noch nicht mal dort. Beispiele wären hier z. B.: Type Inference, Type Erasure, Interfaces, Enumerated Types, Mixin, Generics (ich liebe sie!) und z. B. Namespaces. Features die TypeScript besitzt, die es aber auch in sehr aktuellen ECMAScript-Standards gibt sind z. B. Classes, Modules, “arrow”-Functions, Variable Block-Scoping mit “const” und “let”, Template-Strings, async/await und Optional und Default Parameters.

TobyB: Wer C# oder Java kennt wird TyperScript lieben.

Blue225: TobyB kannst du nicht mal so ne einfache App aus dem Tutorial nehmen und mit TypeScript schreiben? Damit man mal nen vergleich hat?

Kev777: klingt schicki. dann werde ich mir den blog da mal reinziehen.

TobyB: >Blue225: ich werde im zweiten Teil der Serie eine eigene Dummy App auf GitHub veröffentlichen.

IgelchenM: Pudding, Kuh x und Piet1987 - Sitzt ihr aktuell an einer User App und braucht Hilfe?

TobyB: >Blue225: inklusive allem drum und dran das man braucht.

Kev777: bin ich gespannt @TobyB

TobyB: Ok, dann ein paar kurze Infos zum Rest der Serie:

Pudding: >IgelchenM:Ich habe keine Fragen

Piet1987: Danke ich auch nicht

IgelchenM: alles Klar, dann gehts jetzt weiter mit Niveauvoll, Ironist und mikasapikaa. Woran sitzt ihr aktuell und wobei könnte man Unklarheiten beseitigen?

TobyB:
Teil 1: TypeScript (schon im Blog)
Teil 2: Deine erste App mit TypeScript (inkl. allen Sourcen/Configs zum clone auf GitHub)
Teil 3: React - Moderne Web Clients (Erklärung was React ist und warum das geil ist)
Teil 4: Dummy App in React (inkl. allen Sourcen/Configs zum clone auf GitHub)
Teil 5: Alles aus Teil 1-4 zusammen in einer App (inkl. aller Sourcen/Configs zum clone auf GitHub)

Kev777: klingt sehr komprimiert das alles in 5 teile stecken zu wollen. :o

TobyB: jaaaaaaaaaaaaa.

TobyB: aber ich will halt nicht blog #234345 üder React machen oder so. :D

Kev777: wieso nicht, wenn der dann besser als alle anderen ist? :D

TobyB: ich werde aber, wie jetzt auch, massig querverweise auf gute resourcen, blogs und dokus einbauen. wer mehr wissen iwll kann da dann weiterlesen.

TobyB: >Kev777: ich hab aber auch nur begrenzt zeit. ich hab für den aktuellen stand schon 20 arbeitsstunden investiert. :D

SchnelleSchnalle: react würde ich auch nutzen wenns net von facebook wär

SchnelleSchnalle: hat spaß gemacht das mal zu nutzen vor einer weile

TobyB: Ich bin auch kein Facebook Fan, aber React ist geil. Da geht nichts dran vorbei.

IgelchenM: Wenn keine Fragen kommen, gehts weiter mit lmo2O14, Ququknife und RigoSH. Sitzt ihr aktuell an einer User App und/oder habt Fragen dazu mitgebracht?

lmo2O14: braucht man bei typescript noch jquerry bzw. ist es sinnvoll

TobyB: Ich bin aber selbst mal gespannt, wie ich das alles umgesetzt und in den Blog gequetscht bekomme. :D

IgelchenM: das bekommst schon hin Toby, im Zweifel helfe ich beim quetschen

TobyB: lmo2O14 TypeScript und jQuery haben nichts miteinander zu tun. Aber mit React (Teil 3 & 4) brauchst du dann auch kein jQuery mehr.

TobyB: Man braucht auch heutzutage schon für nichts mehr jQuery.

Ququknife: ich habe eine Frage bzw 2 1. Frage wäre, ich lade Daten in die Persistence und bei Appneustart ist die persistence plötzlich wieder leer, was muss ich da tun dass es bleibt?

SchlechteOnkelz: << nutzt NOCH jquery

TobyB: Alles was jQuery einem früher mal an Vorteilen gebracht hat kann jetzt jeder relevante Browser schon von Haus aus. jQuery ist nur ein riesiger Haufen Balast.

IgelchenM: @Ququknife - alles was in eine Persistence gespeichert wird, bleibt dort auch gespeichert, solang es nicht gelöscht wird. Rufst du eventuell die Persistence falsch auf?

lmo2O14: die frage ist halt wie die browserhersteller es halt umsetzen.

Ququknife: inwiefern falsch?

TobyB: für mich ist jQuery hauptsächlich eine riesige überflüssige Bibliothek, die deine App z. B. auf Android Handys teilweise mehrere Sekunden langsamer laden lässt, unter gewissen Umständen.

IgelchenM: nehmen wir mal das Beispiel du speicherst etwas in die AppPersistence KnuddelsServer.getPersistence().setNumber('hallo',1); - ist das gespeichert. wenn du es aber mit KnuddelsServer.getPersistence().getNumber('Hallo'); abrufen willst, ist dort kein Wert vorhanden, weil du bei hallo gespeichert hast - jetzt aber Hallo aufrufst.

TobyB: lmo2O14 Wie meinst du das? Alles was jetzt jQuery überflüssig gemacht hat sind Web-Standards. Die werden per Spezifikation in jedem Browser exakt gleich umgesetzt.

SchnelleSchnalle: jQuery nutz ich nicht, finde es teilweise erschreckend wieviele entwickler ohne jQuery nichtmal mehr ein request hinbekommen, bei uns in der firma selbst einer der sich senior web frontent dev schimpft bekommt die einfachsten sachen nicht hin ohne $

TobyB: bspw ist $('#root') ohne jQuery dann document.querySelector('#root')

SchlechteOnkelz: Der ist halt Senior schnalle xD

SchnelleSchnalle: >SchlechteOnkelz:xD senior im sinne von senil? =>

Ququknife: ähm nein in der hinsicht stimmt alles

Kev777: Ququknife kann auch sein das du bei onAppStart irgendwie die werte in der persistence wieder platt machst?

SchlechteOnkelz: Senil und nicht auf dem Stand der Technik.

IgelchenM: Dann benötigen wir die Stelle, bei dem du die Sachen einspeicherst als Auszug und die Stelle, an der du die Werte geladen haben möchtest

SchnelleSchnalle: und inzwischen ist ja selbst microsoft edge ziemlich gut was das alles angeht, teilweise sogar fitter als firefox *anmerk*

SchlechteOnkelz: Da sind die Leute die sagen: das ging früher so, das geht jetzt auch noch so

Ququknife: ich meine nicht wenn ich wieder in den channel gehe und die app wieder aufgerufen wird, denn soweit bleibt alles drin wenn ich ein update mache dann ist es leider weg

SchnelleSchnalle: >SchlechteOnkelz:das sind auch die leute die noch auf PHP/SQL hängenbleiben, wärend irgendwie bei den stellengesuchen fast nurnoch nodeJS und mongoDB gesucht wird

IgelchenM: ohne Ausschnitte aus deinem Code ist das schwer zu beantworten @Ququknife

TobyB: vor vielen vielen Jahren war das was jQuery unter der Haube gemacht hat auch schwarze Magie für mich. SchnelleSchnalle: das ist auch ok tobyB aber irgendwann kommt ja mal der punkt wo man das auch gern mal selber handlen möchte, vorallem weil jQuery einfach nen performance killer ist

TobyB: richtig!

SchnelleSchnalle: ähnlich auch mit der _. geschichte, teilweise auch nen performance mörder aber eben auch unngemein praktisch

Kev777:

document.querySelector('
root') oder $('
root')
r , als fauler entwickler weiß ich schon was ich nehme... :D

lmo2O14: das stimmt wohl

TobyB: ich hab letztes jahr hier ne riesige Bibliothek intern von jQuery befreit. Gott war das ne Erleichterung. :D

IgelchenM: *überlegt sich ob ich zu dem Zeitpunkt da war oder nicht*

TobyB: Kev, wenn du die richtige IDE hast ist das genau gleich viel zum tippen.

TobyB: und "weniger tippen" ist eine denkbar schlechte Metrik. ;)

IgelchenM: Wärend Ququknife die Zeilen Code raussucht, machen wir mal weiter mit Kev777, Sunnyboyy17 und SchnelleSchnalle. Habt ihr Fragen mitgebracht?

Kev777: für knuddels apps reicht mir das so ^^

SchnelleSchnalle: ja das is teilweise das problem, das viele entwickler faul sind, wenn man mal einen core2 duo nutzt zum surfen spackt auf jeder 3tten seite der browser total ab weil alle diese unperformanten dinger benutzen und es nur auf ihren mid to high end kisten austesten

SchnelleSchnalle: >IgelchenM:heute nicht alles gut^^ danke

TobyB: Dann ist auch TypeScript nix für dich, Kev. Da musst du viel mehr boilerplate schreiben als mit JavaScript.

Kev777: core2 duo nutzer sind nicht meine zielgruppe...ihr problem wenn was nicht klappt

Kev777: hmmm, na vielleicht kann mich dein blog ja überzeugen ^^

IgelchenM: @mikasapikaa -

IgelchenM: alles Klar, dann gehts jetzt weiter mit Niveauvoll, Ironist und mikasapikaa. Woran sitzt ihr aktuell und wobei könnte man Unklarheiten beseitigen?

mikasapikaa: hab aber nix - war ne woche in dortmund im urlaub

TobyB: Ich hoffs. Aber die wirklichen Vorteile zeigen sich erst über Zeit und wenn man mal ein paar Wochen damit arbeitet. Aber dann will man nie wieder aufhören.

SchnelleSchnalle: Kev777: da freut sich dein chef aber wenn du erstmal halb süd und osteuropa und nen haufen sonstiger aus euren webservices auschliest

IgelchenM: und in 3 Jahren sehen wir uns hier wieder, und dann schreibt Toby über was neues und TypeScript ist dann der Performance-Killer

Kev777: SchnelleSchnalle wie gesagt, nicht meine zielgruppe

TobyB: >IgelchenM: Quatsch. TypeScript läuft ja gar nicht im Browser, das wird ja zu JavaScript transpiliert. :p

SchnelleSchnalle: die frage ist wie gut der transpiler ist

TobyB: Der ist gut. ;)

Kev777: microsoft kann ja doch irgendwie n bissel was...hab ich mal gehört ^^

IgelchenM: So, dann sind die letzten in der Runde dran. Ich sach mal und SchlechteOnkelz - Fragen mitgebracht ?

TobyB: Die können ne ganze Menge.

IgelchenM: aber keine Smartphones!

lmo2O14: in 3 jaren kann man dan asm in web einbinden wegen performance

Kev777: c# ist ja nun auch net soooo schlecht wie alle immer behaupten

TobyB: Und seit einigen Monaten zeigen sie das auch und machen viele geile sachen Open Source.

SchnelleSchnalle: also ich hab auch mal typescript probiert, weil ich in meiner anfangszeit mit javascript irgendwie javascript komisch fand (kahm aus der c / c++ und auch c ecke)

Kev777: ja das find ich auch schick das sie langsam Open Source mitmachen

SchlechteOnkelz: Außer das ich mir wieder debug nachrichten aufm dev wünsche, ist alles tutti

IgelchenM: wb Tiinchenx+-+ - hast du Fragen zum Thema User Apps mitgebracht?

SchnelleSchnalle: aber inzwischen seh ich kaum ein das ich für die kleinen projekte die man hier so schreibt sich dem ganzen object orientierten paradigmen wieder unterwerfen sollte xD

Ququknife:
var persistence = KnuddelsServer.getPersistence().getObject('TimeStamp', null);
if (persistence == null) {
var OnlineMinutes = [];
KnuddelsServer.getPersistence().setObject('TimeStamp', OnlineMinutes);
}

TobyB: Achja: Ich weiß selbst nicht obs schon passiert ist, aber das TypeScript Transpilat läuft aktuell nur auf dem Dev-Server. Aber ich denke das Update für Live wird bald kommen.

TobyB: Es gab da nen Bug im AppServer den ich gefunden hab *hust*

SchnelleSchnalle: der server kann glaub ich nur ecma 5

Ququknife: hier prüf ich ob schon was drinn ist wenn nicht dann soll sie gefüllt werden

SchnelleSchnalle: vllt liegt es ja daran :> war für mich ungewohnt XD

TobyB: Und durch meine Arbeiten haben wir diverse Bugs/Ungereimtheiten in den Docs gefixt.

TobyB: SchnelleSchnalle ja, ES5. Aber das war nicht das Problem. Es gab nen Problem mit der Prototype-Chain.

TobyB: Achja. Wer unsere API in TypeScript sehen will kann hier gucken: https://developer.knuddels.de/docs/UserApps-API.d.ts

TobyB: In dieser Datei stecken ca. 10-15 der 20 Stunden Arbeit bisher.

Kev777: wann steigen wir im browser auf bytecode um TobyB ?

SchnelleSchnalle: is das nich bei chrome @ v8 compiler schon passiert?

lmo2O14: richtiger oder ala java?

Ich sach mal: TobyB ich kann das nicht öffnen.. was brauch ich dazu ?

TobyB: lmo2O14 richtiger Bytecode. WebAssembly heißt das Feature.

TobyB: >Ich sach mal: einen beliebigen Editor.

Ich sach mal: ah.. danke

lmo2O14: wie geht das bei den verschiedenen cpu architeturen?

SchnelleSchnalle: deswegen ists ja bytecode

SchnelleSchnalle: und kein asm

TobyB: lmo2O14 Das ist das Problem der Browserhersteller.

Kev777: Visual Studio wäre ganz hilfreich um es zu nutzen glaube ich @Ich sach mal

Ich sach mal: das ist ja ganz anderst aufgebaut ..

TobyB:

https://webassembly.org/
https://hacks.mozilla.org/2016/10/webassembly-browser-preview/
https://en.wikipedia.org/wiki/WebAssembly

TobyB: >Ich sach mal: Das ist eine andere Programmiersprache, ums mal vereinfacht zu formulieren.

lmo2O14: bin mim tab on, werds morgen mal gurgeln

Kev777: IgelchenM knuddel kaufen auf android geht ja schon, wann kommt /appknuddel für android nu endlich mal? ^^

TobyB: lmo2O14 WebAssembly or wasm is an experimental efficient low-level programming language for in-browser client-side scripting, which is currently in development. Its initial aim is to support compilation from C and C++,[1] though other source languages such as Rust are also supported.

IgelchenM: Die arbeiten dafür wurden begonnen @kev

Kev777: ja ich weiß, vor 2 wochen ^^

Ich sach mal: ja hab ich mir gedacht TobyB .. ich schau mir das mal an.. bei youtube .. vileicht ist das was für mich.. danke

IgelchenM: Jeep and Doge <3 und Aluminiumminimalimmunität - habt ihr Fragen zum Thema User Apps mitgebracht?

Aluminiumminimalimmunität: nein

Jeep and Doge <3: Nein, haben wir nicht.

lmo2O14: ich denk mit dabei nur, wieder 10 türe geöffnet, über die viernen verbreitet werden können.

TobyB: Was haltet ihr denn von der Idee die (ich glaube) Blue225 hatte, dass ich mal eine der Einsteiger-Apps aus dem Wiki in TyprScript umschreibe?

lmo2O14: supi

Blue225: finds gut :o

TobyB: Welche solls sein?

Ich sach mal: mit html?

Blue225: da fehlt noch alle

Kev777: lmo2O14 wenns danach geht schaffen wir lieber wieder alle aktiven inhalte in browser ab und beschränken uns auf text in bunt anzeigen ;)

lmo2O14: btw. igelchenm was ist aus dem gedankenspiel mit reales geld in userchannel

James:

20.02.2017 20:49:15:
11 / 14 Stimmen abgegeben
Was soll TobyB mit TypeScript realiseren?

alte User App in TypeScript umwandeln 18,18 %
neue User App mit TypeScript erstellen 27,27 %
Beides! 54,55 %

IgelchenM: das war nur ein Gedankengang

SchnelleSchnalle: haha beides :D

Kev777: Beides! 54,55 % muhahahaaa.

TobyB: Hab selbst Beides geklickt. :D

SchnelleSchnalle: reales geld ist doch indirket durch die knuddels vorhanden sozusagen

TobyB: meine neu geschriebene App hab ich ja schon fertig.

IgelchenM: na dann hält sich der Aufwand in Grenzen

IgelchenM: So, wenn weiter keine Fragen mehr vorhanden sind, werde ich jetzt offline gehen und wünsche einen schönen Restabend

IgelchenM: Wir sehen uns, sofern möglich nächste Woche um 20 Uhr wieder



>>> James, TobyB, Blue225, Pudding, Piet1987, Niveauvoll, mikasapikaa, lmo2O14, Kev777, Sunnyboyy17, SchnelleSchnalle, Ich sach mal, Ququknife, Jeep and Doge <3, Aluminiumminimalimmunität sind wohl kuschelbedürftig und werden von IgelchenM durchgeknuddelt.