Lohnt sich der Umstieg von Java auf Swift?

... komplette Frage anzeigen

5 Antworten

Hallo Bohne999,

ein wenig lustig finde ich deine Frage schon... Immmerhin stand ich vor etwa 2 Wochen vor exakt der gleichen Situation. Android Apps hatte ich schon einige geschrieben und wollte daher auf iOS umsteigen (-> Swift, bzw. Objective-C. : deprecated), ich sollte dir daher gut weiterhelfen können.

1. Wenn du deine Idee als Applikation für das Smartphone umsetzen möchtest, dann musst du dir erst einmal klar werden, für welches Betriebssystem du diese App entwickeln möchtest. Die erste Möglichkeit ist Android, die zweite iOS, dort sind die Nutzer der Apps meistens auch etwas zahlungsfreudiger, nur so am Rande... Windows und deren mobiles Betriebssystem lasse ich wegen der niedrigen Verbreitung außen vor.

2. Android: Diese Möglichkeit ist eigentlich die Optimalste, die es für dich geben kann. Android Apps sind in Java geschrieben, du könntest dein vorhandenes Wissen dort also gut einbringen. Des Weiteren bietet Android die Möglichkeit, mit Hilfe von den Android ADT's direkt in Eclipse zu programmieren, wenn du bereits damit arbeiten solltest und den Einstieg nicht zu schwer haben möchtest. Ansonsten solltest du dir die die Entwicklungsumgebund "Android Studios" installieren, die ist für die Entwicklung von Android Apps am besten geeignet, bedarf aber einige Einarbeitungszeit, wenn man von Eclipse kommt. (Ich spreche aus Erfahrung ;-) ) Wenn du deine App dann fertig haben solltest, musst du dir noch über Google einen Entwickler - Account kaufen, dies ist ein einmaliger Betrag, der dich authorisiert, Apps in den Store zu stellen. Das Preis-Leistungsverhältnis ist bei Android unschlagbar!

3. iOS: Wenn du deine App für iPhones und iPad entwickeln möchtest, ist das Ganze schon nicht mehr so einfach... Du wirst vor 2 Bedingungen gestellt, einmal benötigst du einen Mac (iMac / MacBook) und zweitens musst du dich mit objektorientiertem C oder Swift auseinandersetzen. Die erste Bedingung wird wohl am meisten Schmerzen bereiten, zumindest war es bei mir so. Nachdem ich nun knapp 2500€ für ein MacBook hingelegt habe, ist es mir nun möglich, xCode -die Entwicklungsumgebung von Apple- zu verwenden. Wenn du bereits einen Mac hast, ist das natürlich optimal, andernfalls würde ich mir die Sache nochmal gründlich überlegen! Gerade wenn man keine Erfahrung mit der App-Entwicklung hat, ist es nicht sinnvoll, einen Haufen Geld in die Hand zu nehmen und in einen Apfel zu investieren, nur um "mal eine Idee umzusetzen". Wenn du aber mal so weit bist und mit xCode arbeiten kannst, dann kannst du bei der App-Entwicklung zwischen 2 Programmiersprachen entscheiden: 1. Objective-C (da sehr C lastig, für dich ungeeignet!) oder 2. Swift (Neue Programmiersprache von Apple, kommt Java etwas näher). Generell ist es aber so, wenn man eine Programmiersprache beherrscht und versteht, gerade was die OOP angeht, dann ist es recht einfach, auf eine andere umzusteigen. Dafür bedarf es aber viel Grundwissen, ein "ein-Wochen-Grundkurs" reicht dafür nicht aus. Aus eigener Erfahrung kann ich dir sagen, dass es im Vergleich zu Android sehr aufwändig und komplex ist, eine iOS App zu schreiben. Bereits die Entwicklungsumgebund xCode ist extrem mächtig und komplex, da bedarf es einige Zeit an Einarbeitung! Manchmal wünsche ich mir dann doch die Schlichtheit von AndroidStudio zurück. Wenn man aber einmal so weit ist und mit xCode umgehen kann, dann kann man die Macht und die Komplexität für sich nutzen. Was die Programmiersprache angeht, kann ich dir nicht wirklich objektiv zur Rate stehen. Jeder hat ein anderen Wissenstand und Erfahrung, daher kann ich nicht sagen: "He! War total einfach...". Schaue dir doch mal im Internet ein paar "Java to Swift" - Tutorials an, dafür brauchst du keinen Mac. Schaue dir einfach mal an, wie du zurecht kommen würdest. Solltest du dann aber wirklich so weit sein und eine App fertig haben, dann stehst du vor dem nächsten Hindernis: Dem AppStore. Wie immer bei Apple, ist der nicht kostenlos. Um eine App online zu stellen, benötigst du eine Apple-Developer-License, die dich im Jahr umgerechnet 75€ kostet. Diese License authorisiert dich dann, die App zu publizieren, deine Möglichkeiten sind bei Apple aber -wie immer- sehr komplex und durchdacht.

