Android App programmieren

Hallo!

Wer kennt sich denn mit der Entwicklung von mobilen Applikationen gut aus?

Es würde mich sehr erfreuen, wenn mir jemand folgende Frage beantworten könnte:

Ich programmier seit ca. 10 Jahren in allen möglichen Sprachen und hab vor über den Sommer App-Entwicklung zu lernen, weil ich Geld brauche und der Trend zu Apps mittlerweile absolut unbestreitbar ist.

Kann ich das in 2 Monaten einigermaßen ordentlich lernen. Sagen wir, ich beschäftige mich 20h in der Woche damit und möchte danach gut genug sein, um damit als Freelancer zu arbeiten. Hält ihr das für möglich?


Danke!
 
Wenn du schon 10 Jahre programmierst und ich denke sicherlich auch Java kannst, dann würde ich bei 20h pro Woche sagen, dass das locker klappt.

Mit Android Lifecycle beschäftige, den XML Kram samt GUI Geschichten ordentlich lernen und ein paar typische Android Sachen wie Intents, Receiver. JNI wäre vielleicht noch so eine Sache.
 
Hab zwar selbst mit App-Entwicklung wenig zu tun, aber ich würde empfehlen sich nicht zu sehr auf Android und Java zu versteifen. Damit nimmst du dir die Möglichkeit deine Apps auch für iOS zu veröffentlichen. Wie ich aus gut unterrichteten Kreisen (aka TheEvilOne) weiss, ist das mit C# wohl wesentlich einfacher.
 
Je nachdem, welche Anforderung deine App hat, lässt sich das auch mit https://cordova.apache.org/ (ehemals Phonegap)
umsetzen, einfach Start-kit runterladen und dann die App in JS, CSS, und HTML programmieren.
Man darf dabei zwar nicht vergessen das es ab einem gewissen Grad nicht so ohne weiteres portierbar ist, aber da muss man mal hinkommen.

Meine Erfahrung über die letzten Jahre hat aber gezeigt das man nicht jeden Trend mitmachen sollte, siehe Ruby on Rails.

Gruß

Fluffy

//edit
Und du solltest dir, wenn du ernsthaft App-Entwicklung betreiben willst, auch die Smartphones kaufen auf dennen das laufen soll.
Emulatoren helfen nur so viel.
zB hat das Teil von Google einen "tollen" Fehler, bzgl. GPS:Längen- und Breitengrad sind vertauscht, und da muss man beim Debuggen erstmal drauf kommen. -.-'

//edit2
Und um auf Tsjuder einzugehen und ohne dir zu nahe treten zu wollen:
Es kommt immer drauf an was man gemacht hat, wie und auf welchen Nivaue.
Ich bin auch beruflich schon einige Zeit mit Softwareentwicklung beschäftigt, aber bei einigen Sachen würde ich auch sagen: "So ohne weiteres,.... Nein."
Also nicht unterschätzen oder wundern wenn Tsjuders Einschätzungen nicht zutreffen.
 
Zuletzt bearbeitet von einem Moderator:
Hallöchen!
Vielen Dank euch, besonders für den Tipp auch mit C#. Es schaut tatsächlich echt ziemlich ähnlich wie normales Java/C# aus.
Das dürfte also echt möglich sein.

habe ich mal auf dieser Seite hier schlau gemacht:C# Tipps und Tricks

Dieses Beispiel hier gefällt mir besonders gut: C# Tipps und Tricks: Android: App zur Ausgaben

Leider kostet eine Xamarin-Lizenz ne ganze Menge.
Aber egal, für den Anfang und zum Lernen komme ich sicher mit der Gratis Version zurecht.
 
C# ist eine gute Variante um sie für iOS zur Verfügung zu stellen, jedoch empfehle ich für Einsteiger, die neue Entwicklerumgebung von Google.
AndroidStudio ist sehr einfach aufgebaut und erleichtert den Einstieg in diesen Bereich. Zumal ich Java auch einfacher finde als C# :wink:

Der einzige negative Punkt den ich AndroidStudio gebe, ist die etwas umständliche Installation auf Windows.

Alternative kann ich noch Eclipse empfehlen, obwohl dies nicht weiter entwickelt werden soll.

Durch eigene Erfahrungen, kann ich dir vorrangig den Androidmarkt empfehlen. Zwar kann man nicht so viel verlangen wie bei iOS, aber Downloadzahlen sind meistens höher. Und wenn was bei Android gut verkauft wird, kann es ja immernoch für iOS umgesetzt werden 8)

Wie schon erwähnt beruhen die Äußerungen auf eigenen Empfindungen und Erfahrungen, falls ich jemanden auf den Schlips getreten bin, tut es mir Leid.
 
Und wenn was bei Android gut verkauft wird, kann es ja immernoch für iOS umgesetzt werden 8)

Und genau deswegen sollte man sich vorher Gedanken machen, ob man evtl. den iOS-Markt auch noch erreichen will. Sonst ist man im Endeffekt mit einem kompletten Rewrite und der Pflege von 2 Apps beschäftigt, anstatt nur eine Code-Basis für beide Plattformen zu nutzen, was den Arbeitsaufwand drastisch verringert.
 
