👁️
pierreinside
  • Introduction
  • Workbench
    • VirtualBox
    • Linux
      • Linux-Paketverwaltung
      • Linux Initialisierung
      • Ubuntu 14.10 LTS
      • Ubuntu 16.04 LTS
      • Ubuntu 18.04 LTS
      • Ubuntu 20.04 LTS
      • Ubuntu - Netzwerk
    • Konsole
      • ssh
      • zsh
      • cygwin
      • Babun
      • terminator
      • Terminal Multiplexer
      • Linux Tools
    • awesome
    • Entwicklungsumgebungen
      • Texteditors
      • Visual Studio Code
      • IntelliJ - IDEA
  • Softwareentwicklungsprozess
    • Schätzungen
    • Eventstorming
    • OKR
  • Architektur
    • Uncle Bob
    • Microservices
    • NoSQL
      • ElasticSearch
    • Hystrix
    • Reactive Programming
    • AngularJS
    • Service Mesh
  • Networking
    • Dependency Injection
  • Programming
    • Java Core/EE
      • Java 8
      • Java Annotationen
      • Bean Validation
      • Enterprise Java Beans Specification
      • Dependency Injection
    • JRebel
    • Webservices
      • HTTP
      • REST
      • Spring MVC REST
      • Swagger
      • Postman
    • Spring Ecosystem
      • Spring Core
      • Spring Boot
        • Programming
        • Production Ready
        • Testing
      • Spring Cloud
      • Spring Cloud Config
      • Spring MVC
      • Spring Data
      • Spring Petclinic
    • NodeJS
    • UI-Technologie
      • Thymeleaf
      • ionic
      • Web Fonts
      • Jinja Templates
      • Twitter Bootstrap
    • Python Ecosystem
      • Python Libraries
      • Python Testing
      • Python Best-Practices
      • Python Snippets
      • Python Selenium
      • Kivy UI
      • FastAPI
      • Typer CLI
      • Django
    • Groovy
    • Persistenz
      • Transactions
        • Java TX
        • JPA TX
      • TX Handling
      • JPA
        • Eclipse Link
      • MySQL
        • MySQL Performance
        • Docker MySQL
      • Hazelcast
    • Glassfish
    • YAML
    • Angular
    • Camel
    • Zeichenkodierung
    • Kinder lernen Programmieren
  • Testen
    • Easymock
    • Mockito
  • Performance & Scalability
    • Java Performance
      • Heapdump Analysis
    • Java Concurrency
    • Instana
  • Sicherheit
    • Authentifizierung
      • OpenID Connect
      • Web-Authentication API
    • Authorisierung
      • OAuth
      • SAML
    • Spring Security
    • Zertifikate
    • Kali Linux
    • VPN
    • Zero-Trust-Networks
  • Build und Deployment
    • Maven
    • Bamboo
    • Jenkins
      • Jenkins Pipelines
      • Jenkins Pipelines Tips und Tricks
      • Jenkins-configuration-as-Code
      • Jenkins IDE
    • Travis CI
    • Shellprogrammierung
      • jq - JSON Parsing
    • Konfiguration Management
    • Vagrant
      • Vagrant-Ansible-Integration
      • Vagrant Box bauen
    • Ansible
      • Getting Started
      • Ansible Details
    • Saltstack
    • LinuxKit
    • Container
      • Docker
        • Docker Getting Started
        • Debugging Docker
        • Docker Build
        • Docker Registry
        • Docker run
          • docker run
          • docker network
        • Docker Compose
        • docker machine
        • Docker@Windows
        • Docker Host
        • Docker Scaling
        • Docker Ressources
        • Docker Logging
        • windowsContainer
      • Cloud Deployment Provider
        • AWS
          • Anwendungsdeployment
          • Workload
          • Permissions
          • Netzwerke
          • AWS CLI
            • aws-vault
          • RDS
          • Static Website Hosting
          • EKS - Elastic Kubernetes Service
          • S3
        • Google Cloud Platform
      • Docker Orchestrierung
        • CoreOS
        • Kubernetes
          • microK8s
          • minikube
          • autoscaler
          • Docker
          • k9s
        • Nomad
    • PHP
  • Operations
    • Proxy
      • NGINX
    • DNS
    • Logging
      • Graylog
      • Fluentd
    • Monitoring
      • Grafana
    • Infrastructure-as-Code
      • Terraform
        • AWS-Provider
        • GitHub-Provider
      • Packer
    • Deployment
      • Vault
      • Consul
        • Consul Template
      • Fabio
  • Rechtliches
    • Software-Lizenzen
  • Git Ecosystem
    • Git
      • Git Lifecycle Hooks
    • GitHub
      • GitHub Organizations
    • GitHub Actions
    • GitHub Pages
    • GitHub CLI
    • GitHub Copilot
    • GitHub-AWS OIDC
    • GitBook
    • GitLab
    • Bitbucket/Stash
  • Publishing
    • WordPress
    • Markdown
    • Static Site Generators
      • Hugo
      • Jekyll
    • Tiddly Wiki
    • Leanpub
    • Animationsfilme
  • Storage
    • Synology 2012
    • Synology 2021
  • Collaboration
    • Übersicht
    • Microsoft Teams
  • Konferenzen
    • Velocity Berlin 2019
  • IT mit Kindern
    • Projekt Sportstracker
    • Scratch
    • Pico Spielekonsole
  • Schule
    • Mathematik
  • Misc
    • Foto/Video
      • Foto/Video Sammlung bis 2023
        • Handbrake
        • Onedrive
      • Foto/Video Sammlung ab 2024
      • Gopro
      • Panasonic FZ1000 ii
        • als Webcam
      • AV Receiver
      • Videos erstellen
        • OBS Studio
        • Touch Portal
        • Game-Streaming
      • Kameratasche
      • Kamera 2020
    • Handy
      • 2016
      • 2018
      • 2019
      • 2021
      • 2022
    • Computer
      • Laptop
        • 2018
        • Chromebook
      • Monitor
        • 4k
      • Software
        • Command Line Interface
        • Google API
        • Plant UML
        • Chromium
        • Passwort-Manager
        • GPG
      • Dell CNF 2665 Farbdrucker
      • Dockingstation
      • Gaming PC 2021
      • Mobiles Büro
      • Mobiles Internet
      • Mobiler Router
    • Beamer Benq W1000+
    • Spielekonsole
      • 2017
        • Playstation 4
      • Pico Spielekonsole
    • Gadgets
      • iPad Pro 2015 und 2016
      • iPad Air 2024
      • Macbook Pro
      • Smartwatch
      • Slate
      • Mudi
    • Fahrrad
      • Jonas 2018
      • SQLab
    • Auto
      • Auto 2022
      • Camping
        • Camping Touren Ideen
          • Camping Tour - Gardasee 2021
        • Camper
          • Camper klein - keine Stehhöhe
            • VW Bus Erfahrungen
          • Camper gross - Stehhöhe
    • Haus
      • Klimaanlage
      • Swimming Pool
      • Quick Mill Orione 3000
      • Spülmaschine 2021
      • Hebe-Schiebetür
      • Gasgrill
      • Minibar / Mini-Kühlschrank
      • Glasfaseranschluss (Fiber-to-the-Home)
      • Smart-Home
        • Raspberry Pi
        • Heimnetzwerk
      • Homeoffice
      • Energie
        • Solar
        • Wärmepumpe
    • Freizeit
      • Musik Streaming
      • Sky
      • Online Lernplattformen
      • eScooter - ePowerFun
    • Fußball
      • Meine Arbeit als Fußball-Trainer
      • Fußball Tools
      • DFB Talentförderung
    • Google Impact Challenge
  • Englisch
