Longri
Geoguru
Warum Cachebox 3.0:
Als wir angefangen haben Cachebox für Android zu entwickeln, haben wir relative früh auf LibGdx gesetzt um die Map zu zeichnen. Im verlauf der Entwicklung haben wir dann unsere ganze UI auf LibGdx umgestellt.
Auch mit dem Ziel, Cachebox für iOS zu veröffentlichen(Das war jedenfalls mein Ziel). Dieses Ziel wurde aber noch nicht weiterverfolgt.
Als wir mit Libgdx 0.3 starteten gab es hier noch keine UI-Elemente, oder nur sehr wenige. So dass wir alle UI-Elemente selber entwickelt haben. Aber hier hat sich auch bei Libgdx eine menge getan. LibGdx gibt es mittlerweile in der Version 1.9.3 und enthält auch eine menge UI-Element, die mit unserer Eigenentwicklung aber nicht kompatibel sind.
Auch setzt LibGdx schon seit längerem auf Gradle, als Build-Tool, was wir so nie eingesetzt haben.
Ich habe versucht, Cachebox so zu ändern, das es all diesem entspricht und bin immer wieder daran gescheitert.
Deshalb habe ich mich dazu entschlossen einen Neustart zu wagen und direkt auf LibGdx zu setzen.
Wie stelle ich mir das vor:
Ein letztes Wort zu den jetzt folgenden Kommentaren. Bitte benutzt die Zitat Funktion. Ich möchte nicht jedes Mal wieder zurück scrollen, um nachzulesen, was ich im Punkt xy geschrieben habe,
Als wir angefangen haben Cachebox für Android zu entwickeln, haben wir relative früh auf LibGdx gesetzt um die Map zu zeichnen. Im verlauf der Entwicklung haben wir dann unsere ganze UI auf LibGdx umgestellt.
Auch mit dem Ziel, Cachebox für iOS zu veröffentlichen(Das war jedenfalls mein Ziel). Dieses Ziel wurde aber noch nicht weiterverfolgt.
Als wir mit Libgdx 0.3 starteten gab es hier noch keine UI-Elemente, oder nur sehr wenige. So dass wir alle UI-Elemente selber entwickelt haben. Aber hier hat sich auch bei Libgdx eine menge getan. LibGdx gibt es mittlerweile in der Version 1.9.3 und enthält auch eine menge UI-Element, die mit unserer Eigenentwicklung aber nicht kompatibel sind.
Auch setzt LibGdx schon seit längerem auf Gradle, als Build-Tool, was wir so nie eingesetzt haben.
Ich habe versucht, Cachebox so zu ändern, das es all diesem entspricht und bin immer wieder daran gescheitert.
Deshalb habe ich mich dazu entschlossen einen Neustart zu wagen und direkt auf LibGdx zu setzen.
Wie stelle ich mir das vor:
- Zum einen werde ich im ersten Schritt Cachebox wieder auf die Android-spezifische HTML-View der Beschreibung umstellen. Dies war ein Versuch der mir wohl nicht gelungen ist und doch zu sehr vielen Problemen geführt hat.
- Ich werde nicht weiter Versuchen, die SD-Card Probleme unter Android >4.1 zu beheben. Auch dass führt immer wieder zu Problemen. Die ich leid bin zu suchen und provisorisch zu beheben.
- Ich werde das von mir schon angefangene Projekt auf GitHub hoch laden, sobald es eine annehmbare Struktur hat. Hier ist es so, dass die jetzige Struktur für einen Einstieg in die Cachebox Entwicklung doch sehr verwirrend ist und doch einige von der mit Entwicklung abhalten wird.
- Ich werde genau beschreiben, wie man den Source lädt und somit einen Einstieg in die Entwicklung für Cachebox schaffen.
- Es wird ein Core-Projekt geben, welches den eigentlichen Cachebox-Code enthält und für jede Plattform ein Launcher-Projekt. Also für Desktop, Android und iOS. Auch die benötigten selbst entwickelten Tools werden einen extra Platz bekommen, sodass diese die Übersichtlichkeit des Gesamt Projekts nicht Beeinflussen wird (hoffentlich).
- Die Grundfunktionen von Cachebox werden 1 zu 1 übernommen. Sofern sie nicht durch Standard Funktionen der LibGdx ersetzt werden können. Dabei möchte ich aber soviel wie möglich auf LibGdx umstellen. Denn die LibGdx hat eine riesige Community welche sich sehr stark angerschiert und Fehler in der LibGdx werden schnell behoben. Dies hat den Vorteil, dass wir nicht mehr nach allen Fehlern suchen müssen. Und gerade unsere selbst Entwickelten UI-Elemente machen doch öfter Probleme.
- Ich werde von Anfang an auf die Kompatibilität der Plattformen achten. So wird es einen Dev-Branche geben, der erst dann in den Master-Branche übertragen wird, wenn dieser auf allen drei Plattformen getestet ist.
- Das Herzstück von Cachebox ist die Map. Die immer weiter auf Mapsforge verbogen wurde. Dies wird somit das erste Ziel für die neue Version. Eine Map, die hauptsächlich auf Mapsforge basiert, aber trotzdem die Vorteile von OpenGL nutzt. Die Implementierung der Mapsforge-Bibliothek hat für uns immer eine menge Aufwand bedeutet, da wir die Bibliothek immer an unsere Darstellung angepasst haben. Hier möchte ich aber so wenig wie möglich, wenn nicht sogar gar nicht, in die Mapsforge-Bibliothek eingreifen, damit wir nicht bei jeder Änderung der Mapsforge-Bibliothek von vorne anfangen.
- Das Datenbankformat soll nicht geändert werden, dass ist gut und schafft damit eine Kompatibilität zu der jetzigen und auch zu WinCachebox!
- Die Implementierung von Skins und die Berechnung der einzelnen Größen von UI-Elementen ist im laufe der letzten 5 Jahre auch immer weitergewachsen und unübersichtlich geworden. Hier möchte ich auch auf die SkinEngine von LibGdx setzen um das ganze mit einem Eigenen Tool etwas übersichtlicher zu gestalten.
- Ich werde mich nicht mehr um einen Webauftritt kümmern. Da habe ich einfach keinen Nerv mehr für. Der Issue-Tracker wird auf GitHub laufen. In dem von GitHub bereitgestellten Wiki wird es Seiten zur Entwicklung dieser Version geben, aber mehr auch nicht. Ein Wiki oder eine Seite zur Bedienung von Cachebox werde ich nicht mehr anlegen oder Pflegen.
- Cachebox 3.0 soll genauso bedient werden und aussehen wie die jetzige Cachebox.
Ein letztes Wort zu den jetzt folgenden Kommentaren. Bitte benutzt die Zitat Funktion. Ich möchte nicht jedes Mal wieder zurück scrollen, um nachzulesen, was ich im Punkt xy geschrieben habe,