4. Code-Translater sind absoluter Quatsch. Bei einfachen Hello-World Apps kann das vielleicht noch ganz witzig sein und funktionieren. Je nachdem wie komplex deine App wird, funktionieren solche Translater dann aber nicht mehr korrekt. Zudem halte ich von so etwas nich viel, denn immerhin hast du als Autor und Publizist einer App eine gewisse Verantwortung. Nehmen wir mal an, du schreibst eine schöne App in Java und hast so halbwegs verstanden, was du da geschrieben hast. Dann lässt du sie in Swift übersetzen und hast keine Ahnung mehr von dem Code - und veröffentlichst sie. Jetzt tauchen bestimmte Fehler auf oder schlimmer -je nach App- Sicherheitsprobleme bei der Serveranbindung, wie willst du diese schnell beheben und deine Nutzer schützen? Veröffentliche NIEMALS Code, den du nicht selbst geschrieben hast oder zu 100% verstehst! Solche Aktionen können dich auch mal schnell in die ... reiten ;-)

5. Wenn du wirklich für mehrere Plattformen gleichzeitig programmieren möchtest, dann würden sich Frameworks anbieten. Ich muss dir aber gestehen, dass ich in diesem Bereich nicht viel Ahnung habe. Denn diese Frameworks können auch schnell in's Geld gehen... Zudem ist man bei diesen Frameworks immer an die Weiterentwicklung von Seiten der Anbieter gebunden. Da bin ich lieber auf Nummer sicher und entwickle separat, dafür mit der vorhergesehenen Software der Betriebssystemhersteller und bin bei Problemen oder wichtigen Nachrichten immer sofort informiert.

Ich würde dir also raten, dich mit der Android Entwicklung auseinanderzusetzen und dein Wissen dort mit einzubringen. Zudem ist das eine tolle praktische Übung, um dein Wissen zu festigen und Erfahrungen zu sammeln. Insbesondere aus dem Grund, dass du bisher keine Erfahrungen in der App-Programmierung hast und Android daher wesentlich einfacher und kostengünstiger ist.

Solltest du noch weitere Fragen haben, dann eröffne bitte separate Fragen und sende mir den Link zu. Fragen zu meiner Antwort kannst du natürlich jederzeit kommentieren. Ich wünsche dir viel Erfolg!

Grüße,

Hummelxy

Antwort bewerten Vielen Dank für Deine Bewertung

Bleib bei java. Damit kannst auch apps für android über eclipse programmieren

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von hummelxy
11.02.2016, 00:29

Hier würde ich aber nicht mehr Eclipse empfehlen! Android bietet eine eigene Entwicklungsumgebung an: AndroidStudios.

Diese Software ist aktuell und für die Android Entwicklung am besten geeignet.

1
Kommentar von JuicyLuisian
11.02.2016, 00:32

Oder Adroid Studio, dann braucht man Eclipse nicht extra modifizieren.

0

Die Frage ist doch, für welche Plattform du entwickeln willst und die Antwort ist relativ simpel:

Android = Java

Apple = Swift oder Objective-C (meine klare Empfehlung für Swift)

Wenn du schon einen Mac hast, kannst du beides ausprobieren (Android Studio und Xcode sind kostenlos) und es hängt davon ab, ob du ein iPhone oder Android-Gerät hast.

Das musst also du selbst entscheiden oder uns weitere Informationen geben.

Antwort bewerten Vielen Dank für Deine Bewertung

Swift soll sehr Einsteiger/Umsteiger freundlich sein. Ich würde dir zu Swift raten. Es ist eine moderne Sprache und kann seine Vorteile auf Apple ausspielen.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von hummelxy
11.02.2016, 01:12

Modern ist Swift absolut! Ich kenne keine andere Sprache, die so fortschrittlich und zugleich "schlank" wirkt. Apple eben...

0

Nicht wirklich den mit java werden 3D animationen im internet erstellt und die meisten spiele laufen nur über java
Zbsp: wenn etwas abstürzt ( ein pogramm oder ein spiel) eratellt java eine error meldung
Die ist wichtig damit du weißt was das problem war

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von hummelxy
11.02.2016, 00:28

Was hat denn deine Antwort genau mit der Frage zutun? Ich glaube nicht, dass diese Aussage beim Fragesteller wirklich ein Ergebnis hervorruft ;-)

1

Was möchtest Du wissen?