Grundsätzliche Frage zur Enrtwicklung

  • 9 Antworten
  • Letztes Antwortdatum
F

FoxMan60

Neues Mitglied
0
Ich habe nun meine App geschrieben und hoffe, dass es keine Notwendigkeit mehr gibt, eine zweite zu schreiben. Es sei denn, ich finde hier jemanden, der mir sagt, was ich falsch mache und vor allem das ich etwas Grundsätzliches falsch mache.

Ich habe auf das Android Entwicklungsstudio gesetzt, das war ein Fehler, denn die meisten Beispiele findet man für Eclipse. Das war wohl ein Fehler.
Aber damit komme ich schon zurecht.

Gibt es wirklich keine andere Art das Design eines Fensters zu entwicklen als mit dem "HTML-Editor" ? Mit "andere Art" meine ich so, wie man es schon vor fast 25 Jahren mit Visual-Foxpro, mit Delphi, C++ mit dem Visual Studio von Microsoft gemacht hat.

Also Fenster erzeugen, Oberflächenelemente draufziehen, ein bißchen nach links oder rechts und fertig. Und wenn ich einem Buitton eine Methode zuweisen will, klicke ich das in einem der Inspektoren an und fertig. Genauso schnell finde ich sie auch wieder, weil ich kaum direkt ins Listing nachsehen muss.
Wenn ich das Design eines Fensters in einem anderen Fenster nutzen möchte, klicke ich alles an und kopiere es in das andere Fenster.
Mache das nun hier, sieht das zweite Fenster so aus, als wäre es ein Handgranatenwurfstand. Ziehe ich ein Tab auf das Fenster, dann ist zunächst einmal ohne zusätzlichen Code nichts wie "WYSIWYG". Eine unbedachte "Bewegung" und man haut sich das Fenster kaputt.

Embarcadero bietet das offensichtlich als "Delphi für Android" an. Nun würde ich heute nicht mehr auf Delphi setzen. Schon deshalb, weil man einfach alleine gelassen wird, das nutzt niemand. Aber es stellt sich mir die Frage, warum muss ich 2013 für Android so unproduktiv entwickeln wie ich es vor 25 Jahren schon gemacht habe?

Gibt es dafür einen technischen Grund? Irgendeinen Vorteil, den ich nicht sehe, weil ich bisher einfach etwas Wichtiges übersehen habe.
 
Also sowohl in Eclipse (sicher) als auch in Android Studio (glaube ich) gibt es einen WYSIWWYG - UI Editor. Unten ist bei Eclipse ein Tab, mit dem man zwischen XML Bearbeitung und dem Editor wechseln kann.
 
Ich habe auf das Android Entwicklungsstudio gesetzt, das war ein Fehler, denn die meisten Beispiele findet man für Eclipse. Das war wohl ein Fehler.
Jaein. Know your tools. Also das ADT Plugin gibt es von Anfang an für Eclipse und erst seit dem Frühjahr 2013 gibt es das Android Studio. Hierbei unternimmt Google den Versuch eine schnellere,bessere IDE für alle Android Programmierer zu schaffen -> Androidstudion basiert auf der IDE von JetBrain.
Momentan sieht es so aus, das AndroidStudion noch eine "Beta"-Version ist, aber du kannst davon ausgehen das es auf kurz oder lang -> die Android Ide sein wird.
Eclipse ist halt in einigen Belangen etwas "behäbiger", dennoch basieren die meisten Tutorials oft auf Eclipse, aber auch das wird sich in Zukunft verändern.

Gibt es wirklich keine andere Art das Design eines Fensters zu entwicklen als mit dem "HTML-Editor" ? Mit "andere Art" meine ich so, wie man es schon vor fast 25 Jahren mit Visual-Foxpro, mit Delphi, C++ mit dem Visual Studio von Microsoft gemacht hat.
Aeh ...know your tools ... AndroidStudio und auch Eclipse bieten beide einen visuellen Editor um das Design einer Activity/Fragment zu bauen. -> Visual Designer. Hier kannst du bequem zwischen WYSIWYG und Quelltextansicht wechseln.