Da gebe ich dir voll und ganz Recht, jedoch ging es ja um den Einstieg und ich halte da AndroidStudio wirklich für eine optimale Option um zu lernen. Da es ja nicht nur um die Sprache geht, sondern eher um das ganze darum herum: Wie sieht eine einfache, verständnisvolle GUI für eine TouchApplikation aus? Wie schnell ist die Verbreitung? Was spricht Nutzer an?
Ich persönlich empfinde, da diese Umgebung als sehr hilfreich.

Für große Projekte, die das gewünschte Geld dann einbringen sollen, ist natürlich eine Code-Basis sinnvoll, die alle OS für Smartphones abdeckt.
Man sollte sich immer vorher Gedanken, beim Programmieren, machen, welche Plattformen später dafür herhalten sollen.
 
Hab Android Studio mal ausprobiert.
Allerdings läuft das auf meinem PC (i5 M540 4GB)
ziemlich langsam. So langsam dass ich zumindest auf dem PC nicht damit arbeiten will.


Werde es, sobald ich an nen Desktop rankomme (ca n Monat) mal dort probieren.

Bis dahin schau ich mir mal die C# Umgebung an.
Ob Java oder C# ist mir prinzipiell egal. Die Sprachen sind sich extrem ähnlich und ich hab in beiden schon Erfahrung.
 
Um mal ein wenig Licht ins Dunkeln zu bringen... ;)

Ich würde mir vorher sehr gut überlegen, was ich mit der App-Entwicklung erreichen möchte. Soll es nur ein Hobby sein und hast du bereits einen Androiden? Dann hol Dir AndroidStudio und entwickel in Java.

Möchtest du App-Entwicklung ernsthaft betreiben und damit Geld verdienen, dann überlege Dir, mit welcher Technologie du auf mehreren Plattformen deployen kannst. Natürlich laufen native Apps auf der jeweiligen Plattform am Besten, aber damit machst du dir die Arbeit unter Umständen mehrfach. Denn du willst dann ja nicht nur für Android entwickeln, sondern auch für iOs ...und Windows Phone solltest du natürlich auch nicht vergessen.

Als Crossplattform kommt evtl xamarin in Frage, aber mit 25 Dollar monatlich ist das nicht gerade günstig. Und auch stößt man mit Crossplattformen ab einer gewissen Funktionsvielfalt an seine Grenzen. Solltest du z.B. eine App entwickeln wollen, die irgendwas mit dem Benachrichtigungssystem zu tun hat, dann wird dieses auf Android anders umgesetzt als auf iOs. Somit müßtest du hier dann doch wieder nativ entwickeln.

Auch solltest du dir bewusst sein, dass dir die Nutzer mit deiner ersten veröffentlichten App nicht gleich die Bude einrennen werden. Die App kann noch so gut sein, wenn das Marketing nicht stimmt hast du kaum eine Chance. Und das aufzubauen dauert unter Umständen Jahre.

Ich für meinen Teil habe Apps viele Jahre lang ausschließlich nativ für Android entwickelt und iOs außen vor gelassen. Mittlerweile entwickel ich überhaupt keine Apps mehr, sondern nur noch Spiele mit Unity3D. Mit diesem Framework entwickelst du einmal ein Spiel (in C# oder JS) und kannst es dann relativ einfach auf allen möglichen Plattformen deployen.

Die Masse an Apps ist im Augenblick einfach so enorm und irgendwann dachte ich mir: "Wenn ich einen Datei-Explorer suche, dann installiere ich mir einen und wenn ich mit dem zufrieden bin, schaue ich nach keinem anderen mehr." Bei Spielen schaut man sich aber immer mal wieder nach etwas neuem um. Außerdem macht es um einiges mehr Spaß digitales Leben zu schaffen ;)

Achja, und ganz wichtig: Um für iOs Apps oder Spiele zu deployen brauchst du einen Mac! ...ohne gehts nicht. Evtl kannst du was mit einem Hackintosh reißen, aber wie es darauf läuft kann ich dir nicht sagen. Falls du dir aber sowieso ein neues Notebook zulegen mußt würde ich das auf jeden Fall bedenken. Es ist um einiges einfacher auf einem Mac Windows in einer VM laufen zu lassen als umgekehrt. Ich muß mittlerweile auch sagen: Zum Arbeiten sind die Macs echt klasse.

Als Testgeräte wirst du ebenfalls ein iPhone brauchen (mindestens das 5er, ca. 180 Euro bei Ebay), 1 Androiden und irgendwann auch ein Windows-Phone. Die Winphone-Emulatoren sind ziemlich gut. Außer inAppBilling kann man da eigentlich schon viel testen. Als Android-Emulator kann ich genymotion empfehlen. Du kannst natürlich auch einfach ersteinmal nur mit Android starten. Es drängt dich ja keiner gleich alles kaufen zu müssen.

So long...
 
Zurück
Oben