Powered by GitBook
On this page
  • Einordnung
  • Getting started
  • NodeJS Installation
  • AngularJS Installation
  • TypeScript Installation
  • Angular Projekt goals anlegen und starten
  • ng - CLI for AngularJS
  • Aufbau einer Angular Anwendung
  • Entwicklungsumgebung
  • Mobile Apps und Desktop-Applikationen
  • Offline-Fähigkeit

Was this helpful?

  1. Programming

Angular

Angular JS (Version 1) bzw. Angular (Version 2) ist ein Framework von Google zur Erstellung von Single-Page-Applications.

"Of course, there are other options (some of them very good), but there’s value in a large ecosystem and developer community, and React & Angular dominate usage. There is not even a close third. The only library more popular than these two is jQuery (yes, still)." (Angular 2 vs React: The Ultimate Dance Off, Oktober 2016)

Einordnung

Man unterscheidet im JavaScript-Bereich ganz stark zwischen einer Bibliothek (z. B. jQuery, React) und einem Framework (z. B. Angular). Ein Framework erleichtert den Einstieg, weil bereits bestimmte Konzepte/Vorgaben geschaffen sind - eine Bibliothek bietet mehr Freiheiten. Bei React hat man für bestimmte Aufgaben (z. B. State-Management) externe Bibliotheken und hat hier die Qual der Wahl die tatsächlich passende zu finden (z. B. Redux für State-Management).

