Το πλήρες σχέδιο στοίβας

Κάποτε ήταν ότι τα περισσότερα άτομα που εργάζονταν στην ανάπτυξη ιστοτόπων είχαν σαφώς καθορισμένους ρόλους σε μια ομάδα ανάπτυξης και σπάνια αναμενόταν να αλληλεπικαλύπτονται με άλλους ρόλους.

Τα πράγματα έχουν αλλάξει. Τώρα οι άνθρωποι αναμένεται να έχουν πολλές εργασίες, και ακόμη και σε μεγάλους οργανισμούς, οι ρόλοι εργασίας μπορεί να είναι εναλλάξιμοι μεταξύ των μελών της ομάδας.

Όλο και περισσότερο, βλέπουμε διαφημίσεις εργασίας που απαιτούν "προγραμματιστές πλήρους στοίβας" και το πρόβλημα είναι ότι δεν κατανοούν όλοι όλοι τι σημαίνει αυτός ο όρος. Επίσης, δεν είναι εύλογη απαίτηση σε πολλές περιπτώσεις. Συχνά φαίνεται ότι όποιος τοποθέτησε τη διαφήμιση δεν είχε ιδέα τι σημαίνει ο όρος, και απλώς το χρησιμοποίησε επειδή όλοι το κάνουν.

Στην πραγματικότητα, η ανάπτυξη πλήρους στοίβας δεν είναι κάτι ιδιαίτερο. Πιθανότατα έχετε ήδη όλες τις απαιτούμενες δεξιότητες, αλλά μάλλον υπερέχετε περισσότερο σε μια συγκεκριμένη περιοχή της στοίβας παρά σε άλλες. Ωστόσο, γίνεται πιο δύσκολο να προσληφθείς ως ειδικός, οπότε είναι βέβαιο ότι η ευρεία κατανόηση των βασικών τεχνολογιών στοίβας είναι καλή.

εικόνα από

Γιατί η ζήτηση για προγραμματιστές πλήρους στοίβας είναι αντιπαραγωγική

Οι σχεδιαστές είναι καλοί στο σχεδιασμό. Οι κωδικοποιητές είναι καλοί στην κωδικοποίηση. Οι μηχανικοί είναι καλοί στη μηχανική. Όταν απαιτείται ένα άτομο να είναι ικανό σε κάθε μέρος της εργασίας σχεδιασμού και ανάπτυξης, μπορεί να καταλήξετε σε λιγότερο από τέλεια αποτελέσματα.

Αυτή είναι απλή λογική. Κάποιος με πάθος για σχεδιασμό πρέπει να σχεδιάζει, όπως και κάποιος που έχει πάθος για κώδικα θα πρέπει να κωδικοποιεί. Εάν ένας γεννημένος κωδικοποιητής αναγκάζεται να σχεδιάσει κάτι, αυτός ή αυτή μπορεί να παρουσιάσει ένα αποδεκτό σχέδιο, αλλά πιθανότατα δεν θα είναι τόσο καλό όσο κάτι που σχεδιάστηκε από έναν γεννημένο σχεδιαστή.

Παρόλο που μπορεί να είναι χρήσιμο για τα μέλη της ομάδας να κατανοούν τις δουλειές του άλλου, και ακόμη και να είναι σε θέση να συμπληρώνουν το ένα το άλλο, είναι συνήθως καλύτερο να επιτρέπεται σε κάθε μέλος να εργάζεται στις δυνάμεις του.

Τι είναι ένας προγραμματιστής πλήρους στοίβας;

Θα ξεκινήσουμε καθορίζοντας τι είναι πραγματικά το "stack". Η ιδέα της στοίβας είναι μια ομάδα διασυνδεδεμένων τεχνολογιών που καθιστούν δυνατή την ύπαρξη ενός ιστότοπου.

Ένας προγραμματιστής πλήρους στοίβας, λοιπόν, είναι κάποιος που μπορεί να χειριστεί κάθε στρώμα σε αυτήν τη στοίβα τεχνολογιών χωρίς να χτυπά.

