{"action":"created","issue":{"url":"https://api.github.com/repos/stiftungswo/Dime/issues/98","repository_url":"https://api.github.com/repos/stiftungswo/Dime","labels_url":"https://api.github.com/repos/stiftungswo/Dime/issues/98/labels{/name}","comments_url":"https://api.github.com/repos/stiftungswo/Dime/issues/98/comments","events_url":"https://api.github.com/repos/stiftungswo/Dime/issues/98/events","html_url":"https://github.com/stiftungswo/Dime/issues/98","id":297034789,"number":98,"title":"Frontend Migration","user":{"login":"tourn","id":2150982,"avatar_url":"https://avatars1.githubusercontent.com/u/2150982?v=4","gravatar_id":"","url":"https://api.github.com/users/tourn","html_url":"https://github.com/tourn","followers_url":"https://api.github.com/users/tourn/followers","following_url":"https://api.github.com/users/tourn/following{/other_user}","gists_url":"https://api.github.com/users/tourn/gists{/gist_id}","starred_url":"https://api.github.com/users/tourn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tourn/subscriptions","organizations_url":"https://api.github.com/users/tourn/orgs","repos_url":"https://api.github.com/users/tourn/repos","events_url":"https://api.github.com/users/tourn/events{/privacy}","received_events_url":"https://api.github.com/users/tourn/received_events","type":"User","site_admin":false},"labels":[{"id":750149339,"url":"https://api.github.com/repos/stiftungswo/Dime/labels/in%20progress","name":"in progress","color":"ededed","default":false},{"id":785564091,"url":"https://api.github.com/repos/stiftungswo/Dime/labels/infrastructure","name":"infrastructure","color":"f4f442","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2018-02-14T09:58:09Z","updated_at":"2018-02-23T09:29:38Z","closed_at":null,"author_association":"CONTRIBUTOR","body":"Ansprechperson: Andi\r\n\r\nAngularDart v1 ist unmaintained und schlecht dokumentiert. Es soll eine Auffrischung der Technologie für das Dime Frontend evaluiert werden. Die verschiedenen Varianten sollen evaluiert und der zeitliche Aufwand geschätzt werden.\r\n\r\nKandidaten:\r\n\r\n## AngularDart v4\r\n### Motivation\r\nDie Sprache bleibt dieselbe, aber die Frameworkversion wird auf die aktuelle und weiterentwickelte Version upgegradet. Somit profitiert man von den aktuellen neuen Dokumentationen und neuen Features, die entwickelt werden. Bestehender Code und Projektstruktur können weitgehend wiederverwertet werden.\r\n\r\n### Evaluation\r\n\r\nDie Hammock Library musste angepasst werden, funktioniert aber jetzt soweit. Login, ServiceOverview, ServiceEdit funktionieren soweit. Die Struktur von Code und Templates konnte fast 1:1 übernommen werden.\r\n\r\nCode auf Branch https://github.com/stiftungswo/Dime/tree/angulardart-4-evaluation\r\n\r\nVoraussichtlicher Zeitaufwand: 4 Wochen\r\n\r\n### Pro / Contra Zusammenfassung\r\n\r\n#### Pro\r\n\r\n* gleiche Sprache\r\n* gleiches Framework\r\n* bessere Dokumentation für Basics\r\n* wir profitieren von aktuellen Neuerungen in der Dart / Angular / AngularDart Welt\r\n\r\n#### Contra\r\n\r\n* einige Features müssen nachgebaut werden (Http Service, Template Filter)\r\n* Dokumentation für fortgeschrittene Features lässt noch viel zu wünschen übrig\r\n\r\n\r\n## Typescript Angular\r\n### Motivation\r\nDie Technologie bleibt ähnlich, aber anstatt der Dart Version wird die standard Typescript Version des Frameworks verwendet, das eine grössere Community und somit mehr Support und Zukunftssicherheit bietet.\r\n\r\n## React/Inferno\r\n### Motivation\r\nDer Vorteil hierbei wäre eine Vereinigung  der Frontend Technologien, die in der Stiftung SWO entwickelt werden, da iZivi momentan mit Inferno läuft. Die Einstiegshürde für neue Zivis würde somit verringert.\r\n\r\n### Pro / Contra Zusammenfassung\r\n\r\n#### Pro\r\n\r\n* gleiche Sprache / Framework wie im iZivi\r\n* hervorragende Dokumentation\r\n* viele moderne Tools / Libraries\r\n\r\n#### Contra\r\n\r\n* Umstieg auf \"neue\" Sprache\r\n* Umstieg auf neues Framework\r\n* grosse Teile der Applikation müssen neu gebaut werden (Hammock ersatz)\r\n* da react nur einen kleinen Aufgabenbereich hat, müssen viele Libraries selbst geschrieben / von der Community genommen werden"},"comment":{"url":"https://api.github.com/repos/stiftungswo/Dime/issues/comments/367956513","html_url":"https://github.com/stiftungswo/Dime/issues/98#issuecomment-367956513","issue_url":"https://api.github.com/repos/stiftungswo/Dime/issues/98","id":367956513,"user":{"login":"cookiecavekeeper","id":6794804,"avatar_url":"https://avatars3.githubusercontent.com/u/6794804?v=4","gravatar_id":"","url":"https://api.github.com/users/cookiecavekeeper","html_url":"https://github.com/cookiecavekeeper","followers_url":"https://api.github.com/users/cookiecavekeeper/followers","following_url":"https://api.github.com/users/cookiecavekeeper/following{/other_user}","gists_url":"https://api.github.com/users/cookiecavekeeper/gists{/gist_id}","starred_url":"https://api.github.com/users/cookiecavekeeper/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cookiecavekeeper/subscriptions","organizations_url":"https://api.github.com/users/cookiecavekeeper/orgs","repos_url":"https://api.github.com/users/cookiecavekeeper/repos","events_url":"https://api.github.com/users/cookiecavekeeper/events{/privacy}","received_events_url":"https://api.github.com/users/cookiecavekeeper/received_events","type":"User","site_admin":false},"created_at":"2018-02-23T09:29:38Z","updated_at":"2018-02-23T09:29:38Z","author_association":"CONTRIBUTOR","body":"Migration auf AngularDart 4 ist von Andi abgesegnet worden, allerdings sollen wir noch analysieren ob es sich lohnt auf AngularDart 5 zu warten / migrieren.\r\n\r\nAngularDart 5 soll demnächst releast werden, wartet allerdings auf den stable Release on Dart SDK 2 (Dart 2).\r\n\r\nDer Release von Dart 2 wurde [angekündigt](https://medium.com/@asandholm/announcing-dart-2-80ba01f43b6) aber es existieren noch keine Downloads / Tags / Dokumentationen auf der Offiziellen Homepage etc...\r\n\r\nMit Sicherheit könnte man also zu AngularDart auf Dart 1.* migrieren und dabei folgendes im Auge behalten um auf dem besten Weg zu sein AngularDart 5 und Dart 2 benutzen zu können:\r\n\r\n* [dartdevc](https://webdev.dartlang.org/tools/dartdevc) benutzen; dadurch [\"Strong Mode\"](https://www.dartlang.org/guides/language/sound-dart) kompatibel sein\r\n* die Tips zum Benutzen von dartdevc im Ausblick auf Dart 2 befolgen: [Dart 2](https://www.dartlang.org/dart-2) [dartdevc](https://webdev.dartlang.org/tools/dartdevc#preparing-your-code)\r\n* die Changelogs von angular, angular_router und angular_forms berücksichtigen:\r\n  * [AngularDart 5 Docs](https://webdev-dartlang-org-dev.firebaseapp.com/angular)\r\n  * [angular changelog](https://pub.dartlang.org/packages/angular/versions/5.0.0-alpha+5#-changelog-tab-)\r\n  * [angular router changelog](https://pub.dartlang.org/packages/angular_router/versions/2.0.0-alpha+5#-changelog-tab-)\r\n  * [angular forms changelog](https://pub.dartlang.org/packages/angular_forms/versions/1.0.1-alpha+5#-changelog-tab-)\r\n  * [dart webdev guides changelog](https://webdev-dartlang-org-dev.firebaseapp.com/changelog) \r\n  * [diff of changes from the old to the new docs](https://github.com/dart-lang/site-webdev/commit/68524eb3e91364762c9d7510f95c75673a183d44)\r\n\r\nWir könnten aber darauf warten das alle tools / libraries offiziell mit Dart 2 / AngularDart 5 support releast sind.  \r\nAllerdings is es auch gut möglich, das dies während der Migration passiert und wir so schon anfangen können."}}
{"actor":{"display_login":"cookiecavekeeper"}}