Und wenn ich einem Buitton eine Methode zuweisen will, klicke ich das in einem der Inspektoren an und fertig.
Das geht auch in Android, ist aber nicht wirklich schön weil du Code und visuellen Komponenten unnötig vermischst und die Fehlersuche erschwerst. Wer soetwas fordert / fördert hat oft einen schlechten Programmierstil.
Bei Delphi / Visual Basic / C# ist das oft eine andere Suppe, weil hier das klassische WIN (Form) Programm Event getrieben ist. Android Apps funktionieren dann doch etwas anders - siehe Devseiten -> AppLifecycle

Wenn ich das Design eines Fensters in einem anderen Fenster nutzen möchte, klicke ich alles an und kopiere es in das andere Fenster.
Keine Ahnung was du hier machst, aber bestimmt irgend etwas falsch. Wenn ich das Design von A nach B kopiere und dabei den Quelltext kopiere, erhalte ich eine identische Kopie. (Ich schiebe das mal auf die Beta-Situation des Android Studios)

Embarcadero bietet das offensichtlich als "Delphi für Android" an.
Nun würde ich heute nicht mehr auf Delphi setzen. Schon deshalb, weil man einfach alleine gelassen wird, das nutzt niemand.
Aeh ... es gibt genügend Menschen die Delphi benutzen, ebenso eine aktive Gemeinde. Alleine gelassen ist somit sehr subjektiv.

Aber es stellt sich mir die Frage, warum muss ich 2013 für Android so unproduktiv entwickeln wie ich es vor 25 Jahren schon gemacht habe?
Blame yourself not the tools ... wenn man unfähig ist, seine Tools zu benutzen, dann sollte man zu erst lernen mit diesen Tools umzugehen bevor man nach der EierlegendenWollmilchsau schreit. Leider leben wir in 2013 und Codegenerierung per Sprachsynthese wir erst erst 2033 erfunden ... das hat mir Doc Brown erzählt.

PS: Wer sich über das Handling von Eclipse oder Androidstudio aufregt, dem lege ich einen Amigaemulator ans Herzen und dort bitte mal einen Assembler, zb. SEKA oder ASM-One starten - dann weisst du was ein Anachronismus ist und wie komfortable du heute entwickeln kannst.

Keine Ahnung wie aufwendig bzw. furchtbar dein Programm geworden ist, aber Androidentwicklung ist halt noch mit etwas Leidenschaft und Lesegeduld verbunden.

... eventl hast du nur die falsche Platform gewählt.
 
  • Danke
Reaktionen: MrPermanent
Ich meine z.B. , dass ich einen Button auf das Fenster setze und ihn dann pixelgenau an eine andere Stelle positionieren möchte. Mit der Maus oder den Pfeiltasten.
Kann ich so etwas ? Dann hätte ich etwas übersehen.
Kann ich mal schnell 5 Oberflächenelemente etwas nach unten ziehen, um ein neues dazischen anzuordnen ?

Bei meiner ersten Programmiersprache Fortran 4 hatte ich einen Editor, bei dem man nicht einfach mit den Pfeiltasten von einer Zeile in die anderen Zeilen springen konnte. Und ich glaube auch zu wissen, was Assemblerprogrammierung bedeutet. Nur Oberflächen habe ich damit nicht entworfen.
Ich dachte aber, dass es immer eine Verbesserung oder auch Fortschritt geben sollte. Bisher war das auch immer so.


Sorry ihr beiden, vielleicht habe ich mich mißverständlich ausgedrückt. Aber habt ihr schon andere Umgebungen genutzt ? Ich suche ganz sicher nicht nach einer eierlegenden Wollmichsau. Sondern nach einer Entwicklungsumgebung, bei der man wie bei jeder anderen Umgebung Fenster schnell entwerfen kann.
Nur das, womit ich nun arbeiten muss, konnten wir vor 20 Jahren schon besser. Ich rede vom Design der Fenster, der GUI. Nicht ob der Editor nun den Code vervollständig oder dieses oder jenes kann.

Ich muss das nutzen, ich suche mir die Plattform nicht aus. Ich muss damit Geld verdienen. Möglicherweise ist das bei euch anders.
Ich beglückwünsche euch. Und Leidenschaft kenne ich auch.

