Αρχική σελίδα » Web Design » MEAN εναντίον LAMP Στοίβα Πλεονεκτήματα και μειονεκτήματα

    MEAN εναντίον LAMP Στοίβα Πλεονεκτήματα και μειονεκτήματα

    Διαδικτυακές στοίβες έχουν εξελιχθεί εδώ και δεκαετίες με την εξέλιξη της τεχνολογίας και των υποστηρικτικών γλωσσών. Δύο από τις πιο δημοφιλείς στοίβες ιστού είναι αυτή τη στιγμή LAMP και MEAN. Στηρίζονται σε δύο διαφορετικές τεχνολογίες για τις γλώσσες υποστήριξης, τις βάσεις δεδομένων και τα περιβάλλοντα διακομιστών. Ο όρος "stack" αναφέρεται τεχνολογίες που στοιβάζονται το ένα πάνω στο άλλο, προκειμένου να δημιουργηθεί ένα περιβάλλον web server.

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

    Παραδοσιακή ανάπτυξη LAMP

    Οι περισσότεροι προγραμματιστές θα πρέπει να γνωρίζουν σχετικά με την παραδοσιακή στοίβα LAMP επειδή είναι γύρω από τον πρώιμο ιστό. ΛΑΜΠΑ σημαίνει Linux, Apache, MySQL και PHP. Κάθε ένα από αυτά είναι μεμονωμένα πακέτα λογισμικού που συνδυάζονται για να διαμορφώσουν μια ευέλικτη λύση διακομιστή.

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

    Όλες οι τεχνολογίες backend όπως PHP και MySQL είναι γνωστές και υποστηρίζεται από κάθε σημαντικό πάροχο φιλοξενίας. Εάν εργάζεστε σε μια στοίβα LAMP μπορείτε βασικά να φιλοξενήσετε οπουδήποτε. Επιπλέον, παίρνετε πρόσβαση στις πιο δημοφιλείς μηχανές CMS. Το WordPress, το Drupal και το Joomla τρέχουν σε PHP / MySQL.

    Υπάρχουν προσαρμόσιμες επιλογές μέσα στην αρχιτεκτονική LAMP όπως LEMP που αντικαθιστά το Apache με nginx. Θα μπορούσατε επίσης να εκτελέσετε μια παραλλαγή σε ένα διακομιστή των Windows ως στοίβα WAMP.

    Ωστόσο, όλα τα βασικά λογισμικά - συμπεριλαμβανομένων Apache, MySQL, και PHP - ήταν ανοιχτά, και έγινε κυρίως για το Linux. Αυτός είναι ο λόγος για τον οποίο το Linux έχει την πιο νόημα για ένα περιβάλλον διακομιστή και γι 'αυτό το LAMP έχει βρεθεί η δοκιμασία του χρόνου για τη σύγχρονη ανάπτυξη ιστοσελίδων.

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

    JavaScript Backend με MEAN

    Το Node.js είναι η νεώτερη τεχνολογία για τους προγραμματιστές που έχουν αποφασίσει να εκτελούν επεκτάσιμες εφαρμογές που έχουν κατασκευαστεί με JavaScript. Κόμβος ενεργοποιεί τη στοίβα MEAN, και προσφέρει ένα βασικό πλεονέκτημα: τα πάντα λειτουργεί σε μία μόνο γλώσσα.

    ΣΗΜΑΙΝΩ σημαίνει MongoDB, Express.js, Angular.js, και φυσικά Node.js. Αυτό το ακρωνύμιο δεν θέτει καμία απαίτηση για ένα λειτουργικό σύστημα διακομιστή ή λογισμικό διακομιστή. Μία στοίβα MEAN μπορεί να τρέξει σε οποιοδήποτε λειτουργικό σύστημα, και ο κόμβος έρχεται ακόμη και με το δικό του διακομιστή για να χειριστεί το JS στο backend.

    Θα βρείτε πολλά έγγραφα και υποστήριξη στην ιστοσελίδα Mean.io.

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

    Γιατί λοιπόν θα πάει κάποιος με MEAN; Επειδή είναι τελικά ταχύτερη και ευκολότερη στην κλίμακα. Το MongoDB είναι α Βάση δεδομένων NoSQL που βελτιστοποιεί τα ερωτήματα. Η χρήση του fullstack JavaScript επίσης βελτιώνει την ανάπτυξη επειδή μια γλώσσα ισχύει για όλες τις εργασίες frontend και backend.

    Πλέον πολλά άλλα πλαίσια JS χτυπούν την αγορά ως σταθερές λύσεις. Για παράδειγμα, το MEAN μπορεί να μεταφερθεί σε a MEEN στοίβα αντικαθιστώντας το γωνιακό με το Ember.

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

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

    Ακολουθούν μερικά μαθήματα αρχαρίων για να ξεκινήσετε.

    • Ένας οδηγός απόλυτου αρχαρίου για το Node.js
    • Ο οδηγός αρχαρίων Node.js του Felix
    • Εισαγωγή στο Express.js
    • Μάθετε να δημιουργείτε σύγχρονες εφαρμογές ιστού με MEAN
    • Ξεκινώντας με τα Node.js, Express και MongoDB

    PHP vs. Node

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

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

    Το άλλο πλεονέκτημα του κόμβου είναι ότι αυτό έρχεται με το δικό του διακομιστή ιστού. Το JavaScript είναι στη ρίζα όλων σε μια στοίβα MEAN, οπότε αν αγαπάτε το JS τότε θα αγαπάτε πραγματικά την οικοδόμηση εφαρμογών ιστού MEAN.

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

    Αλλά με την PHP 7 προσπαθούν να διορθώσουν πολλά λάθη της γλώσσας, και με δωρεάν OOP όπως το Laravel, η PHP είναι πολύ καλύτερη γλώσσα από ποτέ.

    ΕΙΚΟΝΑ: Ροή Stackover

    Συνεπώς, η συζήτηση σχετικά με τη γλώσσα έρχεται την προσωπική σας επιλογή. Αγαπάτε πραγματικά τη γραφή του JavaScript; Στη συνέχεια, ο κόμβος με μια στοίβα MEAN μπορεί να αξίζει να εξεταστεί.

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

    Συνολικά πλεονεκτήματα και μειονεκτήματα:

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

    (1) ο MEAN στοίβα επίσης περιλαμβάνει Γωνιακή που είναι ένα πλαίσιο για τα σύνολα. Δεν υπάρχει κάποιο απαιτούμενο πλαίσιο σε μια στοίβα LAMP, αλλά μπορείτε πάντα να προσθέσετε το δικό σας σε οποιαδήποτε εφαρμογή που δημιουργείτε.

    (2) Όσον αφορά το λειτουργικό σύστημα, η στοίβα LAMP αναζητά ένα παράγωγο του Linux. Το Linux είναι συνήθως η καλύτερη επιλογή για ένα περιβάλλον διακομιστή ανεξάρτητα από τη στοίβα, και είναι αλήθεια και για το MEAN.

    (3) Τώρα το λειτουργικό σύστημα του διακομιστή είναι μόνο το λογισμικό του υπολογιστή, αλλά δεν είναι το λογισμικό διακομιστή ιστού. Για να το αποκτήσετε χρειάζεστε ένα πρόγραμμα όπως Apache ή nginx. Το LAMP χρησιμοποιεί το Apache επειδή είναι μία από τις πιο σταθερές διαθέσιμες επιλογές.

    (4) Το MEAN χρησιμοποιεί τον διακομιστή Node.js που είναι μέρος του πακέτου κόμβων. Είναι ακόμα αρκετά καινούργιο και ενώ υπάρχει αρκετή υποστήριξη εκεί έξω, ο κόμβος δεν έχει σχεδόν την ίδια κοινότητα μεγέθους με τον Apache.

    (5) Επίσης απαιτείται διακομιστής κόμβου ένα backend της JavaScript (χωρίς επεκτάσεις). Απάχης επιτρέπει τις περισσότερες γλώσσες backend, και υπάρχουν πολλές δωρεάν επεκτάσεις για μεγαλύτερη υποστήριξη. Αλλά από τώρα το Apache δεν έχει τίποτα για την υποστήριξη κόμβων.

    (6) Διαχείρηση βάσης δεδομένων είναι όπου θα βρείτε η μεγαλύτερη διαφορά. Το LAMP χρησιμοποιεί MySQL για τη σχεσιακή αποθήκευση δεδομένων, ενώ το MEAN χρησιμοποιεί το MongoDB που είναι μια μη σχεσιακή βάση δεδομένων. Τα μη σχεσιακά DBs είναι πολύ πιο γρήγορα, και παρέχουν μια ευκολότερη μέθοδο κλιμάκωσης με υψηλότερη κίνηση.

    (7) Εχε στο νου σου οτι Η PHP δεν περιορίζεται αποκλειστικά στην MySQL. Μπορεί να χρησιμοποιήσει το MongoDB και άλλες εναλλακτικές λύσεις όπως το PostgreSQL ή το SQLite. Είναι απλά ότι οι περισσότεροι προγραμματιστές PHP γνωρίζουν MySQL, έτσι είναι ο κύριος υποψήφιος για μια τυπική στοίβα LAMP.

    (8) MEAN στοίβες τυπικά τρέχα πιο γρήγορα και κλίμακα μεγαλύτερη, αλλά απαιτούν πολύ περισσότερο χρόνο και γνώση server για να μάθουν το σύστημα. Οι στοίβες LAMP είναι δοκιμασμένη και αληθινή, και έρχονται έξω από το κουτί με την πιο ασφαλή υποδομή και την ευρύτερη δυνατή υποστήριξη που μπορείτε να φανταστείτε.

    (9) Οι γλώσσες προγραμματισμού κάνουν μια σημαντική διαφορά μεταξύ των δύο στοίβες. Το LAMP βασίζεται κυρίως στην PHP, η οποία περιλαμβάνει το WordPress και το πλαίσιο του Laravel. Το MEAN δουλεύει με το ExpressJS / NodeJS για το backend με το AngularJS στο μέτωπο.

    (10) MEAN είναι πλήρη στοίβα JavaScript, και υπάρχουν πολλά που θα πρέπει να μάθετε για να τρέξετε. Είναι ένα συχνή επιλογή νέων επιχειρήσεων πρόθυμοι να προωθήσουν τα όρια στην ανάπτυξη εφαρμογών ιστού. Το LAMP είναι πιο παραδοσιακό με JS στο frontend, PHP στο backend. Είναι κατασκευασμένο για ανθρώπους που θέλουν απλά να πάρετε ιστοσελίδες σε απευθείας σύνδεση χωρίς πάρα πολλές ανησυχίες.

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

    Τυλίγοντας

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

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

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

    • Μάθετε να δημιουργείτε σύγχρονες εφαρμογές ιστού με MEAN (thinkster.io)
    • Δοκιμή LOCK Stack Admin (jessesnet.com)
    • Πώς να εγκαταστήσετε το Linux, Apache, MySQL, PHP (LAMP) στοίβα στο Debian 8 (digitalocean.com)