Το πρώτο στρώμα: UX Research

Η διαδικασία ανάπτυξης ενός ιστότοπου ξεκινά με τον προσδιορισμό του στόχου που πρέπει να επιτύχει ο ιστότοπος και, στη συνέχεια, την ανάπτυξη ενός σχεδίου βάσει αυτού.

Η Εμπειρία χρήστη (UX) είναι μια χαλαρά καθορισμένη έννοια που είναι θεμελιώδης για τον σύγχρονο σχεδιασμό και ανάπτυξη ιστότοπων. Κατά τον σχεδιασμό του ιστότοπου, θα πρέπει να λάβετε υπόψη το UX που δημιουργείτε. Αυτό απαιτεί κάποια έρευνα για να προσδιοριστεί ποια χαρακτηριστικά θα χρειαστεί ο ιστότοπος για να προσφέρει θετικό UX.

gif από

Το δεύτερο στρώμα: UI Design

Αφού καθορίσατε τους παράγοντες που θα παρέχουν θετικό UX, θα προχωρήσετε τώρα για να σχεδιάσετε μια διεπαφή χρήστη (UI) που θα αντιμετωπίζει τους παράγοντες UX που έχετε προσδιορίσει.

Αυτό σημαίνει να σκεφτείτε πράγματα όπως φόρτωση δεικτών, μενού πλοήγησης, ψωμιά πλοήγησης, διάταξη ιστότοπου, φόντα, εικόνες, γραμματοσειρές, χρώματα και ίσως ακόμη πιο προηγμένα πράγματα όπως ήχος και βίντεο.

Ο στόχος είναι να κάνουμε όλα αυτά τα πράγματα όσο το δυνατόν πιο απλή και να διασφαλίσουμε ότι φαίνονται καλά και λειτουργούν καλά. Η εξασφάλιση βελτιστοποίησης των μεμονωμένων στοιχείων είναι επίσης καλή ιδέα να προγραμματίσετε.

Το τρίτο επίπεδο: Front End Development

Εκεί ξεκινά η πραγματική δράση. Μέχρι τώρα όλα σχεδίαζαν και σχεδίαζαν, αλλά σε αυτό το στάδιο πραγματικά εφαρμογή ο σχεδιασμός. Χρησιμοποιώντας HTML, CSS, JavaScript και ίσως άλλες τεχνολογίες, το πρωτότυπο του ιστότοπου διαμορφώνεται και (τελικά) ζωή.

Εάν δεν είναι ένας πολύ απλός ιστότοπος, πιθανότατα δεν θα είναι πλήρως λειτουργικός σε αυτό το σημείο. Ωστόσο, θα είναι ένα λειτουργικό πρωτότυπο που έχει τουλάχιστον την εμφάνιση και την αίσθηση του υποτιθέμενου ιστότοπου.

gif από

Το τέταρτο στρώμα: Ανάπτυξη Back End

Το πίσω μέρος του ιστότοπου είναι όπου χρησιμοποιούνται ειδικές τεχνολογίες ενεργοποίησης. Εάν ο ιστότοπός σας χρειάζεται do οτιδήποτε από την πλευρά του διακομιστή με βάση τις ενέργειες των χρηστών (για παράδειγμα, επεξεργασία των περιεχομένων ενός καλαθιού αγορών πριν από την υποβολή αιτήματος στο PayPal), τότε αυτό συμβαίνει.

Υπάρχουν πολλές διαφορετικές τεχνολογίες από τις οποίες μπορείτε να επιλέξετε για να αναλάβετε αυτές τις εργασίες και μερικές είναι πιο κατάλληλες από άλλες. Οι πιο συνηθισμένες επιλογές αυτή τη στιγμή είναι PHP και Ruby, αλλά υπάρχουν πάνω από 1000 επιλογές που θα μπορούσαν εξίσου να επιλεγούν.