Wenn ich bei "Stackoverflow" mit Delphi für Android ankomme, was glaubst Du wieviel Codebeispiele werde ich dort finden? Wo ist die Sprache/Umgebung Kylix geblieben ?

Der ursprüngliche Beitrag von 20:40 Uhr wurde um 20:45 Uhr ergänzt:

blackfire185 schrieb:
Also sowohl in Eclipse (sicher) als auch in Android Studio (glaube ich) gibt es einen WYSIWWYG - UI Editor. Unten ist bei Eclipse ein Tab, mit dem man zwischen XML Bearbeitung und dem Editor wechseln kann.

Erzeuge eine Activity. Lege ein Tab auf das Fenster und compiliere. Was siehst Du? Das Tab?
 
Zuletzt bearbeitet:
Ich meine z.B. , dass ich einen Button auf das Fenster setze und ihn dann pixelgenau an eine andere Stelle positionieren möchte. Mit der
Maus oder den Pfeiltasten.

Da hast du gedanklich den falschen Ansatz. Die Problematik der Gegenwart ist die Vielzahl von Endgeräten mit unterschiedlichen Auflösungen. Was man im täglichen HTML Konsum ständig erlebt sind noch die "alte" und die "neue" Welt. -> Alt = feste Größen, Pixel, 960px Grid -> Neu = Responsive Design welches sich an die Größe des Browserfensters anpasst.

So sieht es auch bei Java / Android und Co aus. So richtige Pixelauflösungen welche du als vorausgesetzt betrachten kannst, gibt es nicht. Natürlich kannst du in Android ein Design bauen und versuchen per Pixelangaben (zB. 200dp) alles in Stein zu hauen, doch damit wirst du vermutlich Schiffbruch erleiden.
Das UI in Android ist so aufgebaut, das Elemente so viel Platz ein nehmen können wie sie brauchen oder dürfen. Dir stehen verschiedene Layoutvarianten zur Verfügung und manche sind etwas freier als andere.
Konsitenz erreichst Du in dem Du bestimmte Rastermaße als Abstände (Margins/ Padding) überall gleich nutzt.

Metrics and Grids | Android Developers

Das es Dir jedes Mal das Layout zerschossen hat, könnte zB am RelativLayout gelegen haben. Hierbei bezieht sich ein Element immer auf das Element drüber bzw. drunter (wie eine verkettete Liste), wenn man hier etwas verändert, ein Element zwischendrin entfernt - stimmen oft die Zuordnungen nicht mehr. Um solchen Ärger aus dem Weg zu gehen, nutze ich oft erst mal ein "krisen"sicheres Layout -> z.B. Linearlayout.
Layout ist ein riesiges Thema in Android - meine Buchempfehlung

Smashing Android Ui (Smashing Magazine Book): Amazon.de: Juhani Lehtimaki: Englische Bücher

Kann ich so etwas ?

Wie oben angerissen ... leider nicht so wie du es gerne hättest.

Kann ich mal schnell 5 Oberflächenelemente etwas nach unten ziehen, um ein neues dazischen anzuordnen ?

So etwas geht ... aber siehe oben ...nicht Pixelgenau ... mehr so im Verhältnis

Bei meiner ersten Programmiersprache Fortran 4 hatte ich einen Editor, bei dem man nicht einfach mit den Pfeiltasten von einer Zeile in die anderen Zeilen springen konnte. Und ich glaube auch zu wissen, was Assemblerprogrammierung bedeutet

Sehr gut ... dennoch musst du Deine Erwartung an das jahr 2013 zurückschrauben ... Programmierung umweht immer noch ein Hauch von "Magie" ... deswegen kommen 70 Prozent der Forumsleser hier und anderswo über das HelloWorld Stadium nicht hinaus... traurig aber wahr.

Ich dachte aber, dass es immer eine Verbesserung oder auch Fortschritt geben sollte. Bisher war das auch immer so.

