Von der Idee, über den Code zur App, zum Programm?

... komplette Frage anzeigen

7 Antworten

Hallo,

Idee, Entwurf, wie wird was gelöst, Implementierung, also die Umsetzung in Code.

Grob gesagt ist dies der Prozess richtig. Aber man sollte den Entwurf nicht unterschätzen, denn erst wenn eine Idee richtig Konzipiert ist legt man mit der Entwicklung los.

Doch wie genau bekommt man aus dem Code das abgeschlossene Programm, das Bedieneroberflächen hat

Das kommt nun ganz darauf an, es gibt diverse Technologien welche es erlauben den logischen Part deines Codes mit einer Graphischen Oberfläche (GUI) zu ,,verbinden". In der Microsoft Welt wäre das zum Beispiel WPF. In der Webentwicklung kommt man meist nicht drum herum gleich eine Oberfläche mit zu bauen. 

 Wie genau geht dieser Prozess von statten und wie bekommt man es hin, dass das fertige Programm individuell so aussieht wie man sich das vorstellt?

Meistens geht das ganze schon vor der Entwicklung los, um genauer zu sein in der Konzeptionsphase.

In dieser erarbeitet man meist mit dem Projektteam oder auch Stakholdern die Sachen wie:

  •  welche Ziele hat die Applikation ?
  • Welche Features sollen enthalten sein?
  • Auf welchen Plattformen soll die Applikation laufen?
  • Und wie soll die Benutzeroberfläche aussehen?

Beim letzten Punkt kann man sich Beispielsweise Techniken wie dem Papier Prototyp auch ,,low-fidelity Prototyping" bedienen. Oder man wählt die sogenannte ,,Wireframe" Methode. Oft bedient man sich auch sogenannten Mokup Tools. 

Und wie wählt man die richtige Sprache, bzw die richtige Kombination der Sprachen?

Aus den Ergebnissen der Konzeptionsphase kann der Entwickler nun aufgrund seiner Kenntnisse eine Wahl zu der Sprache treffen.

Wenn du Beispielsweise eine Desktop Applikation erstellen möchtest und das Unternehmen hat eine Microsoft Landschaft, dann wird man schauen dass man auch Microsoft Technologien verwendet.

Oder du möchtest Beispielsweise eine App welche auf IOS sowie Android verfügbar sein soll. Na dann wählt man eben Technologien wie zum Beispiel: 

  •  Telerik (JavaScript)
  • Xamarin (C#)
  • Ionic/Cordova  (JavaScript bzw AngularJS1 bzw 2)
  • Phonegap (JavaScript)
  • Java und Objective C bzw Swift

und falls die App ein Backend haben soll, sollte man sich auch darüber Gedanken machen.

  • Worauf werden Daten gespeichert? (MySql, MS Sql, MongoDB ...)
  • Wie soll auf die Daten zugegriffen werden? (SOAP, REST, MQ ...)
  • Wie soll die Authentifizierung stattfinden? (BasicAuth, OAuth1, OAuth2...)

Oft wird der Entwickler eine Technologie nehmen, mit dem er schnell zu der Lösung des Problems kommt. Gerade Apps machen in diesem Zusammenhang Cross Plattform Technologien attraktiv, da man (je nach App) tiefreichendes Wissen und Erfahrung in den jeweiligen Frameworks braucht. 


Wie du siehst ist eine ganze Menge zu beachten. Ich empfehle dir folgende Bücher:

  • Konzeption (Requierements Engineering ISBN: 3446438939)
  • Dokumentation( UML 2.0 Glasklar ISBN: 3446430571)
  • Entwicklung (Java: 3836241196 ; C# 3836237148)
  • Backend Themen (Verteilte Systeme: 3827372933 ; Datenbanken: 1492951048)

Ich hoffe ich konnte dir Klarheit verschaffen falls dir einige Begriffe nicht läufig sind einfach googlen ;) 


Viele Grüße


Antwort bewerten Vielen Dank für Deine Bewertung

Ich denke dazu solltest du erstmal die Grundlagen des Programmierens durchstöbern. Dabei ist es nicht allzu wichtig mit welcher Sprache du anfängst, ich habe hiermit angefangen:

https://www.coursera.org/specializations/python

Das ist ein Online-Videokurs (kostenlos) von einer Universität für deren Studenten, aber auch den Rest der welt ;) einfach anmelden für die kostenlose Version (die kann alles Wichtige) und los geht's

