j2me und mvc

Status
Nicht offen für weitere Antworten.

ARadauer

Top Contributor
setzt ihr beim erstellen von j2me anwendungen auf das mvc pattern.
muss ehrlich sagen, ich schreib meistens j2se anwendungen und benutz eigentlich immer ein schönes mvc design, aber hier bei j2me hab ich irgendwie probleme.

mir passiert es dass mein model eigenlich nur alle aufrufe der hilfsobjekte an die view weiterreicht.

also hab ein grobes konzept, bei denen drei forms commandos entegen nehmen und einen zentralen controller aufrufen, der den gsamtzustand der anwendung hählt und zwischen den views wechselt.

mhnn naja obwohl, liegt vielleicht daran, dass mein model einfach im moment noch zu wenig zu tun hat.... egal ich schlaf nochmal drüber....
schreibt mir trotzdem eure meinung zu j2me und mvc. danke
 

The_S

Top Contributor
Bei J2ME programmier ich eigntlich eher schlampig. Schon aufgrund von Performance und Speicherverbrauch sollte darauf verzichtet werden unnötig viele Klassen bzw. interfaces zu realisieren. Es ist sowieso eher unwahrscheinlich, dass du eine J2ME App im Nachhinein noch großartig verändern musst geschweigedenn ein anderer das tut oder auch nur den Code ansieht.

So ganz ohne Struktur gehts bei mir aber auch nicht, da ich J2SE gelernt habe und dort natürlich auch MVC eingesetzt wurde. Ich würde also einen mischmasch aus Performance und Übersichtlichkeit in J2ME programmieren.
 

ice-breaker

Top Contributor
also bei der entwicklung von handyspielen sollte man wirklich auf mvc, design patterns und alles mögliche verwenden, so wenig klassen wie möglich etc
denn handys sind nicht gerade die schnellsten geräte und es gibt so teilweise ja schon flaschenhälse
 

ARadauer

Top Contributor
ice-breaker ich glaub du wolltest auch schreiben, dass man eher auf patterns verzichten sollte.

ok klingt vernüftig. is aber nicht so einfach, wenn es für ein schulprojekt ist und der betreuer ein schönes klassen desing möchte. ok ich werde schon einen zwischenweg finden.

danke
 
C

C++ Pr0gg0r

Gast
Lasst mal eure "Optimierungen" stecken. Das ist Unsinn. Wieso sollte ein Programm langsamer werden, wenn ich denselben Code auf verschiedene Klassen verteile? Viel eher sollte man sich Gedanken um die Speicherverwaltung machen.

"Premature optimization is the root of all evil" -- Donald Knuth
 

The_S

Top Contributor
C++ Pr0gg0r hat gesagt.:
Lasst mal eure "Optimierungen" stecken. Das ist Unsinn. Wieso sollte ein Programm langsamer werden, wenn ich denselben Code auf verschiedene Klassen verteile? Viel eher sollte man sich Gedanken um die Speicherverwaltung machen.

Weil von den Klassen Objekte erstellt und Methoden aufgerufen werden müssen.
 
C

C++ Pr0gg0r

Gast
Objekte sind so gross wie die Summe ihrer Member. Das einzige was anfaellt, ist eine zusaetzliche Referenz. Beim Methodenaufruf eines anderen Objektes faellt eine Dereferenzierung an. Was schaetzt Du, um wieviel Prozent langsamer wird das Programm werden?
 

NTB

Bekanntes Mitglied
In der Theorie würde ich Dir zustimmen "C++ Pr0gg0riz0rpr0n...
...und in der Praxis frage ich: Du hast wohl nichts für Handies programmiert, was?
 
C

C++ Pr0gg0r

Gast
Doch. Habe ich. Ich habe ein 3D-Knobelspiel unter Verwendung von JSR-184 geschrieben und es auf meinem SE K750 getestet. Von SE ist uebrigens bekannt, dass dieses JSR als Wrapper um Mascot Capsule implementiert ist und daher noch ein Tick langsamer sein duerfte als native Implementierung. Dieses Spiel diente einzig dem Zweck rauszufinden wie leistungsfaehig moderne Mobiltelefone sind und wie frickelig man vorgehen muss, um Programme lauffaehig zu halten. Beim Programmieren habe ich das MVC-Framework konsequent umgesetzt und alle mir bis Dato bekannte Design-Prinzipien beachtet, also keinerlei optimierender Tricks benutzt. Und so bin ich zu dem Fazit gekommen, dass die Performance von Mobiltelefonen nicht der Flaschenhals ist, sondern der Speicher. Auch wenn Java einen GC anbietet, auf Handies ist dieser schlicht unbrauchbar weil er einfach nicht funktioniert. Von daher rate ich dazu, den Speicher manuell zu verwaltet und wieder zu verwenden. Nur so kann man das Problem der Speicherknappheit in den Griff kriegen.

