Προς το περιεχόμενο

Γιατί χρησιμοποιούν όλοι framework για να γράψουν PHP κ JavaScript ?


Επισκέπτης

Προτεινόμενες αναρτήσεις

Επισκέπτης

Γιατί να χρησιμοποιήσει κάποιος framework στην PHP ?

Προγραμματίζω με PHP από το 2006. Ποτέ δεν χρειάστηκα κάτι να μου κάνει ποιο εύκολο το να φτιάξω κάτι με PHP. Ότι και να θέλω το έχει σε built in functions και classes.

Τώρα παντού αντί να διαβάζω για PHP διαβάζω για μια Laravel που στην ουσία κάνει τον προγραμματισμό ποιο δύσκολο. Αντί να μάθει κάποιος που ξεκινά τη γλώσσα μαθαίνει το Laravel.

Δεν μπορώ να βρω ούτε έναν λόγο να το μάθω και να το κάνω χρήση.

Και στην JS Εντάξει κάτι χρειαζόταν όπως το JQuery αλλά πλέων με την ES6 κάνεις ότι θες μόνο με την JavaScript χωρίς κάποιο framework. Χρειαζόταν ναι αλλά πλέων δεν χρειάζεται.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημοσ. (επεξεργασμένο)

Έχεις δίκιο στο σημείο που λες ότι κάποιος πρέπει να ξέρει για αρχή τη γλώσσα και όχι το framework. Από την άλλη όμως τα frameworks υπάρχουν για συγκεκριμένους λόγους. Από τη στιγμή που εσύ κάνεις τη δουλειά σου με καθαρή PHP και σε βολεύει δεν υπάρχει λόγος να το αλλάξεις αυτό. Κάποιοι χρησιμοποιούν ένα framework καθαρά γιατί τους βολεύει το συντακτικό του (π.χ. η Jquery που ανέφερες) ή για πιο καθαρογραμμένο και λιγότερο κώδικα και πάει λέγοντας. Επίσης υπάρχουν χαρακτηριστικά όπως είναι π.χ. το virtual dom της react που δεν υπάρχει στην ES6. Ή στην αντίπερα όχθη με την Angular δεν γράφεις καν javascript, αλλά typescript, μια τελείως άλλη γλώσσα προγραμματισμού (που φυσικά εξάγει από πίσω κώδικα javascript μιας που οι browser δεν μπορούν να την διαβάσουν απευθείας).

Το ότι ένα framework βασίζεται σε μια γλώσσα δεν σημαίνει ότι δεν τρέχουν και άλλες τεχνολογίες από πίσω. Όπως και να έχει και εμένα δεν μου πολυαρέσουν τα frameworks, αλλά αύριο μεθαύριο η Javascript και η PHP θα γίνουν καλύτερες (όπως και όλες οι γλώσσες) μέσα από αυτά, καθώς όπως είθισται εκτός από τις όποιες βελτιώσεις γίνονται στο θέμα performance και ασφάλειας με τις νέες εκδόσεις κάθε γλώσσας, υπάρχουν και κάποια νέα χαρακτηριστικά που κάπου βασίζονται. Μην νομίζεις ότι όλες οι αλλαγές που σου φέρνει το team της php γεννήθηκε από τους ίδιους. :P

Επεξ/σία από rafinos
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Ολα τα frameworks υλοποιουν συγκεκριμενες προγραμματιστικες τεχνικες και σε μυουν σε εναν τροπο σκεψης που σε βοηθα να οργανωνεις καλυτερα τον κωδικα σου η εχοντας υλοποιησει καποιες βασικες λειτουργιες να σε βοηθησει να γλιτώσεις το άτακτο copy paste που υπο αλλες συνθηκες θα εμπαινες στο πειρασμο να κανεις στην υλοποιηση καποιου project σου. Επισης ενα καλογραμμενο framework σε βοηθα να μαθεις νεες τεχνικες και εν τελει να σε κανει καλυτερο προγραμματιστη πυο θα μπορει να γραφει και να διαχειριζεται κωδικα πιο αποδοτικα. Βεβαια αν δνε ξερεις τα βασικα της γλωσσας δεν θα μαθεις ποτε σε βαθος καποιο framework. Ενας καλος προγραμματιστης ειναι σε θεση να γραψει ενα δικο του framework αλλο στοιχιζει τοσο πολυ σε χρονο η αναπτυξη και συντηρηση του που δεν συμφερει να το κανει καποιος. Αν νιωθεις καλα με τον τροπο που δουλευεις και εισαι αποδοτικος δεν χρειαζεται να το φιλοσοφεις συνεχισε οπως δουλευεις... καλες δουλειες

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Αν προσπαθήσεις να υλοποιήσεις ένα μεγάλο project σε php θα χρειαστείς π.χ 5 μήνες. Αν το κάνεις με Laravel θα χρειαστείς 1 μήνα. Το php project θα έχει 100 bugs to Laravel 10 bugs. Αν χρειαστεί να βάλεις νέα features, να αλλάξεις database klp θα είναι πιο δύσκολο με php από ότι με framework.  και άλλα πολλά.

 

 

  • Like 4
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

  • 2 εβδομάδες αργότερα...
