up
6
.gitmodules
vendored
Normal file
@ -0,0 +1,6 @@
|
||||
[submodule "code/flutter_elinux"]
|
||||
path = code/flutter_elinux
|
||||
url = https://avoid.sh/bachelor/flutter_elinux.git
|
||||
[submodule "code/crops-yocto"]
|
||||
path = code/crops-yocto
|
||||
url = https://avoid.sh/bachelor/crops-yocto.git
|
187
Bachelor.bib
@ -5,7 +5,7 @@
|
||||
date = {2015-01-14},
|
||||
url = {https://stackoverflow.com/a/27950451},
|
||||
urldate = {2024-02-19},
|
||||
organization = {{Stack Overflow}},
|
||||
organization = {Stack Overflow},
|
||||
file = {/Users/fabian/Zotero/storage/HNIIPU6S/what-is-the-minimum-amount-of-ram-required-to-run-linux-kernel-on-an-embedded-de.html}
|
||||
}
|
||||
|
||||
@ -16,10 +16,17 @@
|
||||
urldate = {2024-02-18},
|
||||
abstract = {Note: This license has also been called the “New BSD License” or “Modified BSD License”. See also the 2-clause BSD License. Copyright {$<$}YEAR{$>$} {$<$}COPYRIGHT HOLDER{$>$} R…},
|
||||
langid = {american},
|
||||
organization = {{Open Source Initiative}},
|
||||
organization = {Open Source Initiative},
|
||||
file = {/Users/fabian/Zotero/storage/ZHWXNYXB/bsd-3-clause.html}
|
||||
}
|
||||
|
||||
@online{BestWayUse,
|
||||
title = {The Best Way to Use {{Yocto}} and {{Docker}} — {{Get Intimate With Cyber}} ! 0.1 Documentation},
|
||||
url = {https://ubs_csse.gitlab.io/secu_os/tutorials/crops_yocto.html},
|
||||
urldate = {2024-03-09},
|
||||
file = {/Users/fabian/Zotero/storage/IHWHZKUM/crops_yocto.html}
|
||||
}
|
||||
|
||||
@online{bizzottoComparisonPopularFlutter2023,
|
||||
title = {A {{Comparison}} of {{Popular Flutter App Architectures}}},
|
||||
author = {Bizzotto, Andrea},
|
||||
@ -28,10 +35,17 @@
|
||||
urldate = {2023-11-19},
|
||||
abstract = {Comparing my Riverpod App Architecture with other popular ones such as MVC, MVVM, Bloc, Stacked, Clean Architecture, and Android App Architecture.},
|
||||
langid = {english},
|
||||
organization = {{Code With Andrea}},
|
||||
organization = {Code With Andrea},
|
||||
file = {/Users/fabian/Zotero/storage/DUDXBAGD/comparison-flutter-app-architectures.html}
|
||||
}
|
||||
|
||||
@online{DartVSJava,
|
||||
title = {Dart {{VS Java}} Benchmarks, {{Which}} Programming Language or Compiler Is Faster},
|
||||
url = {https://programming-language-benchmarks.vercel.app/dart-vs-java},
|
||||
urldate = {2024-03-08},
|
||||
file = {/Users/fabian/Zotero/storage/VNKS4FFB/dart-vs-java.html}
|
||||
}
|
||||
|
||||
@article{dechenshawSystemsSystemsCyberPhysical2016,
|
||||
title = {Systems of {{Systems}}, {{Cyber-Physical Systems}}, the {{Internet-of-Things}}…whatever {{Next}}?},
|
||||
author = {family=C Henshaw, given=Michael J., prefix=de, useprefix=true},
|
||||
@ -75,7 +89,7 @@
|
||||
urldate = {2024-02-22},
|
||||
abstract = {The article explains what a Linux distribution is, its main characteristics and components, how it caters to a wide range of users and purposes.},
|
||||
langid = {english},
|
||||
organization = {{Alibaba Cloud Community}},
|
||||
organization = {Alibaba Cloud Community},
|
||||
file = {/Users/fabian/Zotero/storage/LAGSLH4P/what-is-linux-distribution_599979.html}
|
||||
}
|
||||
|
||||
@ -103,7 +117,7 @@
|
||||
urldate = {2024-02-15},
|
||||
abstract = {Flutter makes it easy and fast to build beautiful apps for mobile and beyond - flutter/flutter},
|
||||
langid = {english},
|
||||
organization = {{GitHub}},
|
||||
organization = {GitHub},
|
||||
file = {/Users/fabian/Zotero/storage/VVZT5YJA/Flutter-GPU.html}
|
||||
}
|
||||
|
||||
@ -124,7 +138,7 @@
|
||||
urldate = {2024-02-22},
|
||||
abstract = {At the 2004 ESC Wind River's Jerry Fiddler claimed that there is no real embedded systems market. He felt that it was all about "the device," and in},
|
||||
langid = {american},
|
||||
organization = {{Embedded.com}},
|
||||
organization = {Embedded.com},
|
||||
file = {/Users/fabian/Zotero/storage/XNVLRL6Q/whats-embedded.html}
|
||||
}
|
||||
|
||||
@ -136,10 +150,20 @@
|
||||
urldate = {2023-11-13},
|
||||
abstract = {This document describes an experiment in porting the Flutter engine to a target that is currently not supported. That fact that I used a…},
|
||||
langid = {english},
|
||||
organization = {{Flutter}},
|
||||
organization = {Flutter},
|
||||
file = {/Users/fabian/Zotero/storage/3K7HX2EI/flutter-on-raspberry-pi-mostly-from-scratch-2824c5e7dcb1.html}
|
||||
}
|
||||
|
||||
@online{googleinc.DartLanguageEvolution,
|
||||
title = {Dart Language Evolution},
|
||||
author = {{Google Inc.}},
|
||||
url = {https://dart.dev/guides/language/evolution/},
|
||||
urldate = {2024-03-09},
|
||||
abstract = {Notable changes and additions to the Dart programming language.},
|
||||
langid = {english},
|
||||
file = {/Users/fabian/Zotero/storage/BRNQA73A/evolution.html}
|
||||
}
|
||||
|
||||
@online{googleinc.FutterBuildAny,
|
||||
title = {Futter - {{Build}} for Any Screen},
|
||||
author = {{Google Inc.}},
|
||||
@ -160,11 +184,21 @@
|
||||
file = {/Users/fabian/Zotero/storage/F6LI3FTY/declarative.html}
|
||||
}
|
||||
|
||||
@online{googleinc.UnsoundNullSafety,
|
||||
title = {Unsound Null Safety},
|
||||
author = {{Google Inc.}},
|
||||
url = {https://dart.dev/null-safety/unsound-null-safety/},
|
||||
urldate = {2024-03-09},
|
||||
abstract = {Mixing language versions lets you migrate to null safety at your own pace, with some of the benefits of null safety.},
|
||||
langid = {english},
|
||||
file = {/Users/fabian/Zotero/storage/JWER5SLE/unsound-null-safety.html}
|
||||
}
|
||||
|
||||
@book{hajianFlutterEngineering2024,
|
||||
title = {Flutter Engineering},
|
||||
author = {Hajian, Majid},
|
||||
date = {2024-01-18},
|
||||
publisher = {{Staten House}},
|
||||
publisher = {Staten House},
|
||||
abstract = {Become a Flutter professional using tactics explained from a software engineer's perspective.This book covers various software engineering topics in Flutter and is divided into five parts, each addressing specific areas of interest and expertise.Foundation of Flutter Engineering introduces software engineering concepts specifically relevant to Flutter. It starts by explaining the fundamental principles of Flutter and how they work and then moves on to demonstrate how these concepts can be applied within the Flutter framework. This section also covers coding design patterns that help readers develop a foundational understanding of the subject matter.Architecture: beginning with basic principles and progressing onto different styles and patterns in architectural design. It covers essential concepts such as concurrency, parallelism, dependency injection, and state management. Additionally, this section explores the architectural factors involved in developing offline apps, guiding readers on strategic thinking and decision-making in software architecture.Processes part covers rules and guidelines, continuous delivery and integration, testing methodologies, and effective documentation practices in a comprehensive manner. This section gives readers the knowledge needed to streamline and efficiently develop apps.Ethical Engineering discusses the OWASP Top 10 security risks, privacy standards, and accessibility considerations. The section emphasizes creating inclusive and secure applications that value user privacy.Advancing UI Development explores adaptive and responsive UIs and sophisticated topics like custom painting, shaders, internationalization, localization, and effective theming in Flutter. This section enhances the reader’s skills in creating visually appealing and user-friendly interfaces.Whether a beginner or an experienced developer, this book can offer you something to learn.},
|
||||
isbn = {9798889405528},
|
||||
langid = {Englisch},
|
||||
@ -175,7 +209,7 @@
|
||||
title = {Embedded Systems Design},
|
||||
author = {Heath, Steve},
|
||||
date = {2002},
|
||||
publisher = {{Elsevier}},
|
||||
publisher = {Elsevier},
|
||||
isbn = {0-08-047756-9}
|
||||
}
|
||||
|
||||
@ -207,6 +241,13 @@
|
||||
file = {/Users/fabian/Zotero/storage/5RDNK486/042964.html}
|
||||
}
|
||||
|
||||
@online{IvihomescreenShellPlugins,
|
||||
title = {Ivi-Homescreen/Shell/Plugins/Platform\_views/{{README}}.Md at Ee49745485a88f23c32b8e3a62da40d4102c4623 · Toyota-Connected/Ivi-Homescreen},
|
||||
url = {https://github.com/toyota-connected/ivi-homescreen/blob/ee49745485a88f23c32b8e3a62da40d4102c4623/shell/plugins/platform_views/README.md},
|
||||
urldate = {2024-03-09},
|
||||
file = {/Users/fabian/Zotero/storage/P428MCND/README.html}
|
||||
}
|
||||
|
||||
@article{korogluComparisonKeypadsTouchscreen2015,
|
||||
title = {Comparison of Keypads and Touch-Screen Mobile Phones/Devices as Potential Risk for Microbial Contamination},
|
||||
author = {Koroglu, Mehmet and Gunal, Selami and Yildiz, Fatma and Savas, Mehtap and Ozer, Ali and Altindis, Mustafa},
|
||||
@ -226,11 +267,22 @@
|
||||
file = {/Users/fabian/Zotero/storage/TFSCZX36/Koroglu et al_2015_Comparison of keypads and touch-screen mobile phones-devices as potential risk.pdf}
|
||||
}
|
||||
|
||||
@online{larsbakDartLanguageStructured2011,
|
||||
title = {Dart: A Language for Structured Web Programming},
|
||||
shorttitle = {Dart},
|
||||
author = {{Lars Bak}},
|
||||
date = {2011-10-10},
|
||||
url = {https://googlecode.blogspot.com/2011/10/dart-language-for-structured-web.html},
|
||||
urldate = {2024-03-09},
|
||||
organization = {Dart: a language for structured web programming},
|
||||
file = {/Users/fabian/Zotero/storage/3YTIXF3V/dart-language-for-structured-web.html}
|
||||
}
|
||||
|
||||
@book{leeIntroductionEmbeddedSystems2016,
|
||||
title = {Introduction to Embedded Systems: {{A}} Cyber-Physical Systems Approach},
|
||||
author = {Lee, Edward Ashford and Seshia, Sanjit Arunkumar},
|
||||
date = {2016},
|
||||
publisher = {{MIT press}},
|
||||
publisher = {MIT press},
|
||||
isbn = {0-262-53381-2}
|
||||
}
|
||||
|
||||
@ -243,7 +295,7 @@
|
||||
volume = {15},
|
||||
number = {3},
|
||||
pages = {4837--4869},
|
||||
publisher = {{Multidisciplinary Digital Publishing Institute}},
|
||||
publisher = {Multidisciplinary Digital Publishing Institute},
|
||||
issn = {1424-8220},
|
||||
doi = {10.3390/s150304837},
|
||||
url = {https://www.mdpi.com/1424-8220/15/3/4837},
|
||||
@ -268,10 +320,31 @@
|
||||
title = {Embedded System Design: Embedded Systems Foundations of Cyber-Physical Systems, and the Internet of Things},
|
||||
author = {Marwedel, Peter},
|
||||
date = {2021},
|
||||
publisher = {{Springer Nature}},
|
||||
publisher = {Springer Nature},
|
||||
isbn = {3-030-60910-3}
|
||||
}
|
||||
|
||||
@article{matsubayashiGraphicalUserInterface2020,
|
||||
title = {Graphical {{User Interface Using Flutter}} in {{Embedded Systems}}},
|
||||
author = {Matsubayashi, Hidenori},
|
||||
date = {2020-10-27},
|
||||
url = {https://elinux.org/images/6/61/Oct_27_Graphical_User_Interface_Using_Flutter_in_Embedded_Systems_Hidenori_Matsubayashi.pdf},
|
||||
langid = {english},
|
||||
file = {/Users/fabian/Zotero/storage/CJE3VI87/Matsubayashi and Corporation - Graphical User Interface Using Flutter in Embedded.pdf}
|
||||
}
|
||||
|
||||
@online{mickeyYoctoProjectCROPSdemetaraspberrypiwobirudo1642213142,
|
||||
title = {Yocto Project CROPSでmeta-raspberrypiをビルド},
|
||||
author = {{mickey}},
|
||||
date = {1642213142},
|
||||
url = {https://mickey-happygolucky.hatenablog.com/entry/2022/01/15/111902},
|
||||
urldate = {2024-03-09},
|
||||
abstract = {はじめに 前回CROPSを動かしてみた。 CROPSでmeta-raspberrypiをビルドしてみる。今回はラズベリーパイ4を使用する。 run\_crops.sh 今回も前回作成したrun\_crops.shを使用する。 \#!/bin/sh cmd="source /workdir/poky/oe-init-build-env" if [ \$\# -gt 0 ] ; then cmd="\$\{cmd\} \&\& \$@" fi docker run --rm -it -v \$(pwd):/workdir crops/poky --workdir=/workdir bash -c "\$\{cmd\}" 実行権…},
|
||||
langid = {japanese},
|
||||
organization = {みつきんのメモ},
|
||||
file = {/Users/fabian/Zotero/storage/KYSU3P75/111902.html}
|
||||
}
|
||||
|
||||
@article{oszutowska-mazurekAssociationsKnowledgeBehaviours2021,
|
||||
title = {The {{Associations}} between {{Knowledge}} and {{Behaviours Related}} to {{Touch Screens}} and {{Microbiological Threats}} among {{IT Students}}’},
|
||||
author = {Oszutowska-Mazurek, Dorota and Fastowicz, Jaroslaw and Mazurek, Przemyslaw},
|
||||
@ -301,7 +374,7 @@
|
||||
volume = {14},
|
||||
number = {2},
|
||||
pages = {65--68},
|
||||
publisher = {{SAGE Publications}},
|
||||
publisher = {SAGE Publications},
|
||||
issn = {1757-1774},
|
||||
doi = {10.1177/1757177413475903},
|
||||
url = {https://doi.org/10.1177/1757177413475903},
|
||||
@ -334,7 +407,7 @@
|
||||
urldate = {2024-02-18},
|
||||
abstract = {VERSION: 0.0.6 flutter: 0.0.26 flutter\_driver: 0.0.4 flutter\_test: 0.0.4},
|
||||
langid = {english},
|
||||
organization = {{GitHub}},
|
||||
organization = {GitHub},
|
||||
file = {/Users/fabian/Zotero/storage/DJJMSGJK/v0.0.html}
|
||||
}
|
||||
|
||||
@ -353,16 +426,55 @@
|
||||
file = {/Users/fabian/Zotero/storage/QWUKGL4U/39123.html}
|
||||
}
|
||||
|
||||
@online{SetEditor,
|
||||
title = {Set up an Editor},
|
||||
url = {https://docs.flutter.dev/get-started/editor},
|
||||
urldate = {2024-03-07},
|
||||
abstract = {Configuring an IDE for Flutter.},
|
||||
langid = {english},
|
||||
file = {/Users/fabian/Zotero/storage/TL9QUH84/editor.html}
|
||||
}
|
||||
|
||||
@online{Skia,
|
||||
title = {Skia},
|
||||
url = {https://skia.org/},
|
||||
urldate = {2024-02-13},
|
||||
abstract = {2D Graphics Library},
|
||||
langid = {english},
|
||||
organization = {{Skia}},
|
||||
organization = {Skia},
|
||||
file = {/Users/fabian/Zotero/storage/NV4BSHXY/skia.org.html}
|
||||
}
|
||||
|
||||
@online{stephanievannessRacingCESExciting2024,
|
||||
title = {Racing {{Toward CES}} with an {{Exciting New UI}} for {{Automotive Grade Linux IVI Demo}}},
|
||||
author = {{Stephanie Van Ness}},
|
||||
date = {2024-01-02},
|
||||
url = {https://www.ics.com/blog/racing-toward-ces-exciting-new-ui-automotive-grade-linux-ivi-demo},
|
||||
urldate = {2024-03-09},
|
||||
abstract = {ICS created an exciting new IVI demo to showcase Automotive-Grade Linux at CES.},
|
||||
langid = {english},
|
||||
file = {/Users/fabian/Zotero/storage/8C8IWBCH/racing-toward-ces-exciting-new-ui-automotive-grade-linux-ivi-demo.html}
|
||||
}
|
||||
|
||||
@online{SupportNonnullableTypes,
|
||||
title = {Support Non-Nullable Types. · {{Issue}} \#22 · Dart-Lang/Sdk},
|
||||
url = {https://github.com/dart-lang/sdk/issues/22},
|
||||
urldate = {2024-03-09},
|
||||
abstract = {Admin comment: This is activaly being worked on, see dart-lang/language\#110 and https://dart.dev/null-safety This issue was originally filed by cflew...@gmail.com Short version: Null pointers are a...},
|
||||
langid = {english},
|
||||
organization = {GitHub},
|
||||
file = {/Users/fabian/Zotero/storage/DZE53CBK/22.html}
|
||||
}
|
||||
|
||||
@online{TechnicalOverviewa,
|
||||
title = {Technical {{Overview}}},
|
||||
url = {https://www.yoctoproject.org/development/technical-overview/},
|
||||
urldate = {2024-03-09},
|
||||
langid = {american},
|
||||
organization = {The Yocto Project},
|
||||
file = {/Users/fabian/Zotero/storage/6YINBYHZ/technical-overview.html}
|
||||
}
|
||||
|
||||
@online{theflutterauthorsEngineShellPlatform,
|
||||
title = {Engine/Shell/Platform/Embedder/Embedder.h at 436f9707b94774d1d049c04b8cda9d81d85aa4a8 · Flutter/Engine},
|
||||
author = {{The Flutter Authors}},
|
||||
@ -370,7 +482,7 @@
|
||||
urldate = {2024-02-22},
|
||||
abstract = {The Flutter engine. Contribute to flutter/engine development by creating an account on GitHub.},
|
||||
langid = {english},
|
||||
organization = {{GitHub}},
|
||||
organization = {GitHub},
|
||||
file = {/Users/fabian/Zotero/storage/SQZ53EIM/embedder.html}
|
||||
}
|
||||
|
||||
@ -385,6 +497,30 @@
|
||||
abstract = {Tonight we'll talk about the years leading up to Flutter and how Adam and I worked on a variety of projects for the web which inspired what Flutter would become, including at least 3 frameworks in JS, how we briefly thought "shake to reload" was our killer feature, how for more than the first 6 months of the project Flutter was DOM-based and network loaded and much more. Gonna be amazing. Slides: https://docs.google.com/presentation/...}
|
||||
}
|
||||
|
||||
@video{thelinuxfoundationGraphicalUserInterface2020,
|
||||
entrysubtype = {video},
|
||||
title = {Graphical {{User Interface Using Flutter}} in {{Embedded Systems}} - {{Hidenori Matsubayashi}}, {{Sony}}},
|
||||
editor = {{The Linux Foundation}},
|
||||
editortype = {director},
|
||||
date = {2020-11-29},
|
||||
url = {https://www.youtube.com/watch?v=KN-ileJvorg},
|
||||
urldate = {2024-03-09},
|
||||
abstract = {Graphical User Interface Using Flutter in Embedded Systems - Hidenori Matsubayashi, Sony}
|
||||
}
|
||||
|
||||
@online{thomsenRoadDartFully2022,
|
||||
title = {The Road to {{Dart}} 3: {{A}} Fully Sound, Null Safe Language},
|
||||
shorttitle = {The Road to {{Dart}} 3},
|
||||
author = {Thomsen, Michael},
|
||||
date = {2022-12-08T15:25:01},
|
||||
url = {https://medium.com/dartlang/the-road-to-dart-3-afdd580fbefa},
|
||||
urldate = {2024-03-09},
|
||||
abstract = {Preparing for the next major release, where Dart only supports sound null safety},
|
||||
langid = {english},
|
||||
organization = {Dart},
|
||||
file = {/Users/fabian/Zotero/storage/BSNRLE6L/the-road-to-dart-3-afdd580fbefa.html}
|
||||
}
|
||||
|
||||
@online{valleyWhatLinuxOverview2020,
|
||||
title = {What {{Is Linux}}: {{An Overview}} of the {{Linux Operating System}}},
|
||||
shorttitle = {What {{Is Linux}}},
|
||||
@ -394,10 +530,17 @@
|
||||
urldate = {2024-02-19},
|
||||
abstract = {What is Linux: An Overview of the Linux Operating System},
|
||||
langid = {english},
|
||||
organization = {{Medium}},
|
||||
organization = {Medium},
|
||||
file = {/Users/fabian/Zotero/storage/L97SMPU5/what-is-linux-an-overview-of-the-linux-operating-system-77bc7421c7e5.html}
|
||||
}
|
||||
|
||||
@book{walrathkathyWhatDart2012,
|
||||
title = {What Is {{Dart}}?},
|
||||
author = {{Walrath, Kathy}},
|
||||
date = {2012},
|
||||
abstract = {Annotation This short, free ebook from March 2012 describes the Dart language, libraries, and tools that help you develop structured, fast, and maintainable web apps that run in any modern browser.}
|
||||
}
|
||||
|
||||
@article{weiserComputer21stCentury1999,
|
||||
title = {The Computer for the 21st Century},
|
||||
author = {Weiser, Mark},
|
||||
@ -429,10 +572,18 @@
|
||||
urldate = {2024-02-13},
|
||||
abstract = {How to use Flutter/Dart’s magical ways to convert JSON data into usable structures so that you can get unstuck — and get going. Why are you here? You have read tons of Medium posts and watched plenty of YouTube videos and still feel a little confused. Along the way, you…},
|
||||
langid = {american},
|
||||
organization = {{https://maeda.pm/}},
|
||||
organization = {https://maeda.pm/},
|
||||
file = {/Users/fabian/Zotero/storage/ND8L5RU6/working-with-json-in-flutter-while-using-json_annotations-and-json_serializable-modules-in-2022.html}
|
||||
}
|
||||
|
||||
@online{yusukemitsukiHelperScriptRun,
|
||||
title = {The Helper Script to Run the Bitbake with Using {{CROPS}}.},
|
||||
author = {{Yusuke Mitsuki}},
|
||||
url = {https://gist.github.com/mickey-happygolucky/2b9671f062de558f3312f7378ed3c240},
|
||||
urldate = {2024-03-09},
|
||||
file = {/Users/fabian/Zotero/storage/P8BGUI2I/2b9671f062de558f3312f7378ed3c240.html}
|
||||
}
|
||||
|
||||
@online{zotero-649,
|
||||
url = {https://tagesschau.api.bund.dev/openapi.yaml},
|
||||
urldate = {2024-03-03},
|
||||
|
BIN
assets/.DS_Store
vendored
BIN
assets/mermaid/3SchichtenarchitekturderFlutterAnwendung.pdf
Normal file
BIN
assets/pdf/sony1.pdf
Normal file
BIN
assets/pdf/sony2.pdf
Normal file
BIN
assets/pdf/sony3.pdf
Normal file
BIN
assets/screenshots/.DS_Store
vendored
Normal file
BIN
assets/screenshots/benchmark.png
Normal file
After Width: | Height: | Size: 197 KiB |
BIN
assets/screenshots/benchmarkFlame.png
Normal file
After Width: | Height: | Size: 254 KiB |
BIN
assets/screenshots/benchmarkFlame2.png
Normal file
After Width: | Height: | Size: 245 KiB |
BIN
assets/screenshots/benchmarkMap.png
Normal file
After Width: | Height: | Size: 1.6 MiB |
BIN
assets/screenshots/benchmarkMapSwitch.png
Normal file
After Width: | Height: | Size: 950 KiB |
BIN
assets/screenshots/benchmarkSprite.png
Normal file
After Width: | Height: | Size: 118 KiB |
BIN
assets/screenshots/benchmarkSpriteFinished.png
Normal file
After Width: | Height: | Size: 356 KiB |
BIN
assets/screenshots/benchmarkVideo.png
Normal file
After Width: | Height: | Size: 1.1 MiB |
BIN
assets/screenshots/benchmarkVsync.png
Normal file
After Width: | Height: | Size: 108 KiB |
BIN
assets/screenshots/home.png
Normal file
After Width: | Height: | Size: 133 KiB |
BIN
assets/screenshots/homeDebug.png
Normal file
After Width: | Height: | Size: 102 KiB |
BIN
assets/screenshots/material3.png
Normal file
After Width: | Height: | Size: 181 KiB |
BIN
assets/screenshots/material3DarkGreen.png
Normal file
After Width: | Height: | Size: 161 KiB |
BIN
assets/screenshots/material3Dialog.png
Normal file
After Width: | Height: | Size: 173 KiB |
BIN
assets/screenshots/material3DialogMaterial2.png
Normal file
After Width: | Height: | Size: 186 KiB |
BIN
assets/screenshots/matrix.png
Normal file
After Width: | Height: | Size: 129 KiB |
BIN
assets/screenshots/matrixColor.png
Normal file
After Width: | Height: | Size: 164 KiB |
BIN
assets/screenshots/matrixColorWheel.png
Normal file
After Width: | Height: | Size: 197 KiB |
BIN
assets/screenshots/matrixInput.png
Normal file
After Width: | Height: | Size: 130 KiB |
BIN
assets/screenshots/morse.png
Normal file
After Width: | Height: | Size: 130 KiB |
BIN
assets/screenshots/morseInput.png
Normal file
After Width: | Height: | Size: 134 KiB |
BIN
assets/screenshots/newsGrid.png
Normal file
After Width: | Height: | Size: 1.2 MiB |
BIN
assets/screenshots/newsList.png
Normal file
After Width: | Height: | Size: 359 KiB |
BIN
assets/screenshots/settings.png
Normal file
After Width: | Height: | Size: 181 KiB |
BIN
assets/screenshots/settingsDark.png
Normal file
After Width: | Height: | Size: 199 KiB |
BIN
assets/screenshots/settingsMaterial2.png
Normal file
After Width: | Height: | Size: 178 KiB |
BIN
assets/screenshots/settingsWifiConnect.png
Normal file
After Width: | Height: | Size: 145 KiB |
BIN
assets/screenshots/settingsWifiDetails.png
Normal file
After Width: | Height: | Size: 146 KiB |
BIN
assets/screenshots/settingsWifiList.png
Normal file
After Width: | Height: | Size: 143 KiB |
BIN
assets/screenshots/settingsWifiPasswordInput.png
Normal file
After Width: | Height: | Size: 132 KiB |
BIN
assets/screenshots/systemResources.png
Normal file
After Width: | Height: | Size: 163 KiB |
@ -159,7 +159,7 @@ erstellt werden kann.
|
||||
Yocto ist ein Open-Source-Projekt der Linux Foundation, das es ermöglicht,
|
||||
maßgeschneiderte Linux-Distributionen für eingebettete Systeme
|
||||
zu erstellen. Es bietet hierzu eine Sammlung von Tools, Vorlagen und
|
||||
Methoden, die vor allem auf die Prinzipien der quellbasierten
|
||||
Methoden, die vor allem auf den Prinzipien der quellbasierten
|
||||
Linux-Distribution Gentoo basieren. Eine quellbasierte Distribution
|
||||
ist eine Linux-Distribution, die aus den Quellcodes der Software
|
||||
zusammengestellt wird. Das bedeutet, dass die Software auf dem
|
||||
|
53
chapters/03_grundlagen/03_dart.md
Normal file
@ -0,0 +1,53 @@
|
||||
\linebreak
|
||||
|
||||
## Dart
|
||||
|
||||
Dart ist die offizielle Programmiersprache für die Entwicklung von
|
||||
Flutter Apps und wurde in dieser Arbeit für die Entwicklung der
|
||||
Demo Anwendung verwendet. Dart ist eine objektorientierte, klassenbasierte
|
||||
Programmiersprache mit Garbage Collection und C-ähnlicher Syntax hat.
|
||||
Die Sprache wurde von Lars Bak und Kasper Lund entworfen und
|
||||
bei Google entwickelt. 2011 wurde sie veröffentlicht [@larsbakDartLanguageStructured2011].
|
||||
Damals wurde Dart speziell für die Entwicklung von Webanwendungen
|
||||
entwickelt. Es sollte besonders dabei helfen komplexe und hochleistungsfähige
|
||||
Webanwendungen zu entwickeln. Google sah es aber explizit nicht als
|
||||
Ersatz für JavaScript, sondern als Ergänzung. Im Buch "What is Dart?" von
|
||||
den Google Entwicklern Kathy Walrath und Seth Ladd betonten diese 2012,
|
||||
dass Google nicht erwarten würde, dass Dart JavaScript ersetze, sondern
|
||||
dass Dart und JavaScript nebeneinander existieren könnten und Dart auch von
|
||||
JavaScript profitieren kann, da Dart Code in JavaScript transpiliert
|
||||
werden kann [@walrathkathyWhatDart2012, 1-2]. Hingegen der Erwartungen von Google
|
||||
wurde Dart jedoch nicht so populär wie erwartet. Google nutzte Dart
|
||||
zwar intern für einige Projekte, doch die Programmiersprache blieb
|
||||
weitesgehend unbekannt und wurde nur von wenigen Entwicklern genutzt.
|
||||
Genaue Gründe sind hierfür nicht bekannt, doch ein Grund könnte sein,
|
||||
dass die JavaScript Community zu diesem Zeitpunkt
|
||||
schon sehr groß war und viele Entwickler nicht bereit waren, auf eine
|
||||
komplett neue Programmiersprache umzusteigen. Zudem wurde 2012 TypeScript von
|
||||
Microsoft veröffentlicht, welches ähnliche Probleme wie Dart löst, jedoch
|
||||
besser in die bestehende JavaScript-Community integriert werden konnte, da es JavaScript
|
||||
als Sprache erweitert und Entwickler so nicht eine komplett neue
|
||||
Sprache lernen mussten.
|
||||
|
||||
Erst durch die Einführung von Flutter wurde Dart populärer, da es die
|
||||
offizielle Programmiersprache für die Entwicklung von Flutter Apps ist.
|
||||
Flutter wurde intern bei Google anfangs mit JavaScript entwickelt, doch
|
||||
dies führte zu Problemen, da JavaScript nicht die Performance und
|
||||
Stabilität bieten konnte, die Google für die Entwicklung von mobilen
|
||||
Apps erwartete. Daher wurde JavaScript durch Dart ersetzt und das
|
||||
Flutter und Dart Team haben eng zusammengearbeitet, um Dart so zu
|
||||
verbessern, dass es die Anforderungen von Flutter am besten erfüllt.
|
||||
|
||||
Heute ist die neueste Version von Dart die Version 3.3.1. Dart ist
|
||||
eine der wenigen Programmiersprachen, die seit ihrer Veröffentlichung
|
||||
sehr starke Veränderungen durchgemacht hat. So wurde zu der JIT (Just
|
||||
in Time) Kompilierung, die Dart ursprünglich verwendete, eine AOT (Ahead of
|
||||
Time) Kompilierung hinzugefügt, die es ermöglicht, Dart Code in nativen Code
|
||||
zu kompilieren. Dies war notwendig, um die Performance von Dart zu
|
||||
verbessern und um Dart für die Entwicklung von mobilen Apps zu
|
||||
optimieren, zusätzlich auch weil Apple keine JIT Kompilierung auf iOS
|
||||
Geräten erlaubt. Mit Version 3 wurde eine komplette Sound Null Safety
|
||||
zu Dart hinzugefügt. Sound Null Safety bedeutet, dass der komplette
|
||||
Code und auch Code aus allen Bibliotheken vollständig null-sicher sein muss.
|
||||
Mit Version 3 ist dies auch eine Voraussetzung in Dart, nicht null-sicherer
|
||||
Code kann nicht mehr kompiliert werden [@googleinc.UnsoundNullSafety].
|
@ -0,0 +1,51 @@
|
||||
\pagebreak
|
||||
|
||||
# Stand der Technik
|
||||
|
||||
In diesem Kapitel wird der Stand der Technik in Bezug auf die
|
||||
Themenbereiche der Arbeit erläutert.
|
||||
Dabei wird auf die Themenbereiche der
|
||||
Arbeit eingegangen und die aktuelle Situation
|
||||
in der Forschung und Entwicklung dargestellt.
|
||||
|
||||
## Toyota
|
||||
|
||||
- CES 2024 Automotive Linux mit Flutter [@stephanievannessRacingCESExciting2024]
|
||||
|
||||
## Sony
|
||||
|
||||
```{=latex}
|
||||
\begin{figure}[h]
|
||||
\centering
|
||||
\caption{Sony}
|
||||
\includegraphics[width=15cm]{./assets/pdf/sony1.pdf}
|
||||
\label{sony1}
|
||||
|
||||
<!-- prettier-ignore -->
|
||||
\caption*{
|
||||
```
|
||||
|
||||
Quelle: @matsubayashiGraphicalUserInterface2020
|
||||
|
||||
```{=latex}
|
||||
}
|
||||
\end{figure}
|
||||
```
|
||||
|
||||
\begin{figure}[h]
|
||||
\caption{This is a figure.}
|
||||
\begin{center}
|
||||
\includegraphics[width=15cm]{./assets/pdf/sony2.pdf}
|
||||
\end{center}
|
||||
\end{figure}
|
||||
|
||||
<!-- \begin{figure}[h]
|
||||
\caption{This is a figure.}
|
||||
\begin{center}
|
||||
\includegraphics[width=15cm]{./assets/pdf/sony3.pdf}
|
||||
\end{center}
|
||||
\end{figure} -->
|
||||
|
||||
## Texas Instruments
|
||||
|
||||
\pagebreak
|
@ -2,12 +2,97 @@
|
||||
|
||||
# Analyse und Design
|
||||
|
||||
## Hardware
|
||||
|
||||
- Raspberry Pi 4
|
||||
- Touchscreen 15 Zoll (1920x1080)
|
||||
- Raspberry Pi 0 2W
|
||||
- Touchscreen 7 Zoll (1024x600)
|
||||
- RGB Matrix
|
||||
- Led
|
||||
|
||||
\pagebreak
|
||||
|
||||
## Anforderungen
|
||||
|
||||
### Anwendungseinsatz
|
||||
\begin{multicols}{3}
|
||||
|
||||
### Anwendungsfunktionen
|
||||
\begin{figure}[H]
|
||||
\caption{Home Screen}
|
||||
\centering
|
||||
{\includegraphics[width=2in]{./assets/skizzen/home.png}}
|
||||
\label{fig:screeplot}
|
||||
\end{figure}
|
||||
|
||||
### Abgrenzungskriterien
|
||||
\begin{figure}[H]
|
||||
\caption{Material 3 Widgets}
|
||||
\centering
|
||||
{\includegraphics[width=2in]{./assets/skizzen/materialWidgets.png}}
|
||||
\label{fig:screeplot}
|
||||
\end{figure}
|
||||
|
||||
### Benutzeroberfläche
|
||||
\begin{figure}[H]
|
||||
\caption{Video Player}
|
||||
\centering
|
||||
{\includegraphics[width=2in]{./assets/skizzen/video.png}}
|
||||
\label{fig:screeplot}
|
||||
\end{figure}
|
||||
|
||||
\end{multicols}
|
||||
|
||||
\begin{multicols}{3}
|
||||
|
||||
\begin{figure}[H]
|
||||
\caption{Led Controller}
|
||||
\centering
|
||||
{\includegraphics[width=2in]{./assets/skizzen/led.png}}
|
||||
\label{fig:screeplot}
|
||||
\end{figure}
|
||||
|
||||
\begin{figure}[H]
|
||||
\caption{Matrix Painter}
|
||||
\centering
|
||||
{\includegraphics[width=2in]{./assets/skizzen/matrix.png}}
|
||||
\label{fig:screeplot}
|
||||
\end{figure}
|
||||
|
||||
\begin{figure}[H]
|
||||
\caption{System Informationen}
|
||||
\centering
|
||||
{\includegraphics[width=2in]{./assets/skizzen/systeminfo.png}}
|
||||
\label{fig:screeplot}
|
||||
\end{figure}
|
||||
|
||||
\end{multicols}
|
||||
|
||||
\begin{multicols}{3}
|
||||
|
||||
\begin{figure}[H]
|
||||
\caption{Unendliche Liste}
|
||||
\centering
|
||||
{\includegraphics[width=2in]{./assets/skizzen/openapi.png}}
|
||||
\label{fig:screeplot}
|
||||
\end{figure}
|
||||
|
||||
\begin{figure}[H]
|
||||
\caption{Kartenansicht}
|
||||
\centering
|
||||
{\includegraphics[width=2in]{./assets/skizzen/openstreetmap.png}}
|
||||
\label{fig:screeplot}
|
||||
\end{figure}
|
||||
|
||||
\begin{figure}[H]
|
||||
\caption{Einstellungen}
|
||||
\centering
|
||||
{\includegraphics[width=2in]{./assets/skizzen/einstellungen.png}}
|
||||
\label{fig:screeplot}
|
||||
\end{figure}
|
||||
|
||||
\end{multicols}
|
||||
|
||||
\begin{figure}[H]
|
||||
\caption{Endless Runner}
|
||||
\centering
|
||||
{\includegraphics[width=2in]{./assets/skizzen/dashgame.png}}
|
||||
\label{fig:screeplot}
|
||||
\end{figure}
|
||||
|
@ -1,11 +1,85 @@
|
||||
\pagebreak
|
||||
|
||||
## Architektur
|
||||
|
||||
### Analyse
|
||||
|
||||
### Design
|
||||
|
||||
<!-- Flutter Entwicklung folgt einer unidirektionalen
|
||||
Datenflussarchitektur, die auf dem Modell-View-Controller
|
||||
(MVC)-Muster basiert. -->
|
||||
|
||||
Flutter gibt Entwicklern eine große Freiheit bei der
|
||||
Auswahl der Architektur für ihre Anwendungen. Es gibt
|
||||
keine festen Regeln oder Vorschriften zur Ordnerstruktur
|
||||
oder anderen Konventionen bezüglich der Architektur.
|
||||
|
||||
Als Architektur für die Anwendung
|
||||
wurde eine drei-schichtige Architektur gewählt.
|
||||
Eine Schichtenarchitektur ist nicht nur Teil der
|
||||
Architektur von Flutter selbst, sondern ist auch
|
||||
eine bewährte Architektur für die Entwicklung von
|
||||
Flutter Anwendungen. Die drei Haupt-Schichten
|
||||
der Architektur der Anwendung sind die Präsentationsschicht,
|
||||
die Geschäftsschicht und die Datenzugriffsschicht.
|
||||
In der Präsentationsschicht werden die Benutzeroberfläche
|
||||
und die Benutzerinteraktionen implementiert. Die Geschäftsschicht
|
||||
ist für die Implementierung der Geschäftslogik verantwortlich.
|
||||
Die Datenzugriffsschicht ist für den Zugriff auf die Datenbank
|
||||
und die Datenverarbeitung verantwortlich. Die drei Schichten
|
||||
|
||||
Die drei Schichten sind die **Präsentationsschicht**,
|
||||
die **Geschäftslogikschicht** und die **Datenzugriffsschicht**.
|
||||
Die Präsentationsschicht ist für die Darstellung der
|
||||
Benutzeroberfläche verantwortlich. Die Anwendungsschicht ist für die Geschäftslogik verantwortlich. Die Datenzugriffsschicht ist für den Zugriff auf die Datenbank verantwortlich. Die drei Schichten sind voneinander unabhängig und kommunizieren über definierte Schnittstellen. Die drei Schichten sind in der Abbildung 3.1 dargestellt.
|
||||
|
||||
- three-layer architecture [@hajianFlutterEngineering2024, 219]
|
||||
|
||||
\begin{figure}[ht]
|
||||
\centering
|
||||
\caption{3-Schichtenarchitektur der Flutter Anwendung}
|
||||
\end{figure}
|
||||
|
||||
```{=latex}
|
||||
\begin{center}
|
||||
```
|
||||
|
||||
```{.mermaid loc=assets/mermaid caption="3-Schichtenarchitektur der Flutter Anwendung" #fig:reference-name}
|
||||
flowchart TD
|
||||
A[Präsentationsschicht] <--> B
|
||||
B[Geschäftslogikschicht] <--> C
|
||||
C[Datenzugriffsschicht]
|
||||
```
|
||||
|
||||
```{=latex}
|
||||
\end{center}
|
||||
```
|
||||
|
||||
\begin{figure}[ht]
|
||||
\centering
|
||||
|
||||
<!-- prettier-ignore -->
|
||||
\caption*{Quelle: eigene Darstellung}
|
||||
\end{figure}
|
||||
|
||||
## Ordner Konventionen
|
||||
|
||||
### Layers-First Ordnerstruktur
|
||||
|
||||
- schneller und einfacher Start
|
||||
- einfach zu verstehen
|
||||
- sehr unübersichtlich, sobald die Anwendung wächst
|
||||
- zusammengehörende Dateien für ein Feature über das Projekt verteilt
|
||||
|
||||
### Feature-First Ordnerstruktur
|
||||
|
||||
- Dateien, die zu einem Feature gehören, sind an einem
|
||||
Ort zu finden
|
||||
- Layers in Feature
|
||||
- Einfache Kommunikation
|
||||
- Verständnis, was ein Feature ist, muss im Team trainiert werden
|
||||
|
||||
\begin{figure}[ht]
|
||||
\centering
|
||||
\begin{minipage}{7cm}
|
||||
@ -17,9 +91,9 @@
|
||||
.3 benchmark.
|
||||
.3 home.
|
||||
.3 settings.
|
||||
<!-- prettier-ignore -->
|
||||
.3 system\_information.
|
||||
.2 localization.
|
||||
.3 system\char`\_resources.
|
||||
.2 app.dart.
|
||||
.2 main.dart.
|
||||
}
|
||||
\end{minipage}
|
||||
\caption{Example caption}
|
||||
@ -27,3 +101,20 @@
|
||||
<!-- prettier-ignore -->
|
||||
\caption*{Quelle: hier Quellangabe}
|
||||
\end{figure}
|
||||
|
||||
eine Klasse pro File, Ausnahmen eng zusammengehörige Klassen
|
||||
wie zB. Stateful Widgets
|
||||
|
||||
state Architektur
|
||||
|
||||
android architecture
|
||||
|
||||
### freezed package
|
||||
|
||||
generiert den notwendigen Code einer
|
||||
unveränderlichen Klasse:
|
||||
|
||||
- Konstruktor
|
||||
- toString, equlas, hashCode Methode
|
||||
- copyWith Methode
|
||||
- JSON Serialisierung
|
||||
|
@ -1,17 +1,80 @@
|
||||
# Implementierung
|
||||
|
||||
## Grundaufbau
|
||||
Im folgenden Kapitel wird die Implementierung des Projektes
|
||||
beschrieben. Dabei wird auf die Entwicklungsumgebung, die
|
||||
Verwendung von Flutter und Dart, die Einrichtung des Raspberry
|
||||
Pi und die Implementierung der Software eingegangen.
|
||||
|
||||
### Entwicklungsumgebung
|
||||
## Entwicklungsumgebung
|
||||
|
||||
### Flutter Version Management
|
||||
### Visual Studio Code
|
||||
|
||||
Zur Installation von Flutter und Dart empfiehlt
|
||||
sich ein Version Manager. Der bekannteste Version
|
||||
Manager ist FVM (Flutter Version Management), doch
|
||||
der neuere Manager Puro bietet viele Vorteile.
|
||||
Für die Implementierung der Fallstudie wurde die
|
||||
plattformübergreifende Open-Source-Entwicklungsumgebung
|
||||
Visual Studio Code (VS Code) von Microsoft verwendet.
|
||||
VS Code ist eine sehr beliebte Entwicklungsumgebung
|
||||
für die Entwicklung von Webanwendungen, mobilen
|
||||
Anwendungen und Desktopanwendungen. Die Entwicklungsumgebung
|
||||
bietet eine Vielzahl von Erweiterungen, die die
|
||||
Entwicklung von Anwendungen in verschiedenen
|
||||
Programmiersprachen und Frameworks unterstützen.
|
||||
|
||||
MacOS und Linux
|
||||
### Flutter Versionsverwaltung
|
||||
|
||||
Das Versionsmanagement von Flutter ist standardmäßig
|
||||
sehr einfach gehalten. Es gibt nur eine globale
|
||||
Installation von Flutter, die manuell auf dem System
|
||||
installiert wird. Diese globale Installation
|
||||
arbeitet mit Git und nutzt verschiedene Branches
|
||||
für die verschiedenen Versionen von Flutter,
|
||||
diese Branches nennt Google Channels. Die
|
||||
Channels sind **stable**, **beta** und **master**.
|
||||
Die **stable** Version ist immer die aktuellste
|
||||
stabile Version von Flutter, diese wird für die
|
||||
Produktion und für die meisten Entwickler empfohlen.
|
||||
Die **beta** Version ist die neueste stabile Version
|
||||
von Flutter, welche neue Features beinhalten kann und
|
||||
nicht für die Produktion empfohlen wird. Diese Version
|
||||
wird später zur nächsten **stable** Version höhergestuft
|
||||
und wird von Google jedoch auch bereits extensiv getestet
|
||||
und sollte sehr stabil sein. Die **master** Version ist die neueste
|
||||
Entwicklungsversion von Flutter, diese Version ist
|
||||
nicht stabil und wird nicht für die Produktion
|
||||
empfohlen. Diese Version beinhaltet alle neuesten
|
||||
Commits welche von Entwicklern in das Flutter
|
||||
Repository gepusht wurden.
|
||||
|
||||
Hierbei gibt es jedoch einige Probleme, die
|
||||
durch die globale Installation von Flutter
|
||||
entstehen. Die globale Installation von Flutter
|
||||
ist nicht für die Arbeit mit verschiedenen
|
||||
Projekten und verschiedenen Versionen von Flutter
|
||||
ausgelegt. Es gibt keine Möglichkeit, verschiedene
|
||||
Versionen von Flutter zu installieren und zu
|
||||
verwalten. Außerdem gibt es keine einfache Möglichkeit,
|
||||
eine bestimmte Version von Flutter zu installieren,
|
||||
es wird immer die neueste **stable**, **beta** oder
|
||||
**master** Version installiert. So wurde in der
|
||||
Entwicklung der Fallstudie Flutter Version 3.19.2
|
||||
verwendet, welche jedoch zu einem späteren Zeitpunkt
|
||||
nicht mehr aktuell ist.
|
||||
|
||||
Zur Lösung dieser Probleme gibt es verschiedene
|
||||
Versionsverwaltungs-Tools für Flutter. Die bekanntesten
|
||||
sind FVM (Flutter Version Management) und Puro.
|
||||
|
||||
FVM ist ein simples CLI-Tool, welches es ermöglicht,
|
||||
verschiedene Versionen von Flutter zu installieren
|
||||
und zu verwalten. Puro dahingegen ist ein weiteres
|
||||
CLI-Tool, welches neben der Versionsverwaltung von
|
||||
Flutter auch eine Integration mit den bekannten
|
||||
Entwicklungsumgebungen VS Code und IntelliJ bietet.
|
||||
|
||||
In der Fallstudie wurde Puro verwendet und das
|
||||
Projekt ist so konfiguriert, dass es die Version
|
||||
3.19.2 von Flutter verwendet.
|
||||
|
||||
<!-- MacOS und Linux
|
||||
|
||||
```bash
|
||||
curl -o- https://puro.dev/install.sh | PURO_VERSION="1.4.4" bash
|
||||
@ -73,4 +136,4 @@ Engine • revision 04817c99c9
|
||||
Tools • Dart 3.3.0 • DevTools 2.31.1
|
||||
```
|
||||
|
||||
## Setup von Raspberry Pi
|
||||
## Setup von Raspberry Pi -->
|
||||
|
@ -75,3 +75,452 @@ Key Design Concepts:
|
||||
- Challenges solved by your design choices.
|
||||
- Did you address performance optimizations for embedded systems?
|
||||
- How did you make the UI fit for the embedded target? -->
|
||||
|
||||
## Implementierung der Features
|
||||
|
||||
\pagebreak
|
||||
|
||||
### Home
|
||||
|
||||
\begin{figure}[ht]
|
||||
\caption{Example caption}
|
||||
\centering
|
||||
\begin{minipage}{7cm}
|
||||
\dirtree{%
|
||||
.1 home/.
|
||||
.2 presentation/.
|
||||
.3 home\char`\_screen.dart.
|
||||
}
|
||||
\end{minipage}
|
||||
\end{figure}
|
||||
|
||||
\begin{multicols}{2}
|
||||
|
||||
\begin{figure}[H]
|
||||
\caption{Home Screen}
|
||||
\centering
|
||||
{\includegraphics[width=8cm]{./assets/screenshots/home.png}}
|
||||
\label{fig:screeplot}
|
||||
\end{figure}
|
||||
|
||||
\begin{figure}[H]
|
||||
\caption{Home Screen}
|
||||
\centering
|
||||
{\includegraphics[width=8cm]{./assets/screenshots/homeDebug.png}}
|
||||
\label{fig:screeplot}
|
||||
\end{figure}
|
||||
|
||||
\end{multicols}
|
||||
|
||||
\pagebreak
|
||||
|
||||
### Material Demo
|
||||
|
||||
\begin{figure}[ht]
|
||||
\caption{Example caption}
|
||||
\centering
|
||||
\begin{minipage}{10cm}
|
||||
\dirtree{%
|
||||
.1 material\char`\_demo/.
|
||||
.2 presentation/.
|
||||
.3 material\char`\_demo\char`\_screen.dart.
|
||||
.3 widgets/.
|
||||
.4 component\char`\_decoration.dart.
|
||||
}
|
||||
\end{minipage}
|
||||
\end{figure}
|
||||
|
||||
\begin{multicols}{2}
|
||||
|
||||
\begin{figure}[H]
|
||||
\caption{Home Screen}
|
||||
\centering
|
||||
{\includegraphics[width=8cm]{./assets/screenshots/material3.png}}
|
||||
\label{fig:screeplot}
|
||||
\end{figure}
|
||||
|
||||
\begin{figure}[H]
|
||||
\caption{Home Screen}
|
||||
\centering
|
||||
{\includegraphics[width=8cm]{./assets/screenshots/material3Dialog.png}}
|
||||
\label{fig:screeplot}
|
||||
\end{figure}
|
||||
|
||||
\end{multicols}
|
||||
|
||||
\pagebreak
|
||||
|
||||
### Benchmark
|
||||
|
||||
\begin{figure}[h]
|
||||
\caption{Example caption}
|
||||
\centering
|
||||
\begin{minipage}{7cm}
|
||||
\dirtree{%
|
||||
.1 benchmark/.
|
||||
.2 business/.
|
||||
.3 flame/.
|
||||
.4 rogue\char`\_shooter/.
|
||||
.4 sprite\char`\_renderer/.
|
||||
.2 data/.
|
||||
.3 models/.
|
||||
.4 benchmark.dart.
|
||||
.4 ember.dart.
|
||||
.3 benchmarks\char`\_list.dart.
|
||||
.2 presentation/.
|
||||
.3 widgets/.
|
||||
.4 benchmark\char`\_card.dart.
|
||||
.3 benchmark\char`\_screen.dart.
|
||||
.3 map\char`\_benchmark\char`\_screen.dart.
|
||||
.3 rogue\char`\_shooter\char`\_screen.dart.
|
||||
.3 sprite\char`\_benchmark\char`\_screen.dart.
|
||||
.3 video\char`\_benchmark\char`\_screen.dart.
|
||||
.3 vsync\char`\_benchmark\char`\_screen.dart.
|
||||
}
|
||||
\end{minipage}
|
||||
\end{figure}
|
||||
|
||||
\begin{multicols}{2}
|
||||
|
||||
\begin{figure}[H]
|
||||
\caption{Home Screen}
|
||||
\centering
|
||||
{\includegraphics[width=8cm]{./assets/screenshots/benchmark.png}}
|
||||
\label{fig:screeplot}
|
||||
\end{figure}
|
||||
|
||||
\begin{figure}[H]
|
||||
\caption{Home Screen}
|
||||
\centering
|
||||
{\includegraphics[width=8cm]{./assets/screenshots/benchmarkSprite.png}}
|
||||
\label{fig:screeplot}
|
||||
\end{figure}
|
||||
|
||||
\end{multicols}
|
||||
|
||||
\pagebreak
|
||||
|
||||
\begin{multicols}{2}
|
||||
|
||||
\begin{figure}[H]
|
||||
\caption{Home Screen}
|
||||
\centering
|
||||
{\includegraphics[width=8cm]{./assets/screenshots/benchmarkSpriteFinished.png}}
|
||||
\label{fig:screeplot}
|
||||
\end{figure}
|
||||
|
||||
\begin{figure}[H]
|
||||
\caption{Home Screen}
|
||||
\centering
|
||||
{\includegraphics[width=8cm]{./assets/screenshots/benchmarkFlame.png}}
|
||||
\label{fig:screeplot}
|
||||
\end{figure}
|
||||
|
||||
\end{multicols}
|
||||
|
||||
\begin{multicols}{2}
|
||||
|
||||
\begin{figure}[H]
|
||||
\caption{Home Screen}
|
||||
\centering
|
||||
{\includegraphics[width=8cm]{./assets/screenshots/benchmarkFlame2.png}}
|
||||
\label{fig:screeplot}
|
||||
\end{figure}
|
||||
|
||||
\begin{figure}[H]
|
||||
\caption{Home Screen}
|
||||
\centering
|
||||
{\includegraphics[width=8cm]{./assets/screenshots/benchmarkVsync.png}}
|
||||
\label{fig:screeplot}
|
||||
\end{figure}
|
||||
|
||||
\end{multicols}
|
||||
|
||||
\begin{multicols}{2}
|
||||
|
||||
\begin{figure}[H]
|
||||
\caption{Home Screen}
|
||||
\centering
|
||||
{\includegraphics[width=8cm]{./assets/screenshots/benchmarkVideo.png}}
|
||||
\label{fig:screeplot}
|
||||
\end{figure}
|
||||
|
||||
\begin{figure}[H]
|
||||
\caption{Home Screen}
|
||||
\centering
|
||||
{\includegraphics[width=8cm]{./assets/screenshots/benchmarkMap.png}}
|
||||
\label{fig:screeplot}
|
||||
\end{figure}
|
||||
|
||||
\end{multicols}
|
||||
|
||||
\pagebreak
|
||||
|
||||
### News
|
||||
|
||||
\begin{figure}[ht]
|
||||
\caption{Example caption}
|
||||
\centering
|
||||
\begin{minipage}{7cm}
|
||||
\dirtree{%
|
||||
.1 news\char`\_api/.
|
||||
.2 business/.
|
||||
.3 news\char`\_controller.dart.
|
||||
.3 scroll\char`\_state\char`\_controller.dart.
|
||||
.2 data/.
|
||||
.3 models/.
|
||||
.4 news.dart.
|
||||
.4 region\char`\_news.dart.
|
||||
.4 teaser\char`\_image\char`\_url.dart.
|
||||
.4 teaser\char`\_image.dart.
|
||||
.3 repository/.
|
||||
.4 news\char`\_repository.dart.
|
||||
.2 presentation/.
|
||||
.3 widgets/.
|
||||
.4 news\char`\_grid\char`\_item.dart.
|
||||
.4 news\char`\_grid.dart.
|
||||
.4 news\char`\_list\char`\_item.dart.
|
||||
.4 news\char`\_list.dart.
|
||||
.3 news\char`\_screen.dart.
|
||||
}
|
||||
\end{minipage}
|
||||
\end{figure}
|
||||
|
||||
\begin{multicols}{2}
|
||||
|
||||
\begin{figure}[H]
|
||||
\caption{Home Screen}
|
||||
\centering
|
||||
{\includegraphics[width=8cm]{./assets/screenshots/newsList.png}}
|
||||
\label{fig:screeplot}
|
||||
\end{figure}
|
||||
|
||||
\begin{figure}[H]
|
||||
\caption{Home Screen}
|
||||
\centering
|
||||
{\includegraphics[width=8cm]{./assets/screenshots/newsGrid.png}}
|
||||
\label{fig:screeplot}
|
||||
\end{figure}
|
||||
|
||||
\end{multicols}
|
||||
|
||||
\pagebreak
|
||||
|
||||
### Led Morse
|
||||
|
||||
\begin{figure}[ht]
|
||||
\caption{Example caption}
|
||||
\centering
|
||||
\begin{minipage}{7cm}
|
||||
\dirtree{%
|
||||
.1 morse\char`\_led/.
|
||||
.2 business/.
|
||||
.3 service/.
|
||||
.4 morse\char`\_service.dart.
|
||||
.2 presentation/.
|
||||
.3 led\char`\_screen.dart.
|
||||
}
|
||||
\end{minipage}
|
||||
\end{figure}
|
||||
|
||||
\begin{multicols}{2}
|
||||
|
||||
\begin{figure}[H]
|
||||
\caption{Home Screen}
|
||||
\centering
|
||||
{\includegraphics[width=8cm]{./assets/screenshots/morse.png}}
|
||||
\label{fig:screeplot}
|
||||
\end{figure}
|
||||
|
||||
\begin{figure}[H]
|
||||
\caption{Home Screen}
|
||||
\centering
|
||||
{\includegraphics[width=8cm]{./assets/screenshots/morseInput.png}}
|
||||
\label{fig:screeplot}
|
||||
\end{figure}
|
||||
|
||||
\end{multicols}
|
||||
|
||||
\pagebreak
|
||||
|
||||
### Matrix
|
||||
|
||||
\begin{figure}[ht]
|
||||
\caption{Example caption}
|
||||
\centering
|
||||
\begin{minipage}{7cm}
|
||||
\dirtree{%
|
||||
.1 matrix\char`\_rgb/.
|
||||
.2 business/.
|
||||
.3 service/.
|
||||
.4 matrix\char`\_service.dart.
|
||||
.3 utils/.
|
||||
.4 find\char`\_closest\char`\_color\char`\_index.dart.
|
||||
.2 data/.
|
||||
.3 models/.
|
||||
.4 pixel.dart.
|
||||
.2 presentation/.
|
||||
.3 widgets/.
|
||||
.4 pixel\char`\_painter.dart.
|
||||
.3 matrix\char`\_screen.dart.
|
||||
}
|
||||
\end{minipage}
|
||||
\end{figure}
|
||||
|
||||
\begin{multicols}{2}
|
||||
|
||||
\begin{figure}[H]
|
||||
\caption{Home Screen}
|
||||
\centering
|
||||
{\includegraphics[width=8cm]{./assets/screenshots/matrix.png}}
|
||||
\label{fig:screeplot}
|
||||
\end{figure}
|
||||
|
||||
\begin{figure}[H]
|
||||
\caption{Home Screen}
|
||||
\centering
|
||||
{\includegraphics[width=8cm]{./assets/screenshots/matrixInput.png}}
|
||||
\label{fig:screeplot}
|
||||
\end{figure}
|
||||
|
||||
\end{multicols}
|
||||
|
||||
\pagebreak
|
||||
|
||||
\begin{multicols}{2}
|
||||
|
||||
\begin{figure}[H]
|
||||
\caption{Home Screen}
|
||||
\centering
|
||||
{\includegraphics[width=8cm]{./assets/screenshots/matrixColor.png}}
|
||||
\label{fig:screeplot}
|
||||
\end{figure}
|
||||
|
||||
\begin{figure}[H]
|
||||
\caption{Home Screen}
|
||||
\centering
|
||||
{\includegraphics[width=8cm]{./assets/screenshots/matrixColorWheel.png}}
|
||||
\label{fig:screeplot}
|
||||
\end{figure}
|
||||
|
||||
\end{multicols}
|
||||
|
||||
\pagebreak
|
||||
|
||||
### System Informationen
|
||||
|
||||
\begin{figure}[ht]
|
||||
\caption{Example caption}
|
||||
\centering
|
||||
\begin{minipage}{7cm}
|
||||
\dirtree{%
|
||||
.1 system\char`\_resources/.
|
||||
.2 business/.
|
||||
.3 service/.
|
||||
.4 memory\char`\_service.dart.
|
||||
.3 utils/.
|
||||
.4 get\char`\_cpu\char`\_usage\char`\_percentage.dart.
|
||||
.2 presentation/.
|
||||
.3 system\char`\_resources\char`\_screen.dart.
|
||||
}
|
||||
\end{minipage}
|
||||
\end{figure}
|
||||
|
||||
\begin{figure}[H]
|
||||
\caption{Home Screen}
|
||||
\centering
|
||||
{\includegraphics[width=8cm]{./assets/screenshots/systemResources.png}}
|
||||
\label{fig:screeplot}
|
||||
\end{figure}
|
||||
|
||||
\pagebreak
|
||||
|
||||
### Einstellungen
|
||||
|
||||
\begin{figure}[ht]
|
||||
\caption{Example caption}
|
||||
\centering
|
||||
\begin{minipage}{7cm}
|
||||
\dirtree{%
|
||||
.1 settings/.
|
||||
.2 business/.
|
||||
.3 wifi\char`\_controller.dart.
|
||||
.2 presentation/.
|
||||
.3 settings\char`\_screen/.
|
||||
.4 widgets/.
|
||||
.5 color\char`\_seed\char`\_button.dart.
|
||||
.4 settings\char`\_screen.dart.
|
||||
.3 wifi\char`\_settings\char`\_screen/.
|
||||
.4 widgets/.
|
||||
.5 ap\char`\_pw\char`\_dialog.dart.
|
||||
.5 ap\char`\_tile\char`\_demo.dart.
|
||||
.5 ap\char`\_tile.dart.
|
||||
.5 wifi\char`\_bar\char`\_icon.dart.
|
||||
.4 accesspoint\char`\_screen.dart.
|
||||
.4 wifi\char`\_settings\char`\_screen.dart.
|
||||
}
|
||||
\end{minipage}
|
||||
\end{figure}
|
||||
|
||||
\begin{multicols}{2}
|
||||
|
||||
\begin{figure}[H]
|
||||
\caption{Home Screen}
|
||||
\centering
|
||||
{\includegraphics[width=8cm]{./assets/screenshots/settings.png}}
|
||||
\label{fig:screeplot}
|
||||
\end{figure}
|
||||
|
||||
\begin{figure}[H]
|
||||
\caption{Home Screen}
|
||||
\centering
|
||||
{\includegraphics[width=8cm]{./assets/screenshots/settingsDark.png}}
|
||||
\label{fig:screeplot}
|
||||
\end{figure}
|
||||
|
||||
\end{multicols}
|
||||
|
||||
\pagebreak
|
||||
|
||||
\begin{multicols}{2}
|
||||
|
||||
\begin{figure}[H]
|
||||
\caption{Home Screen}
|
||||
\centering
|
||||
{\includegraphics[width=8cm]{./assets/screenshots/settingsWifiList.png}}
|
||||
\label{fig:screeplot}
|
||||
\end{figure}
|
||||
|
||||
\begin{figure}[H]
|
||||
\caption{Home Screen}
|
||||
\centering
|
||||
{\includegraphics[width=8cm]{./assets/screenshots/settingsWifiDetails.png}}
|
||||
\label{fig:screeplot}
|
||||
\end{figure}
|
||||
|
||||
\end{multicols}
|
||||
|
||||
\begin{multicols}{2}
|
||||
|
||||
\begin{figure}[H]
|
||||
\caption{Home Screen}
|
||||
\centering
|
||||
{\includegraphics[width=8cm]{./assets/screenshots/settingsWifiConnect.png}}
|
||||
\label{fig:screeplot}
|
||||
\end{figure}
|
||||
|
||||
\begin{figure}[H]
|
||||
\caption{Home Screen}
|
||||
\centering
|
||||
{\includegraphics[width=8cm]{./assets/screenshots/settingsWifiPasswordInput.png}}
|
||||
\label{fig:screeplot}
|
||||
\end{figure}
|
||||
|
||||
\end{multicols}
|
||||
|
||||
\begin{figure}[H]
|
||||
\caption{Home Screen}
|
||||
\centering
|
||||
{\includegraphics[width=8cm]{./assets/screenshots/settingsMaterial2.png}}
|
||||
\label{fig:screeplot}
|
||||
\end{figure}
|
||||
|
172
chapters/06_implementierung/02_yocto.md
Normal file
@ -0,0 +1,172 @@
|
||||
\pagebreak
|
||||
|
||||
## Yocto Project
|
||||
|
||||
Kein source-code, nur meta daten.
|
||||
Die Regeln, wie der Source-Code gebaut wird, werden in Rezepten festgelegt.
|
||||
|
||||
docker als build-umgebung.
|
||||
https://hub.docker.com/r/crops/poky
|
||||
|
||||
poky = yocto.
|
||||
Yocto Project basierend auf Poky Linux.
|
||||
Ausgesprochen "Pocky" wie das japanische Knabberzeug.
|
||||
|
||||
Alle 6 Monate neue Version.
|
||||
Alle 2 Jahre Long-Term-Support Version.
|
||||
|
||||
Distro: How I want to put my system together.
|
||||
Machine: the board i want to build for.
|
||||
Image: the selection of packages i want.
|
||||
|
||||
build cross-compiler.
|
||||
tools for build time.
|
||||
compile code for target machine.
|
||||
|
||||
### Layers
|
||||
|
||||
Layer contains bunch of recipes.
|
||||
|
||||
3 layers:
|
||||
bsp: board support package
|
||||
defines a machine and related board-specific packages
|
||||
contains conf/machine/[MACHINE].conf
|
||||
|
||||
distribution: defines a DISTRO such as Poky
|
||||
contains conf/distro/[DISTRO].conf
|
||||
|
||||
Software: everything else
|
||||
contains neither conf/machine/[MACHINE].conf nor conf/distro/[DISTRO].conf
|
||||
libraries, e.g. qt5
|
||||
languages, e.g. Java
|
||||
tools, e.g. virtualisation or selinux
|
||||
|
||||
### Recipes
|
||||
|
||||
contain instructions on how to fetch, configure, compile and install a software component
|
||||
the body contains BitBake metadata (assignment of variables, mostly); the tasks are written
|
||||
in shell script or Python
|
||||
Recipe files have a suffix .bb
|
||||
may be extended with append recipes with .bbappend suffix
|
||||
|
||||
majority of recipes produce packages.
|
||||
/tmp/deploy/rpm/..
|
||||
often one recipe produces several packages.
|
||||
|
||||
IMAGE_INSTALL:append
|
||||
|
||||
### Images
|
||||
|
||||
core-image-base: A console-only image that fully supports the target device hardware.
|
||||
core-image-full-cmdline: A console-only image with more full-featured Linux system functionality installed.
|
||||
core-image-minimal: A small image just capable of allowing a device to boot.
|
||||
core-image-weston: A very basic Wayland image with a terminal. This image provides the
|
||||
Wayland protocol libraries and the reference Weston compositor. For more information,
|
||||
see the “Using Wayland and Weston” section in the Yocto Project Development Tasks Manual.
|
||||
|
||||
\begin{center}
|
||||
\begin{table}[h]
|
||||
\caption{Example caption}
|
||||
\resizebox{\textwidth}{!}{%
|
||||
\begin{tabular}{|l|l|}
|
||||
\hline
|
||||
Meta-Layer & Branch \\ \hline
|
||||
https://github.com/kraj/meta-clang & 312ff1c39b1bf5d35c0321e873417eb013cea477 \\ \hline
|
||||
https://github.com/meta-flutter/meta-flutter & 82e167a7f13161a4ee9c5a426f13df79987d1055 \\ \hline
|
||||
https://github.com/openembedded/meta-openembedded & fda737ec0cc1d2a5217548a560074a8e4d5ec580 \\ \hline
|
||||
https://github.com/agherzan/meta-raspberrypi & 9dc6673d41044f1174551120ce63501421dbcd85 \\ \hline
|
||||
https://github.com/jwinarske/meta-vulkan & ceb47bd0ed2a9f657fdae48a901e8a41ba697e74 \\ \hline
|
||||
https://codeberg.org/flk/meta-wayland & cb22939f751c74baa51d9474ba6e8ba647e99756 \\ \hline
|
||||
\end{tabular}%
|
||||
}
|
||||
\end{table}
|
||||
\end{center}
|
||||
|
||||
\begin{figure}[h]
|
||||
\caption{Example caption}
|
||||
\centering
|
||||
\begin{minipage}{7cm}
|
||||
\dirtree{%
|
||||
.1 crops-yocto/.
|
||||
.2 build/.
|
||||
.3 conf/.
|
||||
.4 bblayers.conf.
|
||||
.4 local.conf.
|
||||
.2 poky/.
|
||||
.2 run\char`\_crops.sh.
|
||||
.2 Makefile.
|
||||
}
|
||||
\end{minipage}
|
||||
\end{figure}
|
||||
|
||||
\begin{figure}[h]
|
||||
\caption{Example caption}
|
||||
\centering
|
||||
\begin{minipage}{7cm}
|
||||
\dirtree{%
|
||||
.1 poky/.
|
||||
.2 meta/.
|
||||
.2 meta-poky/.
|
||||
.2 meta-yocto-bsp/.
|
||||
.2 meta-selftest/.
|
||||
.2 meta-skeleton/.
|
||||
.2 mea-clang/.
|
||||
.2 meta-flutter/.
|
||||
.2 meta-flutter-apps/.
|
||||
.2 meta-flutter-elinux/.
|
||||
.2 meta-openembedded/.
|
||||
.2 meta-raspberrypi/.
|
||||
.2 meta-wayland/.
|
||||
.2 meta-vulkan/.
|
||||
}
|
||||
\end{minipage}
|
||||
\end{figure}
|
||||
|
||||
\begin{figure}[h]
|
||||
\caption{Example caption}
|
||||
\centering
|
||||
\begin{minipage}{10cm}
|
||||
\dirtree{%
|
||||
.1 meta-flutter-apps/.
|
||||
.2 recipes-graphics/.
|
||||
.3 flutter-apps/.
|
||||
.4 third-party/.
|
||||
.5 flutter-elinux\char`\_git.bb/.
|
||||
.5 flutter-wonders\char`\_git.bb/.
|
||||
}
|
||||
\end{minipage}
|
||||
\end{figure}
|
||||
|
||||
\begin{figure}[h]
|
||||
\caption{Example caption}
|
||||
\centering
|
||||
\begin{minipage}{10cm}
|
||||
\dirtree{%
|
||||
.1 meta-flutter-elinux/.
|
||||
.2 recipes-core/.
|
||||
.3 custom-scripts/.
|
||||
.4 files/.
|
||||
.5 flutter-auto-launch/.
|
||||
.4 flutter-auto-launch\char`\_1.00.bb.
|
||||
.3 flutter-elinux-rules/.
|
||||
.4 files/.
|
||||
.5 90-interfaces.rules.
|
||||
.4 flutter-elinux-rules\char`\_1.00.bb.
|
||||
.3 flutter-user/.
|
||||
.4 flutter-user\char`\_1.00.bb.
|
||||
.3 systemd/.
|
||||
.4 files/.
|
||||
.5 flutter-auto.service.
|
||||
.5 flutter-pi.service.
|
||||
.4 flutter-auto-service\char`\_1.00.bb.
|
||||
.4 flutter-pi-service\char`\_1.00.bb.
|
||||
.4 systemd\char`\_\%.bbappend.
|
||||
.3 systemd-conf/.
|
||||
.4 files/.
|
||||
.5 en.network.
|
||||
.5 eth.network.
|
||||
.5 wlan.network.
|
||||
.4 systemd-conf\char`\_\%.bbappend.
|
||||
}
|
||||
\end{minipage}
|
||||
\end{figure}
|
@ -0,0 +1,18 @@
|
||||
# Zusammenfassung
|
||||
|
||||
## Benchmark
|
||||
|
||||
\begin{center}
|
||||
|
||||
\begin{table}[h]
|
||||
\resizebox{\textwidth}{!}{%
|
||||
\begin{tabular}{|l|l|l|}
|
||||
\hline
|
||||
Flutter Embedder & Ergebnisse (Animationen nach 30 Minuten) & Durchschnittlich (gerundet) \\ \hline
|
||||
Flutter-Pi & 537, 543, 544 & 541 \\ \hline
|
||||
Flutter-Auto & 1025, 1163, 1129 & 1106 \\ \hline
|
||||
\end{tabular}%
|
||||
}
|
||||
\end{table}
|
||||
|
||||
\end{center}
|
1
code/crops-yocto
Submodule
@ -0,0 +1 @@
|
||||
Subproject commit 5fc57a6c602f3937bfe5392dc3bd3681edf944d0
|
@ -75,6 +75,30 @@ packages:
|
||||
description: flutter
|
||||
source: sdk
|
||||
version: "0.0.0"
|
||||
leak_tracker:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: leak_tracker
|
||||
sha256: "78eb209deea09858f5269f5a5b02be4049535f568c07b275096836f01ea323fa"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "10.0.0"
|
||||
leak_tracker_flutter_testing:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: leak_tracker_flutter_testing
|
||||
sha256: b46c5e37c19120a8a01918cfaf293547f47269f7cb4b0058f21531c2465d6ef0
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.0.1"
|
||||
leak_tracker_testing:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: leak_tracker_testing
|
||||
sha256: a597f72a664dbd293f3bfc51f9ba69816f84dcd403cdac7066cb3f6003f3ab47
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.0.1"
|
||||
lints:
|
||||
dependency: transitive
|
||||
description:
|
||||
@ -87,34 +111,34 @@ packages:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: matcher
|
||||
sha256: "1803e76e6653768d64ed8ff2e1e67bea3ad4b923eb5c56a295c3e634bad5960e"
|
||||
sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "0.12.16"
|
||||
version: "0.12.16+1"
|
||||
material_color_utilities:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: material_color_utilities
|
||||
sha256: "9528f2f296073ff54cb9fee677df673ace1218163c3bc7628093e7eed5203d41"
|
||||
sha256: "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "0.5.0"
|
||||
version: "0.8.0"
|
||||
meta:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: meta
|
||||
sha256: a6e590c838b18133bb482a2745ad77c5bb7715fb0451209e1a7567d416678b8e
|
||||
sha256: d584fa6707a52763a52446f02cc621b077888fb63b93bbcb1143a7be5a0c0c04
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.10.0"
|
||||
version: "1.11.0"
|
||||
path:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: path
|
||||
sha256: "8829d8a55c13fc0e37127c29fedf290c102f4e40ae94ada574091fe0ff96c917"
|
||||
sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.8.3"
|
||||
version: "1.9.0"
|
||||
sky_engine:
|
||||
dependency: transitive
|
||||
description: flutter
|
||||
@ -176,13 +200,13 @@ packages:
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.1.4"
|
||||
web:
|
||||
vm_service:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: web
|
||||
sha256: afe077240a270dcfd2aafe77602b4113645af95d0ad31128cc02bce5ac5d5152
|
||||
name: vm_service
|
||||
sha256: b3d56ff4341b8f182b96aceb2fa20e3dcb336b9f867bc0eafc0de10f1048e957
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "0.3.0"
|
||||
version: "13.0.0"
|
||||
sdks:
|
||||
dart: ">=3.2.6 <4.0.0"
|
||||
|
1
code/flutter_elinux
Submodule
@ -0,0 +1 @@
|
||||
Subproject commit 97dd5476ed0ef7c4ee573bb6bbd7dbccd4ee0602
|