Έχετε αναρωτηθεί ποιoς είναι ο τρόπος λειτουργίας σε μια διαδικτυακή εφαρμογή - web application; Όταν ένας χρήστης αρχίσει τη πλοήγηση στο διαδίκτυο, μια σειρά από αλληλεπιδράσεις λαμβάνουν χώρα στο παρασκήνιο μεταξύ του web browser - φυλομμετρητή και στα μέρη μιας διαδικτυακής εφαρμογής web. Μερικά από τα τεχνικά μέρη που συμμετέχουν είναι το user interface - διεπαφή, το middleware, η βάση δεδομένων, o server κ.α.
Το γενικότερο σύστημα που ενώνει όλη αυτήν την αλληλουχία και ορίζει τους κανόνες για την προβολή των δεδομένων ονομάζεται αρχιτεκτονική ενός web application.
Τι είναι web application με απλά λόγια; Είναι πρόγραμμα που αποθηκεύεται σε έναν απομακρυσμένο server και η χρήση γίνεται μέσα από ένα web browser.
Τα μέρη που το αποτελούν είναι το middleware, οι βάσεις δεδομένων και η σύνδεση με άλλες εφαρμογές μέσω web services, η ροή της πληροφορίας που εμφανίζεται στου χρήστες και των διάφορων διεργασιών που εκτελούνται ορίζονται από κανόνες business logic σε επίπεδo authentication και authorization.
Σε ένα τελικό λειτουργικό αποτέλεσμα μπορούμε να φτάσουμε, ανεξάρτητα από την τεχνολογία με την οποία έχει κατασκευαστεί το κάθε web app. Αυτό επιτυγχάνεται έχοντας χρησιμοποιήσει μια οποιαδήποτε ομάδα από γλώσσες προγραμματισμού σε επίπεδο server side ή client side.
Οι web εφαρμογές, τα mobile app και ειδικότερα με τη τεχνολογία cloud αποτελούν τo τεχνολογικό υπόβαθρο για τον ψηφιακό μετασχηματισμό σε μια επιχείρηση
Δηλαδή όταν χρήστης πληκτρολογεί ένα URL και πατήσει "GO" o φυλλομετρητής θα βρει τον υπολογιστή όπου "υπάρχει" το website και του ζητησει μια συγκεκριμένη ιστοσελίδα. Οπότε η αρχιτεκτονική αποτελείται από δύο βασικά μέρη το client-side (browser) και το server-side (διακομιστής).
Σε γενικές γραμμές η μετάβαση στις πιο εξελιγμένες εφαρμογές είχε ως αποτέλεσμα στο μετασχηματισμό και το διαχωρισμό τους σε frontend με την ανάπτυξη λογισμικού να εκτελείται στο μέρος του browser ως javascript με βιβλιοθήκες όπως είναι το ReactJS και στο backend development όπως είναι τι NodeJS αντίστοιχα.
Επιπλέον με την άνοδο της χρήσης smartphone, το mobile web είναι το πρώτο σημείο αναζήτησης και πλοήγησης στο internet, αυτό έχει ως συνέπεια το web app development να εξελιχθεί ώστε καλύψει περισσότερα απαιτήσεις και ταυτόχρονα καθιστά αναγκαίο το cross-platform development.
Οι εφαρμογές γίνονται πιο περίπλοκες οπότε οι developers που έχουν αναλάβει απαιτητικές εφαρμογές θα πρέπει να έχουν ευκολία και αρκετή τεχνογνωσία στο να εργάζονται και σε όλα τα μέρη της εφαρμογής. Αν θέλετε εξειδίκευση που δεν υπάρχει σε τοπικό επίπεδο μπορείτε να προσλάβετε web developer εξ αποστάσεως.
Η γενική λειτουργία σε μια διαδικτυακή εφαρμογή
Οι εφαρμογές web αποτελούνται δύο βασικά λειτουργικά μέρη, όπου το καθένα εκτελεί τη λειτουργία σε κώδικα ξεχωριστά και σε διαφορετικό χρόνο, αλλά ταυτόχρονα συνεργάζονται ώστε να παρέχουν ένα τελικό αποτέλεσμα.
1. Το πρώτο μέρος - browser rendering περιλαμβάνει το λογισμικό που εκτελείται απευθείας στο browser client-side. H λειτουργία ξεκινάει από τη στιγμή που ένας χρήστης φορτώσει το application ή και αρχίσει να εισάγει απευθείας δεδομένα στη διεπαφή - user interface. Τις περισσότερες φορές αυτό το μέρος είναι γραμμένο σε Javascript ή σε Frameworks βασισμένα σε αυτή τη γλώσσα VueJs, ReactJS και Αngular.
2. To δεύτερο μέρος - server side processing είναι το λογισμικό που εκτελείται από την πλευρά του εξυπηρετητή - server side και επιστρέφει τις ανάλογες πληρoφορίες όπου γίνονται request από τον υπολογιστή-πελάτη client side μέσω του πρωτοκόλλου HTTP.
web development τι είναι;
Είναι η διαδικασία προγραμματισμού όπου ο developer δημιουργεί μια εφαρμογή web, με τη οποία μπορεί να έχει απλά μόνο μια διεπαφή - user interface να είναι προσβάσιμη μέσω web browser για εργασίες που απαιτούν χειρισμό δεδομένων. Επιπλέον μπορεί να περιλαμβάνει διασύνδεσες με συστήματα άλλων πληροφοριακών συστημάτων ή με πολλαπλούς clients όπως είναι τα mobile apps.
Αν ψάχνετε για web development υπάρχουν πολλοί τρόποι και τεχνολογίες όπου κάποιος μπορεί να φτάσει σε ένα τελικό αποτέλεσμα. Η κάθε μια τεχνολογία, γλώσσα προγραμματισμού ή web framework έχει τα δικά του πλεονεκτήματα και μειονεκτήματα, οπότε η επιλογή σε project μπορεί να εξαρτάται από το χρόνο υλοποίησης, τη ποιότητα του πηγαίου κώδικα, τη σχεδίαση του user interface αλλά και το επίπεδο και τη διαθεσιμότητα του εργατικού δυναμικού.
Τρεις μοντέρνοι τύποι αρχιτεκτονικής web application
Single-page applications (SPA)
Οι μοντέρνες εφαρμογές που περιλαμβάνουν πολλά μέρη σύνθετα στοιχεία σε μια ιστοσελίδα όπως είναι πλέγματα grids, οι λίστες δεδομένων όπου είναι προτιμότερο να κατασκευαστούν ως SPA. Εδώ προσφέρεται καλύτερη εμπειρία χρήση όσον αφορά πλοήγηση και αναζήτηση δεδομένων, συγκεκριμένα η εφαρμογή "φορτώνεται" μόνο μια φορα στο browser και στη συνέχεια ανανεώνονται δυναμικά τμήματα αυτή της ιστοσελίδας, όπου αντίθετα με το συνηθισμένο τρόπο φορτώνονται συνεχώς καινούργιες σελίδες.
Μια άμεση συνέπεια είναι καλύτερο User Experience, στο Single-page web, όπου ο χρήστης έχει πιο δυναμική αλληλεπίδραση με το app. Αυτή η περίπτωση είναι καλύτερα να δημιουργείται σε διαδικτυακές εφαρμογές όπως είναι ένα ERP όπου ο παράγοντας του Search Engine Optimization δεν παίζει κεντρικό ρόλο στην τεχνική σχεδίαση και λειτουργία της εφαρμογής, αυτό είναι αντίθετο σε μια εφαρμογή όπως ένα online store όπου θα είχε να γίνει SPA μόνο στο κομμάτι του Checkout Cart.
Microservices
Αυτός ο τύπος διαχωρίζει τις λειτουργίες ενός συστήματος σε ομάδες που τις ονομάζει μικροϋπηρεσίες. Με αυτό τον τρόπο έ