Στις 2/3/2021 στις 1:15 ΜΜ, gekatsou είπε

Γιατί να χρησιμοποιήσει κάποιος framework στην PHP ?

Προγραμματίζω με PHP από το 2006. Ποτέ δεν χρειάστηκα κάτι να μου κάνει ποιο εύκολο το να φτιάξω κάτι με PHP. Ότι και να θέλω το έχει σε built in functions και classes.

Τώρα παντού αντί να διαβάζω για PHP διαβάζω για μια Laravel που στην ουσία κάνει τον προγραμματισμό ποιο δύσκολο. Αντί να μάθει κάποιος που ξεκινά τη γλώσσα μαθαίνει το Laravel.

Δεν μπορώ να βρω ούτε έναν λόγο να το μάθω και να το κάνω χρήση.

Και στην JS Εντάξει κάτι χρειαζόταν όπως το JQuery αλλά πλέων με την ES6 κάνεις ότι θες μόνο με την JavaScript χωρίς κάποιο framework. Χρειαζόταν ναι αλλά πλέων δεν χρειάζεται.

Jquery δεν ξέρω αν χρειάζεται αλλά έχει τόσα plugins έτοιμα που για να τα φτιάξεις μόνος σου θες μια ζωή.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

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

  • Like 1
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

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

Για κάθε άνεση που αποκτάμε, χάνουμε και μια ομάδα ικανοτήτων – γενικά .

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

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

6 ώρες πριν, MastroGiannis είπε

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

Για κάθε άνεση που αποκτάμε, χάνουμε και μια ομάδα ικανοτήτων – γενικά .

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

Δεν είμαι σίγουρος ότι καταλαβαίνω τί εννοείς. Σε ένα framework έχεις την επιλογή να γράψεις vanilla κώδικα της γλώσσας που βρίσκεται από πίσω. Το framework απλά θα σου δώσει τα εργαλεία και το documentation για να γράψεις scalable κώδικα πιο εύκολα. Όταν πχ ψάχνουμε developer για την ομάδα, αν στο CV του κάποιος γράψει React ή Express, καταλαβαίνω ότι γράφει Javascript. Κατά πάσα πιθανότητα θα τον προτιμήσω από κάποιον που έχει γράψει μόνο Javascript, και κατά πάσα πιθανότητα θα γράφει κώδικα που μόνο ο ίδιος μπορεί να συντηρεί.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

17 ώρες πριν, t(o.ot) είπε

Δεν είμαι σίγουρος ότι καταλαβαίνω τί εννοείς. Σε ένα framework έχεις την επιλογή να γράψεις vanilla κώδικα της γλώσσας που βρίσκεται από πίσω. Το framework απλά θα σου δώσει τα εργαλεία και το documentation για να γράψεις scalable κώδικα πιο εύκολα. Όταν πχ ψάχνουμε developer για την ομάδα, αν στο CV του κάποιος γράψει React ή Express, καταλαβαίνω ότι γράφει Javascript. Κατά πάσα πιθανότητα θα τον προτιμήσω από κάποιον που έχει γράψει μόνο Javascript, και κατά πάσα πιθανότητα θα γράφει κώδικα που μόνο ο ίδιος μπορεί να συντηρεί.

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

Αν και το αποφεύγω, θα χρησιμοποιήσω ένα παράδειγμα.

Φαντάσου τη διαφορά μεταξύ gourmet εστιατορίου και fast-food εστιατορίου. Σκοπός και των δύο είναι η ικανοποίηση της ανάγκης της τροφής.

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

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

Βγαίνοντας λοιπόν σιγά-σιγά από το παράδειγμα, εξετάζοντας τα πράγματα από τη στενή σκοπιά της παραγωγικότητας, ψάχνοντας για επώνυμο σεφ για το εστιατόριό σου, καταλήγεις να προτιμάς τον απρόσωπο υπάλληλο του ταχυφαγείου. Ψάχνοντας για δημιουργικό developer JS, προτιμάς τον παραγωγικό user της REACT, περνώντας στο προϊόν σου το χαρακτήρα του hamburger και καλλιεργώντας άθελά σου τη νοοτροπία της τυποποίησης στον αποδέκτη του, πέφτοντας κι εσύ ο ίδιος στην παγίδα της, και θέτοντας τον εαυτό σου σιγά-σιγά εκτός διαδικασίας.