Viel Spaß! :)

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von DerChacker
13.07.2016, 18:12

Danke

0

"Doch wie genau bekommt man aus dem Code das abgeschlossene Programm" der quellcode wird kompiliert, dadurch erhält man eine ausführbare datei.
"Programm, das Bedieneroberflächen hat, das nicht Programmierer verstehen und verwenden können" programmierer können sicherlich die oberflächen bedienen und verstehen. sollten sie auf jeden fall, wenn sie sie in ihren eigenen programmen benutzen. oberflächenprogrammierung ist oft nicht schön und nervig, ja, aber trotzdem einigermaßen gut zu verstehen. warum sollten programmierer das nicht verstehen können? man kann ein korrektes/funktionierendes programm kaum schreiben, wenn man nicht weiß, wie es funktioniert.

funfact: oft läuft es so ab:
-Idee
-Implementierung
-man findet probleme
-man macht sich gedanken wie man das auch schön und sauber programmieren kann
-man denkt sich ein konzept aus
-man setzt es richtig und ordentlich um
-und wenn dann am ende noch zeit ist (ist selten der fall), testet man es bzw. schreibt testfälle, obwohl man das eig. vor der implementierung machen sollte

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von DerChacker
20.07.2016, 02:49

Ich meinte Nicht-Programmierer, Leute die von Computern keine Ahnung haben. Anders in einer Metapher beschrieben:
wie genau, wirklich bis ins Detail, wie wird aus DOS Windows?

0

Der Code, den man schreibt, beschreibt dann später auch die Bedienungsoberfläche. Den Code kann man individuell gestallten und erhält eine individuelle Oberfläche. Der Code wird dann als installierbare Datei gespeichert und kann dann vom Handy ausgeführt werden. Jede Programmiersprache hat Vorteile. Java bspw. eignet sich gut zum Programmieren von Apps für Android.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von DerChacker
13.07.2016, 18:20

Tut mir leid aber ich bin jetzt so schlau wie vorher

0

Hallo!

Doch wie genau bekommt man aus dem Code das abgeschlossene Programm, das
Bedieneroberflächen hat, das nicht Programmierer verstehen und
verwenden können.

Nicht aus dem Code bekomme ich das Programm -- der Code ist das Programm, und hier muß natürlich auch "hinterlegt" sein (Code) wie die Bedienoberfläche aussieht -- auch als Programmierer brauch ich eine Bedienoberfläche -- da gibt es keine Unterschiede zwaichen den Menschen mehr.

"

Und wie wählt man die richtige Sprache, bzw die richtige Kombination der Sprachen?

"

Entweder nehme ich eine Sprache die ich mal gekernt habe, oder lernen will -- oft ist die Sprache aber auch vorgegeben (Android, Firma)

Gruß

Antwort bewerten Vielen Dank für Deine Bewertung

Und wie wählt man die richtige Sprache, bzw die richtige Kombination der Sprachen?

Dazu kann man Erfahrungswerte nutzen - welche Programmiersprachen führen zum Ziel (wenn man z.B. für Android programmieren will, dann ist Java die erste Wahl) und womit kommt man am besten klar. Im Rahmen dieser Auswahl überlegt man sich dann auch, wie und womit man das User Interface gestaltet. Das geschieht in der Regel in der Entwurfsphase. Dort nutzt man öfters das MVC-Modell (oder eine Abwandlung davon)

https://de.wikipedia.org/wiki/Model_View_Controller

, im View sitzt dann die Benutzeroberfläche.

Wenn die Anwendung beispielsweise eine Webseite ist, dann hat man die Wahl, ob man HTML, ExtJS, Dojo, jQuery oder irgend ein anderes Framework für die grafische Oberfläche (UI - User Interface) nutzt. Von daher ist es Teil der Aufgabe des Programmiers, des "Code in dem abgeschlossenen Programm", dass eine Benutzeroberfläche da ist.

Antwort bewerten Vielen Dank für Deine Bewertung