Im Uebrigen hat mir dieses Spiel den heutigen Job beim zweitgroesstem Softwarehersteller Deutschlands eingebracht.
 

The_S

Top Contributor
Womit wir schon beim Punkt währen. Du hast ein Spiel speziell für ein Handy zugeschnitten. Wenn du aber die breite Masse ansprechen möchtest, musst du deine Anwendungen für viele Modelle zur Verfügung stellen, wo du dann doch auf einige Probleme stoßen wirst ;) . Aber du kannst diese Diskussion gerne ja mal auf www.j2meforum.com anbringen :D .
 
C

C++ Pr0gg0r

Gast
Ja genau. Das ist der Punkt. Ich weiss nicht ob Du es bewusst ueberlesen hast, oder wirklich nicht verstanden hast aber ich habe mein Spiel auf gar nichts zugeschnitten. Nur das Scheduling habe ich ein wenig getunt, das muss ich zugeben. Das Spiel habe ich geschrieben wie jedes andere Programm auch. Also ohne jeglicher Tricks zur Optimierung etc. weil mein Ziel eben war, rauszufinden was geht und was nicht geht. Aber davon mal abgesehen, heute schreibt man auch keine Programme bei denen man denkt, dass sie moeglicherweise auf einem P90 mit 32MB RAM laufen sollen. Insofern ist der Begriff der "breiten Masse" beliebig dehnbar. ;)
 

The_S

Top Contributor
OK, zugeschnitten war evtl. der falsche Ausdruck. Vielmehr meinte ich, du hast es nur auf einen (für 3D und J2ME ziemlich geeingeten) Mobiltelefon getestet.
 
C

C++ Pr0gg0r

Gast
Ja natuerlich. Wie sollte ich es auch auf einem ungeeignetem testen?
 
C

C++ Pr0gg0r

Gast
Nein. Aber er weiss, wie es laufen kann und hat seine Erfahrung hier zur Diskussion gestellt, statt mit inhaltslosen Postings andere dumm anzuflamen.
 

The_S

Top Contributor
Es geht nicht darum, dass dein Game auf einigen Top-Modellen läuft, sondern darum, dass es auf möglichst vielen (auch älteren) Geräten funktioniert.

Wenn du nur die neuere Generation an Handys ansprechen möchtsest, sind deine Beiträge hier deplaziert, da es um die Entwicklung von Handyanwendungen allgemein geht. Und dazu gehören nunmal auch alte Geräte!
 
C

C++ Pr0gg0r

Gast
Sehe ich anders. Zuallererst existiert ein Problem, welches mit Hilfe eines Programms geloest werden soll. Das heisst, es werden Anforderungen an das Programm gestellt, welches diese Erfuellen soll. Dann wird das Programm implementiert, welches den Anforderungen genuegt. Das fertige Programm bestimmt dann auch die Mindestvoraussetzungen. Will ich das Programm benuzten, mein System aber die Mindestvoraussetzungen nicht erfuellt, so gibt es zwei Moeglichkeiten: ich aktualisiere mein System oder ich beschneide die Funktionalitaet des Programms. Waehle ich den die zweite Moeglichkeit, wird mein Programm nutzlos, weil es den Anforderungen nicht mehr genuegt. Schliesslich erwarte ich ja auch nicht, dass Eclipse auf einem Pentium 200 mit 32MB RAM laeuft. Es kann nicht das Ziel eines Programms sein, auf allen Systemen zu laufen. Das ist schlicht unmoeglich. Ressourcenknappheit ist keine Rechtfertigung fuer ueblen Code!

Frage: was sind denn fuer dich aeltere Geraete? Das Modell mit dem ich gearbeitet habe ist ueber 2 Jahre alt. Zaehlt es schon zu den aelteren fuer dich?
 

The_S

Top Contributor
Naja, wenn du etwas verkaufen willst, musst du möglichst viele Leute ansprechen. Und da ist es vorallem bei J2ME wichtig, dass man auch ältere Geräte erreichen kann.

