Βασική διαφορά: Μια εγγενής εφαρμογή είναι μια εφαρμογή που έχει σχεδιαστεί ειδικά για ένα κινητό σύστημα. Οι εγγενείς εφαρμογές αναπτύσσονται χρησιμοποιώντας το SDK πλατφόρμας, εργαλεία και γλώσσες για τη συγκεκριμένη πλατφόρμα. Μια υβριδική εφαρμογή, στην άλλη εφαρμογή, είναι μια εφαρμογή που αναπτύσσεται με μια γλώσσα ιστού όπως HTML 5, CSS και JavaScript. Αυτές οι εφαρμογές εκτελούνται έπειτα σε ένα εγγενές δοχείο, το οποίο τους επιτρέπει να τρέχουν σε οποιοδήποτε σύστημα κινητής τηλεφωνίας.
Μια εφαρμογή, σύντομη για εφαρμογή, είναι ένα πρόγραμμα ή μια ομάδα προγραμμάτων που μπορούν να χρησιμοποιηθούν για την εξυπηρέτηση συγκεκριμένου σκοπού. Παρόλο που όλο το λογισμικό που χρησιμοποιούμε είναι τεχνικά εφαρμογές, ο όρος "app" χρησιμοποιείται συνήθως στις εφαρμογές που χρησιμοποιούνται σε κινητά συστήματα, όπως το Android, το iOS, το Windows Mobile, το Blackberry κ.λπ.
Υπάρχουν δύο κύριοι τύποι εφαρμογών: μια μητρική εφαρμογή και μια υβριδική εφαρμογή. Η εφαρμογή από την άποψη του χρήστη μπορεί να είναι ίδια. Ωστόσο, οι πραγματικές διαφορές μεταξύ των εφαρμογών είναι μόνο στα συστήματα στα οποία αναπτύσσονται.
Μια εγγενής εφαρμογή είναι μια εφαρμογή που έχει σχεδιαστεί ειδικά για ένα κινητό σύστημα. Για παράδειγμα: μια εφαρμογή που αναπτύχθηκε για iOS. Αυτή η εφαρμογή δεν θα είναι κατάλληλα συμβατή με άλλα κινητά συστήματα όπως το Android. Προκειμένου να εφαρμοστεί η εφαρμογή στο Android, η εφαρμογή πρέπει να αναδιαμορφωθεί στο πλαίσιο του Android.
Οι εγγενείς εφαρμογές αναπτύσσονται χρησιμοποιώντας το SDK πλατφόρμας, εργαλεία και γλώσσες για τη συγκεκριμένη πλατφόρμα. Για το Android, οι εγγενείς εφαρμογές πρέπει να αναπτυχθούν χρησιμοποιώντας Eclipse ή Java. Το iOS χρησιμοποιεί το xCode και το Objective-C για να αναπτύξει τις εφαρμογές του, ενώ το Windows Phone χρησιμοποιεί Visual Studio και C #.
Μια υβριδική εφαρμογή, στην άλλη εφαρμογή, είναι μια εφαρμογή που αναπτύσσεται με μια γλώσσα ιστού όπως HTML 5, CSS και JavaScript. Αυτές οι εφαρμογές εκτελούνται έπειτα σε ένα εγγενές δοχείο, το οποίο τους επιτρέπει να τρέχουν σε οποιοδήποτε σύστημα κινητής τηλεφωνίας. Για παράδειγμα: για να τρέξετε σε Android, η εφαρμογή μπορεί να εκτελεστεί σε ένα μητρική κονσόλα Android, ενώ η εφαρμογή μπορεί να μετακινηθεί σε ένα μητρική κονσόλα iOS, προκειμένου να λειτουργήσει στο iOS.
Τόσο οι εφαρμογές όσο και οι εφαρμογές υβριδικών εφαρμογών μεταφορτώνονται από το κατάστημα εφαρμογών της πλατφόρμας και αποθηκεύονται και εκτελούνται στη συσκευή. Ωστόσο, οι εφαρμογές υβριδικών εκμεταλλεύονται τη μηχανή του προγράμματος περιήγησης της συσκευής για να προβάλλουν το HTML και να επεξεργάζονται τοπικά τη JavaScript. Για να αναπτύξουμε τις εγγενείς εφαρμογές για διαφορετικές πλατφόρμες, ο προγραμματιστής πρέπει να γνωρίζει διάφορες διαφορετικές γλώσσες, ενώ για να αναπτύξει μια υβριδική εφαρμογή, πρέπει να γνωρίζει μόνο μία.
Κάθε ένας από τους διαφορετικούς τύπους εφαρμογών έχει τα δικά του οφέλη. Ως εκ τούτου, ορισμένες εφαρμογές αναπτύσσονται καλύτερα ως εγγενείς εφαρμογές, ειδικά παιχνίδια και άλλες εφαρμογές που απαιτούν καλύτερη και ταχύτερη απόδοση, γραφικά κ.λπ. Ωστόσο, για άλλες εφαρμογές, το υβριδικό σύστημα μπορεί να λειτουργεί καλύτερα όπως για εφαρμογές που χρειάζονται να εμφανίζουν ιστοσελίδες, χάρτες κ.λπ. .
Σύγκριση μεταξύ φυσικής και υβριδικής εφαρμογής:
Εγγενής εφαρμογή | Υβριδική εφαρμογή | |
Περιγραφή | Μια εφαρμογή που αναπτύσσεται ειδικά για μια πλατφόρμα χρησιμοποιώντας το SDK, τα εργαλεία και τις γλώσσες της πλατφόρμας. | Μια ενιαία εφαρμογή που κωδικοποιείται χρησιμοποιώντας μια γλώσσα ιστού που μπορεί να μεταφερθεί σε οποιαδήποτε πλατφόρμα κάτω από ένα φυσικό δοχείο. |
Εκτέλεση του | Συσκευή | Συσκευή |
Ανάπτυξη γλώσσας | Ανάπτυξη με χρήση του SDK πλατφόρμας, εργαλεία και γλώσσες για τη συγκεκριμένη πλατφόρμα. Για το Android, οι εγγενείς εφαρμογές πρέπει να αναπτυχθούν χρησιμοποιώντας Eclipse ή Java. Το iOS χρησιμοποιεί το xCode και το Objective-C για να αναπτύξει τις εφαρμογές του, ενώ το Windows Phone χρησιμοποιεί Visual Studio και C #. | Ανάπτυξη με μια γλώσσα ιστού όπως HTML 5, CSS και JavaScript. |
Περίπλοκο | Πιο πολύπλοκο στον κώδικα | Λιγότερο περίπλοκο στον κώδικα |
Εμπειρία χρήστη | Καλύτερη εμπειρία χρήστη | Λιγότερο εμπειρία χρήστη από τις εγγενείς εφαρμογές |
Εκτέλεση | Ταχύτερη και καλύτερη απόδοση | Λιγότερη απόδοση από τις εγγενείς εφαρμογές |
Γραφικά | Καλύτερα γραφικά | Μικρότερα γραφικά από τις εγγενείς εφαρμογές |
Φορητότητα | Είναι πιο δύσκολο να μεταφερθούν σε άλλα συστήματα | Ευκολότερη τη θύρα σε άλλα συστήματα |
Ενσωμάτωση | Η κάμερα, το βιβλίο διευθύνσεων, η γεωγραφική κατανομή και άλλες λειτουργίες που είναι εγγενείς στη συσκευή μπορούν να ενσωματωθούν εύκολα σε εγγενείς εφαρμογές. | Ορισμένες λειτουργίες συσκευών ενδέχεται να είναι πιο δύσκολο να ενσωματωθούν σε εφαρμογές υβριδικών. |
Επένδυση | Χρειάζεστε περισσότερες επενδύσεις επειδή είναι γραμμένες με πιο σύνθετες γλώσσες, σχέδια και δομές. | Χρειάζεστε λιγότερες επενδύσεις |