Für Einsteiger in diesem Bereich ist ein Framework sicherlich geeigneter, um hier nicht in der Flut der einsatzbaren Bibliotheken zu ertrinken.

Seit der Version 2.0 kann man in AngularJS auch in TypeScript programmieren, was den Einstieg für Java-Entwickler besonders angenehm macht. Dennoch soll Angular hohe Einstiegshürden haben.

Alternativen:

  • React vs. Angular

    • "It’s true that React is only a UI library. It doesn’t prescribe routing, state management, data fetching or even language choice. Angular, on the other hand, does make decisions about these things."

  • React vs. Vue.js

    • "If you have a team that is already familiar with React, there is no net advantage to switching to Vue (caveats below). If you have a team that is building front end applications for the first time or are thinking of migrating away from a framework like Backbone or AngularJS, then you should consider Vue, although React retains the advantages I noted above."

  • Vue.js

    • soll besonders einfach zu erlernen sein

    • Bibliothek

    • "Aus meiner Sicht gibt es zwei Faktoren, die das Wachstum von Vue vorantreiben. Erstens wünschen sich viele Entwickler immer noch ein A-bis-Z-Framework, d.h. ein Framework, das von Routing über Templating bis hin zu Backend-Datenabruf alles erledigt. Vue tut genau das, was es für einen Anfänger in der Entwicklung sehr einfach macht, da sie nur noch eine Wahl treffen müssen: Vue verwenden und alle anderen, restlichen Entscheidungen werden für sie getroffen." (entwickler.de)

  • Meteor

Für meinen Einstieg in die Ssingle-Page-Applikationen im JavaScript-Ökosystem habe ich mich dann letztlich für Angular 2 entschieden, weil es mir mit TypeScript einen leichteren Einstieg ermöglicht. Mit JavaScript hatte ich bisher bei den wenigen Versuchen immer ein wenig Probleme.

Getting started

NodeJS Installation

siehe hier

AngularJS Installation

Hier installiert man das AngularJS-CLI (Command-Line-Interface) über den Node-Paketmanager sudo npm install -g @angular/cli.

TypeScript Installation

Mit sudo npm install -g typescript wird der TypeScript Support hinzugefügt ... tsc -v liefert die installierte Version.

Angular Projekt goals anlegen und starten

ng new goals
ng serve --open

Im Browser kann man dann die Webanwendung über http://localhost:4200 nutzen ... jede Änderung am Code wird automatisch compiliert und ist innerhalb weniger Augenblicke sichtbar in der Webanwendung, die automatisch ein Reload macht.

ng - CLI for AngularJS

  • https://github.com/angular/angular-cli/blob/master/README.md

Aufbau einer Angular Anwendung

  • besteht aus Komponenten - die Root-Komponente ist die App-Component (src/app/app.component.ts), die ganz am Anfang des Applikationsstarts geladen wird

Entwicklungsumgebung

Mein Lieblingseditor für Textdateien Visual Studio Code besitzt auch Angular Tooling. Folgende Extensions habe ich installiert:

  • TSLint

Mobile Apps und Desktop-Applikationen

Mit Cordova, Electron, Ionic stehen Tools zur Verfügung, mit deren Hilfe sich aus einer Webapplikation mobile Apps und auch Desktopapplikationen auf Knopfdruck bauen lassen.

Offline-Fähigkeit

Stichwort Progressive Web Apps (PWA) - Angular ist in diesem Bereich angeblich "gut positioniert".

PreviousYAMLNextCamel

Last updated 3 years ago

Was this helpful?