Mit Unity Apps programmieren?

6 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Unity ist eine Game-Engine, die ist natürlich nicht für normale Anwendungen geeignet, es geht zwar, aber macht keinen Sinn.

Was geht:

WinForms
Stein alt und im Grunde nur ein Wrapper um die WinAPI. Sobald man spezifischere Detail-Anforderungen hat, landet man schnell beim selbst zeichnen und dann kann die Arbeit damit sehr komplex, aufwändig und unübersichtlich werden.
Klar kann man damit auch gut strukturierte und übersichtliche Anwendungen entwickeln, aber davon hab ich noch keine gesehen.

WPF
Das "denkt" die Arbeitsweise nach WinForms grundlegend neu, es ist kein Klicki-Bunti mehr, man muss verstanden haben, was da passiert. Leider ist die Einstiegshürde recht hoch und Microsoft liefert immer noch keinen "Rumpf" für Programme mit, aber wenn man es richtig macht, kann man damit sehr übersichtliche und flexible Desktop-Programme schreiben.
Leider passiert es durch die hohe Einstiegshürde und das Fehlen eines "Rumpfs" sehr leicht, dass Wildwuchs gebaut wird, der dann in etwa auf dem Grausigkeits-Level von WinForms liegt.

ASP.NET
Eine Application-Framework für Web-Anwendungen, also Websites und Web-Dienste. Es ist ziemlich alt, hat da aber schon eine grobe Struktur für einen Anwendungs-"Rumpf" geliefert, hatte aber einige Problemchen.

ASP.NET Core
Ist die Neuentwicklung von ASP.NET, eigentlich ist im Hintergrund technisch alles neu, nicht nur das Framework. Hier liefert Microsoft einen kompletten Rumpf mit, fordert dabei aber auch, dass man die verwendeten Patterns verstanden hat, was für eine recht hohe Einstiegshürde sorgt.
Alleine würde ich es aber nicht nutzen. Stattdessen würde ich es mit reinen Web-Technologien wie z.B. Angular kombinieren. ASP.NET Core liefert dann das Backend als Web-Service und Angular das Web-Frontent.

Xamarin
Eine Framework zur Entwicklung von Cross-Platform-Handy-Apps für iOS, Android und WindowsPhone. Vom Konzept bedient es sich bei WPF, die Probleme sind ähnlich, die Vorteile aber auch.
Allerdings merkt man noch ein/zwei Kinderkrankheiten, aber das ist normal, wenn man die drei Betriebssysteme unter einen Hut quetschen will.

MAUI
Ist ganz neu angekündigt und böse Zungen sagen, dass es eigentlich nur Xamarin in grün mit anderem Namen und Desktop-Support (was technisch kaum einen Unterschied macht) ist.

Mehr fällt mir gerade nicht ein.

Für Desktop würde ich immer und sofort WPF nutzen.
Für Webseiten definitiv ASP.NET Core mit Angular.
Für Web-Services definitiv ASP.NET Core, da damit REST sehr einfach ist.
Für Handy-Apps entweder Xamarin oder ASP.NET Core (Webseiten laufen ja auch auf Handys), je nach Anforderung.

Woher ich das weiß:Berufserfahrung
Palladin007  18.07.2020, 12:50

Ach ja, UWP hab ich noch vergessen.

Ist im Grunde ein angepasstes, abgespecktes und erweitertes WPF, das auf allen Windows-Geräten (Desktop, Handy, etc.) läuft.
Man merkt aber auch, dass es neu ist und noch einige Schwächen hat, aber es hat Spaß gemacht, damit zu arbeiten.
Leider sind Windows-Handys so ziemlich tot und damit auch UWP.

0

ich finde unity dafür auch am besten aber eine einfach windows forms aplication würde es auch tun

codinghelp  16.07.2020, 21:55

dir hab ich auch schon gesagt, dass unity dafür die falsche Wahl ist. Es ist einfach ungeeignet dafür

0
LAUCH375  16.07.2020, 22:04
@codinghelp

aber ohne irgendeine begründung werde ich meine meinung nicht ändern. Warum inst unity denn dafür ungeeignet? Es liefert sehr einfache und praktische tools und erleichtert das programmieren sehr.

0
codinghelp  16.07.2020, 22:04
@LAUCH375