Η PHP είναι η πιο ευέλικτη και ευκολότερη λύση, αλλά μπορεί να μην είναι απαραίτητα η πιο αποτελεσματική. Για όσους ξεκινούν την καριέρα τους, είναι η καλύτερη γλώσσα στο διακομιστή για να μάθει γιατί είναι εύκολο να μάθει και επειδή χρησιμοποιείται τόσο ευρέως με πολλούς τρόπους.

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

Το πέμπτο επίπεδο: Διαχείριση βάσης δεδομένων

Ο σχεδιασμός και η ανάπτυξη βάσεων δεδομένων για την υποστήριξη των καθηκόντων που πρέπει να χειριστεί ο ιστότοπός σας μπορεί να είναι σημαντική δουλειά. Για να το κάνετε καλά, πρέπει να κυριαρχήσετε στην αρχιτεκτονική της βάσης δεδομένων και επίσης να γίνετε κύριος του SQL.

Αυτό είναι ένα από αυτά τα πράγματα που ακούγεται πολύ εύκολο και αποδεικνύεται πραγματικά πιο περίπλοκο από το αναμενόμενο. Όλα εξαρτώνται από το πόσο θα είναι οι εργασίες που θα χειριστούν.

απεικόνιση από

Πώς πρέπει ένας νέος προγραμματιστής να αποκτήσει τις απαραίτητες δεξιότητες;

Ο καλύτερος τρόπος είναι να αρχίσετε να μαθαίνετε από το πέμπτο επίπεδο και να εργαστείτε μέχρι το πρώτο επίπεδο. Αυτό συμβαίνει επειδή τα στρώματα ταξινομούνται από τη δυσκολία τους να μάθουν. Το πιο δύσκολο έργο είναι η δημιουργία εξαιρετικών βάσεων δεδομένων και θα είναι επίσης το λιγότερο ενδιαφέρον έργο για τους περισσότερους ανθρώπους. Καλύτερα να το βγάλεις γρήγορα, τότε.

Στη συνέχεια θα προχωρήσετε για να μάθετε μια γλώσσα προγραμματισμού, όπως PHP, Ruby, Python, Java κ.λπ. όταν πρόκειται για ανάπτυξη ιστοσελίδων. Η εξαίρεση είναι το JavaScript, αλλά αυτό εξακολουθεί να θεωρείται κυρίως ως γλώσσα πελάτη, οπότε τεχνικά ανήκει στο τρίτο επίπεδο.

Αφού αποκτήσετε μια γλώσσα προγραμματισμού back-end, θα προχωρήσετε στην εκμάθηση της πολύ ευκολότερης αποστολής δημιουργίας ιστότοπων με HTML, CSS και JavaScript (ή / και άλλες τεχνολογίες).

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

Τέλος φτάνετε στο πιο εύκολο από όλα, το οποίο είναι η έρευνα UX. Ο λόγος για τον οποίο είναι τόσο εύκολος είναι επειδή το έχετε εμπλακεί από την ημέρα που γεννηθήκατε. Ερχόμαστε στον κόσμο αντιδρώντας σε πράγματα που μας φέρνουν χαρά ή αγωνία.

Μέχρι τη στιγμή που είστε ενήλικας, θα πρέπει να έχετε καλή κατανόηση αυτών των πραγμάτων και ο σχεδιασμός UX σχεδιάζει απλώς μια εμπειρία χρήστη που περιλαμβάνει περισσότερα από τα πράγματα που προκαλούν χαρά και λιγότερα από τα πράγματα που προκαλούν αγωνία.

Η εικόνα της κεφαλίδας είναι ευγενική προσφορά του

Μπογκντάν Ράνσα

Ο Bogdan είναι ιδρυτικό μέλος του Inspired Mag, έχοντας συγκεντρώσει σχεδόν 6 χρόνια εμπειρίας κατά τη διάρκεια αυτής της περιόδου. Στον ελεύθερο χρόνο του αρέσει να μελετά την κλασική μουσική και να εξερευνά εικαστικές τέχνες. Είναι επίσης πολύ παθιασμένος με τους fixies. Έχει ήδη 5.