Der Fortschritt besteht in einer freiem Skalierbarkeit deiner Oberfläche, so ist deine App auf zig Tausend Geräten lauffähig und sieht bei 90+x Prozent auch identisch aus. Anpassungen an Tablets sind noch mal ein anderer Schuh, aber auch hier greift einem das Layoutsystem von Android ganz gut unter die Arme.

Sorry ihr beiden, vielleicht habe ich mich mißverständlich ausgedrückt. Aber habt ihr schon andere Umgebungen genutzt ?

Also ich habe bereits in den 80ern in Basic auf 8-bit Maschinen programmiert, später in 16-bit (Amiga) Assembler, E, Basic , Pascal - und dann auf dem PC (32bit) Delphi, C#, Java, BlitzBasic, Visual C.

Daher verstehe ich deinen Wunsch nach einer Oberfläche (IDE/RAD) welche einem viel Arbeit abnimmt. Doch ich gebe auch hier noch einmal zu bedenken - die Entwicklung von WinAnwendungen (Forms) kann man nicht 1zu1 auf mobile Plattformen umsetzen/vergleichen. Zu unterschiedlich sind die Ideen/Konzepte dahinter -> Maus, Tastatur vs Touch. Daher sind die IDEs noch nicht so mächtig wie ein Visual Studio, welches seit xx Jahren gewachsen ist. ... das wird eventl noch.


Nur das, womit ich nun arbeiten muss, konnten wir vor 20 Jahren schon besser. Ich rede vom Design der Fenster, der GUI.

Wie schon oben geschrieben, ist das der Besonderheit der Plattform geschuldet.

Ich muss das nutzen, ich suche mir die Plattform nicht aus. Ich muss damit Geld verdienen. Möglicherweise ist das bei euch anders.
Ich habe mir das über die Jahre als Hobby erhalten...und verdiene kein Geld damit.

gerade wenn du für mehrere mobile Plattformen entwickeln musst (Android, IOs, WinMobile) gibt es doch schon Frameworks welche Dich hier besser unterstützen, als wenn du alles von Hand machen musst. (Java lernen, Objective C lernen, ect pp). Aber auch hier darf man sich keinen Illusionen hergeben - die perfekte IDE gibt es nicht. Mit Einarbeitung muss man auf jeder Plattform rechnen. (Ich habe hier seit Jahren einen Mac rumstehen und wollte meine Haupt AndroidApp immer mal für IOs umsetzen - aber XCode treibt mich noch mehr in den Wahnsinn als Eclipse und Co. so das ich das wieder fallen gelassen habe.)

Wenn ich bei "Stackoverflow" mit Delphi für Android ankomme, was glaubst Du wieviel Codebeispiele werde ich dort finden? Wo ist die Sprache/Umgebung Kylix geblieben ?


Borland -> Pleite -> aufgekauft -> gieriges Nachfolge Konsortium will Geld verdienen und kümmert sich einen Scheissdreck um die Plattform Linux -> Marktrelevanz zu unbedeutend für Kleinentwickler.... -> C bleibt C und große Softwarebuden haben halt genug Coderlemminge welche QT und co. von Hand befeuern können.... thats life.

 
Und wenn du wirklich pixelgenau arbeiten willst, solltest du als erstes ein "Absolute Layout" einbauen, in diesem kannst du dann deine Elemente relativ frei pixelgenau positionieren.
Nur wenn die App dann auf einem anderen Gerät läuft das eine andere Auflösung hat, kann es durchaus sein, dass die Elemente dann evtl sogar verschwinden.

Und ich persönlich finde, das Grunddesign von Android (also Softwaredesign) ziemlich gelungen eigentlich.
Zumindest wenn man es verstanden hat und richtig umsetzt kann man da sehr logisch gliedern und ordnen, und verliert sich nicht so schnell in zich verschiedenen "Subs" wie in Visual Basic damals.
Dort konnte man zwar auf einen Button doppelklicken um eine passende Methode zu bauen, allerdings wurde dafür im Hintergrund jede Menge Code generiert den man nie zu Gesicht bekommen hat.
Einfacher für den Entwickler allerdings mir persönlich auf ein bisschen zu viel "Magic".
Ich bin kein Freund von zu viel Magic beim programmieren, ich weiß halt gerne was warum wie funktioniert.
Weswegen ich auch anderso (beispielsweise Spring) kein so großer Freund von Annotations bin, sondern lieber Config Dateien hab wo ich alles auf einen Blick sehen kann .
Aber das schweift zu weit ab ^^
 
