User:Ccelect/sandbox

Στην τεχνολογία λογισμικού, οι όροι "front-end" και "back end" είναι διακρίσεις που αφορούν το διαχωρισμό του στρώματος παρουσίασης και του στρώματος πρόσβασης δεδομένων αντίστοιχα.

Το front-end είναι μία διεπαφή μεταξύ του χρήστη και του back end. Front-end και back end μπορούν να κατανέμονται σε ένα ή περισσότερα συστήματα.

Στην αρχιτεκτονική του λογισμικού, μπορεί να υπάρχουν πολλά στρώματα μεταξύ του υλικού και του τελικού χρήστη. Θεωρείται ότι καθένα από αυτά έχει ένα "front-end" και ένα "back end". Το "front-end" είναι μια αφαίρεση, που απλοποιεί το υποκείμενο στοιχείο, παρέχοντας μια φιλική προς το χρήστη διεπαφή.

Στο σχεδιασμό λογισμικού, για παράδειγμα, η αρχιτεκτονική model-view-controller παρέχει "front-end" και "back end" για τη βάση δεδομένων, το χρήστη και τα στοιχεία επεξεργασίας δεδομένων. Ο διαχωρισμός των συστημάτων λογισμικού σε "front-end" και "back end" απλοποιεί την ανάπτυξη και διαχωρίζει τη συντήρηση. Ένας γενικός κανόνας είναι ότι "front-end" (ή «πελάτης») είναι το στοιχείο που χειρίζεται ο χρήστης. Ο κώδικας της πλευράς του διακομιστή (ή "back end")  βρίσκεται στο διακομιστή. Η σύγχυση προκύπτει όταν κάποιος πρέπει να κάνει front-end αλλαγές σε server-side αρχεία. Οι περισσότεροι σχεδιαστές HTML, για παράδειγμα, δεν χρειάζεται να είναι στο διακομιστή κατά την ανάπτυξη HTML κώδικα. Αντιθέτως, οι server-side μηχανικοί, εξ ορισμού, βρίσκονται σε ένα διακομιστή. Απαιτούνται και οι δύο για να γίνει τελικά μια λειτουργική, διαδραστική ιστοσελίδα.

Για τα μεγάλα υποσυστήματα του υπολογιστή, ένας διαχειριστής αρχείων γραφικών είναι ένα front-end στο σύστημα αρχείων του υπολογιστή, και ένα κέλυφος διασυνδέσεων με το λειτουργικό σύστημα. Το front-end βλέπει το χρήστη και το back end απαντώντας ξεκινά τα προγράμματα του λειτουργικού συστήματος.

Η χρήση του περιβάλλοντος γραμμής εντολών (CLI) απαιτεί την απόκτηση της ειδικής ορολογίας και απομνημόνευση των εντολών, έτσι ώστε μια γραφική διεπαφή χρήστη (GUI) ενεργεί ως front end desktop περιβάλλον αντ' αυτού. Στο περιβάλλον Unix, η ncurses είναι ένα απλούστερο, ημι-γραφικό front-end προς το CLI. Στο επίπεδο του ίδιου του Unix CLI, τα περισσότερα προγράμματα byte  stream-oriented (δηλαδή, χρησιμοποιώντας stdin / stdout / stderr ως διεπαφή τους)  ενεργούν ως φίλτρα,δηλαδή αυτόνομα προγράμματα που μπορούν να ενεργήσουν ως front-end" και  "back end" που καταλήγουν σε άλλα προγράμματα. (Λειτουργούν από τα στοιχεία σωληνώσεων μεταξύ τους, ως επί το πλείστον για την επεξεργασία κειμένου. Για παράδειγμα: $ grep λέξη ~ user/dir/infile | sort | tee ~ user/dir / outfile).

Στην επιστήμη των υπολογιστών του δικτύου, ως front-end μπορεί να αναφέρεται οποιοδήποτε υλικό βελτιστοποιεί ή προστατεύει την κυκλοφορία του δικτύου. Λέγεται εφαρμογή front-end hardware γιατί τοποθετείται σε εξωστρεφή front-end του δικτύου ή το όριο. Η κυκλοφορία του δικτύου περνά μέσα από το front-end hardware πριν την είσοδο στο δίκτυο.

Στα συστήματα διαχείρισης περιεχομένου (CMS), οι όροι front end και back end είναι δυνατό να παραπέμπουν στον τελικό χρήστη που βλέπει όψεις του CMS και διαχειριστικές όψεις, αντίστοιχα.

Σε compilers, το "front-end" μεταφράζει τον πηγαίο κώδικα προγραμματισμού ηλεκτρονικών υπολογιστών σε μια ενδιάμεση αναπαράσταση, και το "back end" συνεργάζεται με την ενδιάμεση αναπαράσταση για την παραγωγή κώδικα σε γλώσσα εξόδου του υπολογιστή. Το "back end" βελτιστοποιείται συνήθως για την παραγωγή κώδικα που τρέχει πιο γρήγορα.Η διάκριση front-end / back-end μπορεί να διαχωρίσει το τμήμα parser που ασχολείται με τον πηγαίο κώδικα και το back-end που δημιουργεί κώδικα και βελτιστοποιεί. Ορισμένα σχέδια, όπως το GCC, προσφέρουν επιλογές μεταξύ πολλών front-end (parsing διαφορετικών γλώσσών πηγαίου κώδικα) ή back ends (δημιουργία του κώδικα για διαφορετικούς επεξεργαστές στόχο).

Στη σύνθεση ομιλίας, το front-end αναφέρεται στο μέρος του συστήματος σύνθεσης που μετατρέπει το κείμενο εισόδου σε μια συμβολική φωνητική αναπαράσταση, και το back-end μετατρέπει τη συμβολική φωνητική απεικόνιση σε πραγματικό ήχο.

Στο πλαίσιο των εφαρμογών WWW, ο διαμεσολαβητής είναι μια υπηρεσία που λειτουργεί ταυτόχρονα ως διακομιστής στο front-end και ως πελάτης στο back-end.