Νομίζω πως απαιτείται λίγο επαγρύπνηση για να μην έχει και ο προγραμματισμός τη μοίρα των άλλων τεχνών κι επιστημών – δεν ξέρω αν είναι πλέον αργά.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημοσ. (επεξεργασμένο)
18 ώρες πριν, t(o.ot) είπε

Σε ένα framework έχεις την επιλογή να γράψεις vanilla κώδικα της γλώσσας που βρίσκεται από πίσω.

Έχεις την επιλογή αλλά καλύτερα να μην το κάνεις. Μπορεί να φέρει πολλά προβλήματα.

18 ώρες πριν, t(o.ot) είπε

Όταν πχ ψάχνουμε developer για την ομάδα, αν στο CV του κάποιος γράψει React ή Express, καταλαβαίνω ότι γράφει Javascript. Κατά πάσα πιθανότητα θα τον προτιμήσω από κάποιον που έχει γράψει μόνο Javascript, και κατά πάσα πιθανότητα θα γράφει κώδικα που μόνο ο ίδιος μπορεί να συντηρεί.

Νομίζω δεν είναι απόλυτο. Όταν γράφεις σε ένα framework μπαίνεις σε άλλη λογική και δεν σκέφτεσαι πολλά πράγματα που θα σκεφτόσουν αν έγραφες σε μια γλώσσα προγραμματισμού. Έτσι δεν θα μου φαινόταν καθόλου παράξενο αν κάποιος που λέει ξέρω laravel δεν μπορεί να λύσει ένα απλό πρόβλημα σε php.

Επεξ/σία από k33theod
  • Like 1
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημοσ. (επεξεργασμένο)

Γιατί χρησιμοποιούν όλοι framework για να γράψουν PHP κ JavaScript ?

  1. Γιατί αρκετά frameworks διαθέτουν εργαλεία τα οποία λύνουν χέρια πχ. database migration
  2. Γιατί σου δίνουν έναν αρχιτεκτονικό μπούσουλα σε μεγάλη κλίμακος εφαρμογές. Πχ. στην απορία που να βάλεις τον χ-ψ κώδικα.
  3. Αρκετά κοινά προβλήματα είναι λυμένα πχ. διαχείρηση routing και ποιο url θα γίνετε resolve.

Όμως έχει τα αρνητικά ότι δεν προσφέρει καλή εκμάθηση σε αρχιτεκτονικές δομές δόμησης λογισμικού. Άρα καλό είναι σε εκμάθηση να εντρυφάτε και σε βασικά architecture principles όπως τα Gang of 4 patterns. Κατ' εμέ ο καλός engineer είναι αυτός που έαν ανατπύσει σε laravel επί 3 χρόνια άνετα να μπορεί να κάνει handle symfony.

Ακόμα η γνώση ενός τρόπου σκέψης ενός Χ framework δεν θα πρέπει να είναι 100% coding τρόπος σκέψης αλλά να κατανοείς τα coding style άλλων εφαρμογών σε οποιοδήποτε framework as well ακόμα και εκτός web app. Πχ. για να κάνω resolve τα tickets στην εργασία μου θα πρέπει να κατανοώ κώδικα γραμμένο σε Java για Android εφαρμογές για απορίες πχ. πως η εφαρμογή μου καταναλώνει το υπάρχων API για να κάνω αλλαγές σε αυτό.

Επεξ/σία από PC_MAGAS
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

  • 4 εβδομάδες αργότερα...

Είχα και εγώ την ίδια απορία, μέχρι που έφτιαξα ένα registration/login system από την αρχή με PHP και μετά είδα ότι με Laravel δημιουργείται με 1 εντολή.

Επίσης σε αναγκάζει να πας προς OOP προσέγγιση (αντί της κλασικής procedural PHP)

Γενικά τα frameworks χρησιμοποιούνται για αύξηση παραγωγικότητας και συνεργασίας πολλών ατόμων στο ίδιο project. Φυσικά βασική προϋπόθεση είναι η καλή γνώση της σχετιζόμενης γλώσσας.

Το παράλογο είναι μια εταιρεία να ζητάει από έναν Junior να ξέρει/έχει εμπειρία σε κάποιο framework.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημοσ. (επεξεργασμένο)

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

Και προφανώς, όπως ήδη σχολιάστηκε, προσφέρουν μια κοινή γλώσσα (υψηλότερου "επιπέδου" από την απλή PHP/Java/κ.λπ.) που βοηθάει τη συνεργασία πολλών ατόμων. 

Επεξ/σία από ghostaki
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...