Praktische tools für Spielentwicklung. Was denn sonst noch?

0
LAUCH375  16.07.2020, 22:08
@codinghelp

nichts weiteres. Also genau das was eine game engine machen soll. Nicht nur die spiele entwicklung ist die app erstellung einfacher sondern auch solche dinge wie ein kalender oder rechen anwendunge, weil eine graphische oberfläche dort sehr einfach erstellbar ist. egal ob für ein spiel oder etwas anderes

0
LAUCH375  16.07.2020, 22:16
@codinghelp

und das findest du einfacher als in Unity? die forms dort zu bilden ist definitiv nicht so geordnet und so einfach wie in unity zudem hat man dort weniger möglichkeiten. Das ist eine sehr einfache UI gewesen in dem video. Da kann man mit unity mehr rausholen

0
LAUCH375  16.07.2020, 22:23
@codinghelp

ja man kann das designen aber das ist beo unity halt eben deutlich geordneter und einfacher. Dorrt brauch man auch kein devexpress mehr sondern hat alles direkt dort. Und ich habe auch erst mit windows forms gearbeitet bevor ich unity hatte. In unity muss man halt nichts alles in einem script machen und viel schreiben sondern man kann dort alles per drag and drop einfach einfügen und verstellen

0
LAUCH375  16.07.2020, 22:29
@codinghelp

ja aber der ist immer noch komplizierter und ungeordneter als unity. Wenn man direkt unity nutzt kann man sich auch schon mal an die programmierumgebung gewöhnen und hat dann für spätere apps einen vorteil. Bei dem projekt einen kalender zu machen ist halt beides gleichsinnvoll aber meintest du nicht, dass unity deutlich unpraktischer ist? meine aussage war nur, dass unity gut dafür ist aber windows form aplication auch geeignet ist. Also was genau ist jetzt an unity ungeeignet dafür?

0
codinghelp  16.07.2020, 22:34
@LAUCH375

Wie willst du denn einen Kalender in Unity bauen? Das müsstest du von Grund auf machen, und das dauert ewig. Zudem hast du übelst viel unnötige Sachen dabei und du kannst mir nicht erzählen dass das Canvas von Unity leichter zu bedienen ist als der Designer von WinForms.

0
Palladin007  17.07.2020, 10:16
@LAUCH375
zudem hat man dort weniger möglichkeiten

Das ist Schwachsinn, sorry, aber allein diese Aussage zeigt mir: Du hast nicht den Hauch einer Ahnung davon, wie WinForms und Co so funktionieren :D

Unity ist eine Game-Engine, das "Engine" sagt es schon, sowas braucht man in normalen Desktop-Anwendungen nicht.

Unity ist für Spiel-Grafik gebaut, wie würdest Du z.B. eine Tabelle bauen, oder einen Kalender? Geht bestimmt, aber entsprechende UI-Technologien sind genau für sowas gebaut, entweder es gibt schon fertige Controls oder man hat einige Tools an der Hand, mit denen man es sich recht leicht selbst bauen kann.

Was Du schreibst, klingt für mich nach:
Ich kenne nur Unity gut, alle Andere arbeitet ganz anders, deshalb ist das schwieriger.

Ich muss zwar zugeben, dass WinForms und WPF keinen konkreten Rumpf für eine Anwendung vorgeben, aber dafür gibt es Frameworks, oder man baut sich einen eigenen Rumpf.
Danach steht man aber noch vor dem Problem: Das ist Softwareentwicklung, man muss sich eine Architektur überlegen und das ist immer schwer. Das wird dir niemand endgültig vorgeben, denn in jedem Projekt kann das anders aussehen.

Und wenn Du einen Rumpf haben willst, dann guck dir ASP.NET Core an, allerdings ist da die Einstiegshürde noch größer, da man die verwendeten Konzepte verstanden haben muss.

@codinghelp

Thema Designer - ich halte den/die Designer für eine Katastrophe. Klar, sie tun was sie sollen, aber was hinten raus kommt ist meist sehr schlechter Code. Außerdem verleitet die Einfachheit der Designer dazu, "mal eben" was zusammen zu klöppeln, ohne wirklich zu verstehen, was da passiert und mit den Ergebnissen muss ich dann irgendwie klar kommen :/

