Moderne Webentwicklung
Der ägyptische Markt für Softwareentwicklung leidet im Vergleich zum internationalen Markt unter einem Mangel an Fachkräften. In diesem Kurs behandeln wir die neuesten Praktiken der stabilen Softwareentwicklung, Projektarchitektur, Designmuster und Technologie im Bereich der Webentwicklung.
Dieser Kurs richtet sich an diejenigen, die eine Karriere in der Softwareentwicklung anstreben oder einen kostengünstigen MVP für ein Startup erstellen möchten. Nach diesem Kurs sollten Sie mit dem aktuellen Stand der Technik vertraut sein und in der Lage sein, fundierte Entscheidungen über Ihren Entwicklungs-Stack zu treffen.
Die Struktur dieses Kurses basiert größtenteils auf der Vorstellung, dass unerfahrene Entwickler mit der Einführung von Frameworks und der Verwendung von Bibliotheken beginnen, ohne kritisch darüber nachzudenken, ob dieses Tool für den Job geeignet ist.
Kursablauf
- Dieser Kurs besteht aus 13 Sitzungen
- Jede Sitzung besteht aus zwei Teilen: Übung und Diskussion
- Während der Übung lösen Sie die Kursaufgabe
- Im Gespräch besprechen wir die nächste Aufgabe
- Alle besprochenen Konzepte werden in den Aufgaben dokumentiert
- Ich werde Konzepte erklären, die unklar sind
- Nach jeder Sitzung werde ich das Kursmaterial entsprechend unserem Fortschritt aktualisieren.
- Die Aufgaben werden jeweils mit 10 % bewertet, weil ich Sie für etwas benoten muss.
- Die Noten werden nach Abschluss vergeben (von mir als abgeschlossen erachtet).
- Die Aufgaben werden während der Sitzungen bewertet.
- Je nach Abschlussniveau können Teilnoten vergeben werden.
- Berücksichtigt werden die besten 10 Aufgaben
- Lesen Sie die Aufgabe vorzugsweise vor der Sitzung oder beginnen Sie mit der Lösung.
- Sollten Sie nicht in der Lage sein, die Aufgabe zu erledigen, kann Ihnen die Erlaubnis erteilt werden, sie vor dem nächsten Übungstermin zu erledigen.
- Die erste Sitzung ist eine reine Diskussionssitzung.
- Die letzte Sitzung ist eine reine Aufgabensitzung.
- Am Ende des Kurses sollten wir alle Pizza essen.
Sie werden brauchen
- Ein Laptop mit einer Bash-Shell (Unix-basiertes Betriebssystem oder Windows 10 mit Ubuntu-Terminal)
- Ein moderner Browser, z. B. das neueste Google Chrome
- Internet
- NodeJS
- Git
- Texteditor wie Atom
Kurssitzungen
In diesem Kurs stellen wir vor
1. Webanwendungsverlauf
In dieser Sitzung werden wir über die bestehende Landschaft der Dinge sprechen, die ein Entwickler lernen kann, und darüber, was wir in diesem Kurs behandeln werden.
- Erwartungen an den Kurs festlegen.
- Die Probleme, die wir lösen werden.
- Webanwendungsverlauf.
- Einrichten eines ES6-Projekts mit Babel und Node
- Webpack
Aufgabe für das nächste Mal
- Erstellen Sie eine einfache Webanwendung ohne Bibliotheken
- Die grundlegenden Probleme, mit denen wir konfrontiert sind
- Teilen Sie den Code in separate Dateien auf
- OOCSS und BEM
2. Leben einer modernen Anwendung: Daten rendern Ansicht
In dieser Sitzung beginnen wir mit einer Zusammenfassung der grundlegenden Javascript-Funktionen und gehen die Konzepte der funktionalen Programmierung durch.
- Flexbox
- es6-Funktionsvorlagenzeichenfolgen
- Komponenten, die Daten in HTML rendern
Aufgabe für das nächste Mal
- Vollständiger Rendering-Code in HTML
3. Leben einer modernen Anwendung: Aktionen aktualisieren Daten
- DOM-Ereignisse
- Umfang unseres Codes
- Ereignisbasierte Programmierung mit dem Observer Pattern
Aufgabe für das nächste Mal
- Flux-Architektur (Daten nach unten, Aktion nach oben)
4. Leben einer modernen Anwendung: Testen
- Unit-Testing-HTML-Rendering
- Reine Funktionen
- Staatsladen
- Mocks und Stubs
- Abhängigkeitsinjektion
Aufgabe für das nächste Mal
- Testen unserer Renderfunktionen
- Testen Sie unsere Aktionsdisponenten
- Testen Sie unsere Aktionen, die den Laden verändern
5. Leben einer modernen Anwendung: Ansichten lösen Ereignisse aus
- NodeJS: Module
- Build-Tools: Schluck
- Rendern eines virtuellen Doms
- Ausführen unserer Testaufgabe
- browserify
Aufgabe für das nächste Mal
- Entwickeln Sie eine neue Art von Aufgabenelement namens Zähler
- Aufgabenelemente können jetzt bearbeitet werden
6. Leben einer modernen Anwendung: Asynchroner Code
- Die Javascript-Ereignisschleife
- Versprechen mit fetch
- Erstellen eines einfachen REST-Servers mit Express
- Steckdosen
- Asynchron
- Reaktive Programmierung
7. Kontinuierliche Integration und Bereitstellung
- Frontend mit Git-Seiten * Widerstehen Sie Git * Stellen Sie Ihren Code auf Github mit einem CI bereit * SSH mit Nginx und lassen Sie uns verschlüsseln
- Backend mit Capistrano (Knotenflug) * Bereitstellung auf einem Server mit SSH * Automatisierung unserer Git-Pull-Request-Annahme mit dem CI * Verwendung von Flightplan für die Bereitstellung
8. Alles, was Sie für einen MVP brauchen
- Feuerbasis * *
- Testen mit Firebase * *
8. Architektur für große Apps: Probleme
- Reagieren * *
- Progressive Webapps * *
9. Architektur für große Apps: Frameworks
- Reagieren * *
- GraphQL * *
10. Reagieren Sie auf natives Skript
- Aufstellen * *
- Push-Benachrichtigung *
11. Extra für verlorene Zeit
- Elektron * *
12. Extra für verlorene Zeit
Notizen
- Verwenden Sie das FAQ-Blatt
#Kurs