Τρέχοντας iOS εφαρμογές στο Android με το Cider
- Τετάρτη, 14 Μαΐου 2014 13:01
Στον κόσμο του Android, δεν υπάρχουν όρια σχετικά με το τι μπορεί να επιτευχθεί, και άξιοι developers συνεχώς το αποδεικνύουν.
Στην συγκεκριμένη περίπτωση, το Cider αποτελεί την λύση για να τρέξουμε iOS εφαρμογές στο Android.
Το να γεφυρωθούν οι δύο αυτές πλατφόρμες, εξ' αιτίας της διαφορετικότητάς τους, φαίνεται σχεδόν αδύνατο: Το iOS χρησιμοποιεί τον XNU kernel, ενώ το Android χρησιμοποιεί τον πυρήνα του Linux. Οι iOS εφαρμογές είναι γραμμένες σε objective C, και τρέχουν natively, ενώ στο Android οι εφαρμογές είναι γραμμένες σε Java και "μετατρέπονται" σε native κώδικα κατά την εκτέλεση μέσω της Dalvik VM. (Μην μπλέξουμε το ART εδώ, ας πάρουμε μόνο την γενική περίπτωση).
Για την ακρίβεια μπορώ να σκεφτώ δεκάδες ακόμα λόγους που το να τρέξεις iOS εφαρμογές στο Android natively, είναι σχεδόν αδύνατο. Την λέξη "αδύνατο" όμως, φαίνεται να μην την γνωρίζουν κάποιοι developers, προς όφελος όλων μας:
Δεν έχω ακόμα διαβάσει το paper όσο αναλυτικά θα ήθελα, ώστε να περιγράψω εκτενώς την λειτουργία των diplomatic functions ή του duct tape (τεχνικών που χρησιμοποίησαν οι προγραμματιστές), αλλά πιστεύω το αποτέλεσμα πρέπει να μείνει σε όλους μας, το οποίο παρουσιάζουν στο παρακάτω βίντεο:
Το (ομολογουμένως αδύναμο) Nexus 7 του 2012 με τον Tegra 3 που χρησιμοποίησαν στις δοκιμές τα πήγε μέτρια-αξιοπρεπώς στην εκτέλεση των iOS εφαρμογών, το οποίο με κάνει να αναρωτιέμαι πώς θα έτρεχαν σε σύγχρονο SoC του 2014, π.χ. σε συσκευή με Snapdragon 801.
Όπως και να χει, κάποιες πιο πολύπλοκες εφαρμογές που χρειάζονται π.χ. APIs της κάμερας (Facetime κτλ) δεν δουλεύουν ακόμα, καθότι σκοπός της έρευνας ήταν να επιτευχθεί το proof of concept, το οποίο κατάφεραν και με το παραπάνω.
Σίγουρα στην Apple δεν πρόκειται να αρέσει να μπορούν να εγκαταστήσουν εφαρμογές iOS (.ipa) οι κάτοχοι Android συσκευών. Έχουμε δει ότι "πολέμησε" μέχρι και themes τα οποία παρέπεμπαν στην εμφάνιση (!) του iOS, οπότε η εκτέλεση Proprietary iOS εφαρμογών στο Android μάλλον θα θεωρηθεί θανάσιμο αμάρτημα. Προσωπικά ελπίζω το project να προχωρήσει, και να μπορέσουμε όλοι να αποκτήσουμε και αυτή την δυνατότητα στις συσκευές μας.
Το άψογο paper, που περιγράφει αναλυτικά πώς κατάφεραν το .. αδύνατο, θα το βρείτε στο link της πηγής παρακάτω.