Auch heutzutage kommen noch einige Geräte raus, die schlechter sind als dein K750i (das wars doch!?), auch wenn es schon 2 Jahre alt ist. Das K750i ist halt immernoch ein ziemlicher Alleskönner. Ich selbst besitze ebenfalls ein K750i. Dieses wurde jetzt gegen ein N95 von Nokia ausgetauscht. Du glaubst ja gar nicht, wie viele Bekannte von mir Interesse an diesem Handy (trotz kaputtem Akku) gezeigt haben ;) .

Generell lässt sich darüber natürlich streiten. Programmiere ich ein Programm, dass auf möglichst vielen Geräten läuft, oder wird mein Programm so hammermäßig gut, dass sich die User für dieses Programm neue Hardware kaufen?

Kommt halt immer darauf an was man programmiert.
 
C

C++ Pr0gg0r

Gast
So. Hier das Spiel, dass ich geschrieben haben. Es enthaelt noch paar logische Bugs, aber ich habe gerade weder Zeit noch Lust diese zu suchen und beheben. Das soll aber vorerst nicht stoeren. Interessant ist, auf welchen Geraeten es laeuft. Bislang nur auf einem SE K750i und einem Z550i getestet. Bitte um Feedback.

http://sebastiantoby.homeip.net/prg/mindcubes.zip
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
tuttle64 J2ME SDK starten Android & Cross-Platform Mobile Apps 4
F MIDLET Pascal statt J2ME? Android & Cross-Platform Mobile Apps 6
K mp3 datei in j2me abspielen Android & Cross-Platform Mobile Apps 16
P J2ME Code-Beispiele Android & Cross-Platform Mobile Apps 2
K Java ME J2ME Bluetooth - bluesoleil,bluecove, JSR82... ? Android & Cross-Platform Mobile Apps 6
G Java ME Tabelle in J2ME Android & Cross-Platform Mobile Apps 4
G J2me Wirlesstoolkit 2.5.2 Kompertibel zu Samsung SGH J700 Android & Cross-Platform Mobile Apps 2
K J2ME programmierung - startprobleme. Android & Cross-Platform Mobile Apps 7
B (J2ME) Welche IDE ? Android & Cross-Platform Mobile Apps 3
M Telefonbuch in J2ME programmieren HILFE! Android & Cross-Platform Mobile Apps 34
P J2ME - Anbindung an externe Datenbank Android & Cross-Platform Mobile Apps 3
M Welche Datenbank für J2ME? Android & Cross-Platform Mobile Apps 5
P Prob mit Eclipse und J2ME SDK Android & Cross-Platform Mobile Apps 4
T J2ME Frameworks und Librarys Android & Cross-Platform Mobile Apps 2
J image j2me Android & Cross-Platform Mobile Apps 2
D J2ME - Wie und welches Programm Android & Cross-Platform Mobile Apps 10
C JSR135 - Kamera in J2ME? Android & Cross-Platform Mobile Apps 4
A Hessian und J2ME Android & Cross-Platform Mobile Apps 3
G J2ME jar-problem Android & Cross-Platform Mobile Apps 10
Kidao Progress Bar in J2ME Android & Cross-Platform Mobile Apps 2
K XDA Orbit: Auslesen der GPS Daten mit J2ME Android & Cross-Platform Mobile Apps 2
D J2ME und Collections? Android & Cross-Platform Mobile Apps 5
R J2ME <-> Microsoft Message Queue (MSMQ) Android & Cross-Platform Mobile Apps 2
K Erste J2ME Applikation in NetBeans Android & Cross-Platform Mobile Apps 2
S Anfängerproblem mit ant+j2me Android & Cross-Platform Mobile Apps 2
D Kalenderwoche mit J2ME Android & Cross-Platform Mobile Apps 2
G Gibts das.Wo findet man die J2ME Gesamtdoku ? Android & Cross-Platform Mobile Apps 2
J J2ME Java Programm im Hintergrund auf Handy laufen lassen? Android & Cross-Platform Mobile Apps 2
S J2ME und J2EE Android & Cross-Platform Mobile Apps 4
B J2Me Buch? Android & Cross-Platform Mobile Apps 4
K HTTP-Verbindung mit J2ME.... Android & Cross-Platform Mobile Apps 2
S Einstieg in J2ME (Java2 MicroEdition) Android & Cross-Platform Mobile Apps 52

Ähnliche Java Themen

Neue Themen


Oben