0

Auf welche Plattform (Android, iOS, Windows, ...) zielst du denn an und was hast du vor? Unity nutzt man eigentlich für Spiele mit guter Grafik. Für simple Android-Anwendungen nutzt du am Besten Java.

LAUCH375  16.07.2020, 21:54

waurm java? mit c# ist man deutlich variabler und hat mehr möglichkeiten

0
codinghelp  16.07.2020, 21:57
@LAUCH375

Wie macht man denn Apps mit C# außer mit Xamarin? (Nein Unity zählt nicht)

0
LAUCH375  16.07.2020, 22:00
@codinghelp

in einem programm in dem man mit c# coden kann. Ganz normal wie bei java auch. Man downloaded sich dafür ein programm, installiert es und erstellt ein neues projekt. Aber wie willst du in Unity oder Xamarin etwas programmieren? bei beiden ist keine console oder programmierumgebung vorhanden

0
codinghelp  16.07.2020, 22:02
@LAUCH375

Du hast also keine Ahnung. Mir wäre jedenfalls neu, dass Handys ne .Net Runtime haben

0
Jaronmechner  16.07.2020, 22:02
@LAUCH375

Deshalb fragte ich nach der Plattform. Falls er Windows-Apps erstellen will, wäre C# mit Visual Studio die meiner Meinung beste Möglichkeit, weil es eine Programmiersprache von Microsoft, die ja auch Windows entwickelten, ist.

0
LAUCH375  16.07.2020, 22:06
@codinghelp

dir ist schon klar, dass Unity tools mitliefert um solche anwendungen auf android laufen zu lassen oder?

0
codinghelp  16.07.2020, 22:13
@LAUCH375

Ja aber du sagtest ja:

in einem programm in dem man mit c# coden kann. Ganz normal wie bei java auch. Man downloaded sich dafür ein programm, installiert es und erstellt ein neues projekt.

Das ist falsch. Es geht eben nicht so einfach. Wie du richtig gemerkt hast funktioniert es mit Unity. Und mit Xamarin. Aber nicht einfach so

0
LAUCH375  16.07.2020, 22:14
@codinghelp

man muss nicht unbedingt unity oder xamarin nutzen sondern kann auch einfach visual studio oder sharpdevelop nutzen um mit c# etwas coden zu können

0
LAUCH375  16.07.2020, 22:18
@codinghelp

in der frage stand nie was von handy also geht es nicht wirklich ums handy. Um es auf dem handy laufen zu lassen muss man halt noch ein extra tool installieren aber dafür hat man halt gesamt viel mehr möglichkeiten als in java

0
LAUCH375  16.07.2020, 22:25
@codinghelp

naja nicht auf jedem handy. Nur auf handys mit android aber ein kleiner launcher für c# kostet villeicht 5mb mehr speicher und eine halbe sekunde mehr ladezeit und das würde ich schon in kauf dafür nehmen, dass man damit viel mehr möglichkeiten hat und für windows optimierter ist. Die möglichkeiten sind halt bei c# mehr als bei java

0
LAUCH375  16.07.2020, 22:39
@codinghelp

Man hat dort die möglichkeit mehr tools zu installieren für eine einfachere programmierung. Auch das was die interaktion mit anderen apps oder windows angeht ist c# praktischer. Man hat auch die möglichkeit sehr einfach gratis multiplayer aktionen zu machen, was einem auch noch mal mehr fraiheit in der app programmierung gibt. Die möglichkeiten die man mehr hat beziehen sich aber eher auf die bedienarten und programmierumgebungen zwischen denen man sich entscheiden kann

0
codinghelp  16.07.2020, 22:41
@LAUCH375

Ich will ja nichts sagen, aber IntelliJ ist sehr sehr gut. Und tools / Bibliotheken gibts auch für Java. Für dieses simple Projekt macht es 0 Unterschied

0

Engines (bzw. Unity) sind/ist doch (hauptsächlich) für Spiele?

Gar keine Engine

TimTender 
Fragesteller
 16.07.2020, 21:53

Wie dann?

0
TimTender 
Fragesteller
 16.07.2020, 21:59
@codinghelp

Ich kann schon etwas Java programmieren. Kannst du mir Tutorials (Android) empfehlen?

0