Sascha Schulz
2023-01-20 eedc4feebcef19b09f019f37915023f04b5b1750
index.html
@@ -8,7 +8,7 @@
      <link rel="stylesheet" href="dist/reset.css">
      <link rel="stylesheet" href="dist/reveal.css">
      <link rel="stylesheet" href="dist/theme/black.css">
      <link rel="stylesheet" href="dist/theme/night-custom.css">
      <!-- Theme used for syntax highlighted code -->
      <link rel="stylesheet" href="plugin/highlight/monokai.css">
@@ -16,8 +16,259 @@
   <body>
      <div class="reveal">
         <div class="slides">
            <section>Slide 1</section>
            <section>Slide 2</section>
            <section>
               <h2>Web-Entwicklung</h2>
            </section>
            <section>
               <section>
                  <h2>Agenda</h2>
               </section>
               <section>
                  <h3>Grundlagen</h3>
                  <ul>
                     <li>HTML/CSS/JS</li>
                     <li>JSON</li>
                     <li>HTTP-Protokoll</li>
                     <li>Debugger</li>
                  </ul>
               </section>
               <section>
                  <h3>Fortgeschrittenes</h3>
                  <ul>
                     <li>NodeJS</li>
                     <li>Responsive Design</li>
                     <li>CSS-Animationen</li>
                     <li>WebComponents / lit</li>
                     <li>Canvas-Element</li>
                     <li>Datenbank</li>
                  </ul>
               </section>
               <section>
                  <h3>Architektur & Paradigmen</h3>
                  <ul>
                     <li>Funktionale Programmierung</li>
                     <li>Objektorientierte Programmierung</li>
                     <li>Entwurfsmuster (Singleton, Factory, Builder...)</li>
                     <li>SOLID-Prinzipien</li>
                     <li>Dependency Injection</li>
                     <li>MVC</li>
                     <li>Redux</li>
                  </ul>
               </section>
               <section>
                  <h3>Interessante Technologien</h3>
                  <ul>
                     <li>WebSockets</li>
                     <li>WebWorker</li>
                     <li>ServiceWorker</li>
                     <li>WebRTC</li>
                     <li>WebGL</li>
                     <li>Progressive Web Application</li>
                     <li>CEF / Electron</li>
                     <li>WebAssembly</li>
                  </ul>
               </section>
               <section>
                  <h3>Betrieb</h3>
                  <ul>
                     <li>Server einrichten</li>
                     <li>SSL- / TLS-Zertifikate</li>
                  </ul>
               </section>
               <section>
                  <h3>Workflows</h3>
                  <ul>
                     <li>Git</li>
                     <li>Test Driven Development</li>
                     <li>Continuous Integration / Continuous Delivery</li>
                  </ul>
               </section>
            </section>
            <section>
               <section>
                  <h2>HTML</h2>
               </section>
               <section>
                  <ul>
                     <li>HyperText Markup Language</li>
                     <li>Erste Version 1993 von Tim Berners-Lee</li>
                     <li>Dokumentationsmedium</li>
                     <li>Ursprünglich rein akademische Verwendung</li>
                     <li>Verlinkungen der Dokumente macht sie "hyper"</li>
                  </ul>
               </section>
               <section>
                  <table>
                     <tr><th>Version</th><th>Erscheinung</th><th>Elemente ca.</th></tr>
                     <tr><td>HTML 1.0</td><td>1993</td><td>20</td></tr>
                     <tr><td>HTML 2.0</td><td>1995</td><td>50</td></tr>
                     <tr><td>HTML 3.2</td><td>1997</td><td>70</td></tr>
                     <tr><td>HTML 4.01</td><td>1999</td><td>90</td></tr>
                     <tr><td>HTML 5.0</td><td>2014</td><td>110</td></tr>
                  </table>
               </section>
               <section>
                  <ul>
                     <li>Heute ein "lebender Standard" (Living Standard)</li>
                     <li>Stetige inkrementelle Erweiterung</li>
                  </ul>
               </section>
               <section>
                  <h3>Grundgerüst</h3>
                  <pre>
                     <code data-trim data-line-numbers>
                        <script type="text/template">
                           <!DOCTYPE html>
                           <html lang="de">
                              <head>
                                 <meta charset="UTF-8">
                              </head>
                              <body>
                              </body>
                           </html>
                        </script>
                     </code>
                  </pre>
               </section>
               <section>
                  <h3>Beispiel</h3>
                  <pre>
                     <code data-trim data-line-numbers>
                        <script type="text/template">
                           <!DOCTYPE html>
                           <html lang="en">
                              <head>
                                 <meta charset="UTF-8">
                                 <title>Title</title>
                              </head>
                              <body>
                                 <h1>Lorem Ipsum</h1>
                                 <div>
                                    <p>Lorem ipsum dolor sit amet, consectetuer adipiscing</p>
                                    <a href="/assets/html/simple2.html">Weitere Infos</a>
                                 </div>
                              </body>
                           </html>
                        </script>
                     </code>
                  </pre>
               </section>
               <section>
                  <h3>Beispiel</h3>
                  <iframe data-src="/assets/html/simple.html"></iframe>
               </section>
               <section>
                  <h3>Aufbau eines Elements</h3>
                  <pre>
                     <code data-trim data-line-numbers>
                        <script type="text/template">
                           <span id="my-id" class="super important">Inhalt</span>
                        </script>
                     </code>
                  </pre>
                  <pre>
                     <code data-trim data-line-numbers>
                        <script type="text/template">
                           <input id="input" class="super important" disabled="disabled"/>
                           <input id="input2" class="super important" disabled>
                        </script>
                     </code>
                  </pre>
               </section>
            </section>
            <section>
               <section>
                  <h2>CSS</h2>
               </section>
               <section>
                  <ul>
                     <li>Cascading Style Sheet</li>
                     <li>Nach größerer Verbreitung von HTML</li>
                     <li>Webseiten ansprechend gestalten</li>
                  </ul>
               </section>
               <section>
                  <img data-src="/assets/images/css-sucks.png">
               </section>
               <section>
                  <h3>Beispiel</h3>
                  <pre>
                     <code data-trim data-line-numbers>
                        <script type="text/template">
                           selector [, selector, selector, ...] {
                              property: value;
                           }
                        </script>
                     </code>
                  </pre>
               </section>
               <section>
                  <h3>Beispiel</h3>
                  <pre>
                     <code data-trim data-line-numbers>
                        <script type="text/template">
                           html {
                              background-color: red;
                              font-size: 30px;
                           }
                        </script>
                     </code>
                  </pre>
               </section>
               <section>
                  <h3>Beispiel</h3>
                  <pre>
                     <code data-trim data-line-numbers>
                        <script type="text/template">
                           <html lang="en">
                              <head>
                                 ...
                                 <style>
                                    html {
                                       background-color: red;
                                       font-size: 30px;
                                    }
                                 </style>
                              </head>
                              <body>
                                 ...
                              </body>
                           </html>
                        </script>
                     </code>
                  </pre>
               </section>
               <section>
                  <h3>Beispielhafte CSS-Eigenschaften</h3>
                  <ul>
                     <li>background-color: red</li>
                     <li>font-family: Georgia, serif, Arial</li>
                     <li>text-decoration: line-through underline</li>
                  </ul>
               </section>
               <section>
                  <h3>Selektoren</h3>
                  <ul>
                     <li>Umfangreiche Element-Selektoren zur Anwendung der Styles</li>
                     <li>Kinder, Enkel...</li>
                     <li>Geschwister, direkte Nachfolger</li>
                     <li>Attribute</li>
                     <li>Pseudoklassen</li>
                  </ul>
               </section>
               <section>
                  <h3>Selektoren</h3>
                  <pre>
                     <code data-trim data-line-numbers>
                        #my-id /* ID */
                        html, body /* Mehrfachselektion */
                        div > p /* p die direkt unterhalb eines div sind */
                        a:visited /* besuchte Links */
                        span.important /* span mit der Klasse "important" */
                     </code>
                  </pre>
               </section>
            </section>
         </div>
      </div>
@@ -31,6 +282,8 @@
         // - https://revealjs.com/config/
         Reveal.initialize({
            hash: true,
            slideNumber: "c/t",
            transition: "fade",
            // Learn about plugins: https://revealjs.com/plugins/
            plugins: [ RevealMarkdown, RevealHighlight, RevealNotes ]