Zuletzt bearbeitet:
Mal ganz ehrlich gefragt: Glaubst Du wirklich, dass die Sptizen-Programierer mit so Klickie-Buntie GUI-Tools arbeiten?

Solche Tools sind ein netter Marketing-Gag, mehr nicht. Es wird im Hintergrund völlig unwartbarer Code erzeugt, Du kannst nie wirklich programmatisch das Aussehen der GUI modifizieren. Und schneller ist damit höchstens ein Anfänger.

Der einzige Vorteil: Man kann mal was zusammen klicken, wenn man noch nicht wirklich Ahnung davon hat, wie man das GUI-API programmatisch in den Griff bekommt.

Aber über die Komplexität von einer 'Gib mir Dein Geburtstag ein und ich rechne aus wie alt Du bist'-App hinaus kann man das völlig vergessen...

Warum sind den die Klickie-Bunti-GUI-Tools in den IDEs zurückgegangen? Weil die Profis die nicht verwenden.

Eclipse (in der 'Nicht-Android-Version') ist ein freies Projekt von Entwicklern für Entwickler, wenn einer der Entwickler geglaubt hätte, er bräuchte ein Klickie-Bunti-GUI-Tool, dann hätte er es in das Projekt eingebracht.

Die wirklich sinnvollen Features wie 'Code-Completion' dagegen haben Bestand, und die machen dem Entwickler auch wirklich einfacher und die Entwicklung schneller.

Und das gab's vor 25 Jahren noch nicht, dahin konzentriert sich die Entwicklung, deswegen sind die heutigen IDEs besser als die damaligen.

So einfach ist das.

MfG Uwe
 
Zuletzt bearbeitet von einem Moderator:
  • Danke
Reaktionen: amfa
@amfa

Absolute Layout bietet zwar diese Möglichkeit, wurde in API 1 eingeführt aber bereits auch in API 3 wieder fallen gelassen (deprecated) - wegen der Problematik der verschiedenen Displayauflösungen.

Also bitte nicht nutzen ...
 
Ah wusste gar nicht dass das deprecated ist.
Hab ich halt noch nie benutzt ^^

Aber der TE möchte ja genau sowas haben. ;)
 
killphil75 schrieb:
Keine Ahnung wie aufwendig bzw. furchtbar dein Programm geworden ist, aber Androidentwicklung ist halt noch mit etwas Leidenschaft und Lesegeduld verbunden.

... eventl hast du nur die falsche Platform gewählt.

Auf der Arbeit nutzen wir intellj und da ist mir auf dritt-laptops Android Studio sehr vertraut. Bevor man mich für die Nutzung für Android Studio bezahlt hat habe ich es auch mal mit eclipse versucht. Ohne Frage bekommt man damit apps bis in den store. Möchte ich aber da mit arbeiten wenn auch nur noch ein zweiter am Projekt mit arbeitet... Geschmacks Sache.

Scheiße entwickeln wird und bleibt immer einfach sein, Google 'sub7' for hacker kids, aber wer mal was richtig tolles und neues machen will der muss leiden. A: ide's helfen nicht bei innovativen. Wenn der Entwickler der IDE auch nur wüsste was kommt und Geld bringt, würde er nicht an der IDE arbeiten .... Jede IDE hat ihre Berechtigung und hilft einem 'Standart' aufgaben zu erleichtern !
B: die eigene Idee sollte/ist immer ein wenig besser als das was man kennt. Wenn ich mir aber meine Idee mit 7 Klicks zusammen klicken könnte... Wäre toll nur dann habe ich keine neue Idee mehr.

Angesagte Ideen wird keine IDE der Welt super einfach umsetzten, weil angesagt meistens innovativ und wenn ich mir die Idee simple zusammen klicken kann nicht mehr angesagt ist.
 
Zurück
Oben Unten