Giter Club home page Giter Club logo

karopapier's Introduction

Github stats Most used languages

karopapier's People

Contributors

benediktmagnus avatar lordjimbeam avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

karopapier's Issues

jQuery benutzen

Ich denke nicht dass das Projekt zu klein für jQuery ist. Es ist sicherlich zu klein um irgendein vollständiges Framework wie Angular, React oder Ember zu verwenden. Aber jQuery bringt dir eine kleine Toolbox an Kram der dir die Arbeit erleichtern kann. Beispiele dafür bzw. wie man das dann in Plain JS macht sind unter
http://youmightnotneedjquery.com/ zu finden.

Vielleicht liegt es auch an der Herangehensweise, aber ich mache viele visual changes indem ich Klassen an Elemente hänge und wieder wegnehme, und allein dafür ist es einfach viel aufgeräumter:

$(el).addClass(className);

vs.

if(el.classList)
  el.classList.add(className);
else
  el.className += ' ' + className;

Klasse entfernen analog. Außerdem ist es deutlich Robuster als Plain JS was verschiedene Browser-Verhalten angeht. Das ist mir persönlich die 68KB extra (die in vielen Fällen vom Browser sowieso schon gecached sind) wert.

Natürlich ist das nicht lebensnotwendig und ich würde gern Argumente dagegen hören.

WebSocket Messages sollten in jedem Fall das gleiche Verhalten zeigen

Was ich meine ist dass eine Message die potentiell eine Antwort geben könnte das auch immer tun sollte:

    socket.on('KarteHolen', function (KarteGeben)
        {
            let Karte = socket.Karte;
            if (Karte == undefined) return;
            
            KarteGeben(KarteSerialisieren(Karte));
        }
    );

Wenn vorher kein KarteSetzen aufgerufen wurde (durch Programmierfehler o.Ä.) oder eine Karte angefragt wurde die nicht existiert dann kommt da einfach gar nichts zurück. Das macht es schwierig zu entscheiden ob der Server einfach lange braucht zum Antworten oder ein Fehler aufgetreten ist.

Minifying mit echten Buildprozess

Auch wenn das Minifying jetzt automatisch passiert wenn man die Applikation startet halte ich es doch für schlechten Stil das zu tun. Dadurch sind Runtime-Dependencies nötig die auch bequem Dev-Dependencies sein könnten (clean-css, html-minifier, uglify-es). Die Alternative wäre es einen Buildprozess mit Grunt/Gulp/Webpack/Rollup/etc. aufzusetzen und den "Build" komplett außerhalb der Applikation zu haben. scripts/Kompressor.js könnte dann weg und der selbe Effekt wäre durch eine einfache JSON-Datei erzielt anstatt 150 LOC dafür zu haben die man dann auch noch warten muss.

Statische Palette und Malen durch Mausklick

Wenn wir die Palette statisch irgendwo zum Beispiel oben platzieren würden, dann könnte man quasi ein Malen ermöglichen, zum Beispiel Paint.
Die Malreihenfolge wäre dann:

  1. Selektieren, des Objekts
  2. Maus drücken (links) und gedrückt halten
  3. Maus bewegen, dabei malt man

Vielleicht kann man das auch anpassen, z.B. über Settings

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.