Ανάπτυξη web εφαρμογών με την Ruby on Rails

Μάθε πως μπορείς να δημιουργήσεις την δική σου web εφαρμογή με μια από τις δημοφιλέστερεις λύσεις, την Ruby on Rails

Διδάσκων μαθήματος: Γιώργος Ψαθάς
Έναρξη μαθήματος: Αυτομελέτη

Περίληψη μαθήματος

Το μάθημα αυτό παρουσιάζει τις βασικές γνώσεις αλλά και πιο προχωρημένες τεχνικές που αφορούν σε ανάπτυξη Web εφαρμογών με τη γλώσσα Ruby σε συνδυασμό με το Rails framework (Ruby on Rails – RoR). Εάν έχετε παρακολουθήσει το μάθημα “Εισαγωγή στον προγραμματισμό με τη γλώσσα Ruby” θα γνωρίζεται ήδη τα πλεονεκτήματα της γλώσσας τα οποία είναι:

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

Στα πλεονεκτήματα αυτά έρχεται το rails framework να προσθέσει και τα δικά του, μερικά από τα οποία είναι:

  • Ταχεία ανάπτυξη εφαρμογών λόγω επαναχρησιμοποιούμενων βιβλιοθηκών που περιλαμβάνει το framework (gems). Έρευνες έχουν αναφέρει ταχύτερη ανάπτυξη Web εφαρμογών κατά 25-50% ταχύτερα σε σύγκριση με άλλα Frameworks διαφορετικών γλωσσών προγραμματισμού.
  • Χρησιμοποίηση της αρχιτεκτονικής MVC (Model – View – Controller) για την καλύτερη οργάνωση του κώδικα ώστε να μη χρειάζεται να ψάχνετε μέσα στις γραμμές ολόκληρου του προγράμματος να βρείτε το επιθυμητό στοιχείο που πρέπει να επεξεργαστείτε. Επίσης, με τη χρήση της αρχιτεκτονικής MVC, επιτυγχάνεται η συμβατότητα με την οδηγία ανάπτυξης λογισμικού DRY (Don’t Repeat Yourself) που σημαίνει ότι γράφουμε μια φορά τον κώδικα στο σημείο που πρέπει και έπειτα τον επαναχρησιμοποιούμε.
  • Το Rails framework είναι ανοιχτού κώδικα, με όλα τα πλεονεκτήματα που αυτό υποδηλώνει
  • Μείωση κόστους ανάπτυξης web εφαρμογών λόγω της ταχύτητας ανάπτυξης που είναι μεγαλύτερη σε σχέση με άλλα Frameworks.

Πολλές δημοφιλής web εφαρμογές έχουν αναπτυχθεί με την Ruby και το Rails framework. Μερικές από αυτές τις εφαρμογές είναι:

  • airbnb
  • basecamp
  • dribbble
  • fiverr
  • crazyegg
  • github
  • ASKfm
  • SlideShare
  • groupon
  • kickstarter

Το μάθημα ξεκινάει παρουσιάζοντας την αρχιτεκτονική MVC (Model – View – Controller) και πως μπορείτε να οργανώσετε τον κώδικά σας μέσα στα τρία (3) αυτά σημεία της αρχιτεκτονικής. Έπειτα, παρουσιάζεται η δομή των αρχείων των προγραμμάτων που αναπτύσσονται στο rails framework επεξηγώντας τη χρησιμότητα του κάθε ενός.

Προχωρώντας, παρουσιάζεται ο τρόπος με τον οποίο μπορείτε να συνδέσετε τα στοιχεία της αρχιτεκτονικής MVC μεταξύ τους ώστε να δημιουργήσετε μια ολοκληρωμένη Web εφαρμογή. Τέλος παρουσιάζεται ο τρόπος με τον οποίο μπορείτε να φτιάξετε διάφορες σελίδες html μέσα στην εφαρμογή σας, να τις διασυνδέσετε μεταξύ τους και να εισάγετε στοιχεία σε αυτές, όπως οι φόρμες, με σκοπό να εκτελέσετε ερωτήματα στη βάση δεδομένων (CRUD – Create, Read, Update, Delete) για τη διαχείριση των δεδομένων που είναι καταχωρημένα σε αυτήν και επιστροφή τους στον χρήστη.

Κατόπιν, το μάθημα συνεχίζει παρουσιάζοντας την διαχείριση των στοιχείων (assets) σε μια Ruby on Rails εφαρμογή. Τέτοιου είδους assets είναι αρχεία css, javascript και κατ’ επέκταση αρχεία που μπορούν να ενσωματωθούν σε μια RoR εφαρμογή. Με τη χρήση αυτών των στοιχείων, θα μάθετε πως μπορείτε να εισάγετε και να διαμορφώσετε την διεπιφάνεια χρήστη (user interface) της εφαρμογής σας, προσθέτοντας στοιχεία όπως header, footer και sidebar.

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

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

Διάρκεια Μαθήματος

Το μάθημα μπορείτε να το ξεκινήσετε οποιαδήποτε ημερομηνία επιθυμείτε, εφόσον είναι σε καθεστώς “Αυτομελέτης“. Η προτεινόμενη διάρκεια ολοκλήρωσης του μαθήματος είναι 5 εβδομάδες.

Περιεχόμενα Μαθήματος και Τρόπος Παρακολούθησης

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

Οι δραστηριότητες αυτές είναι:

  • Mini Quiz μετά από μια σειρά από video
  • Εβδομαδιαία Quiz στο τέλος κάθε θεματικής εβδομάδας
  • Προγραμματιστικές ασκήσεις όπου καλείστε να αναπτύξετε και να παραδώσετε κώδικα, με βάση τις διαλέξεις που έχετε παρακολουθήσει.

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

Σε ποιους Απευθύνεται

Το μάθημα απευθύνεται τόσο στον αρχάριο που θέλει να μάθει την Ruby on Rails όσο και στον πιο προχωρημένο χρήστη που γνωρίζει τις βασικές έννοιες της Ruby on Rails αλλά θέλει να ενισχύσει τις γνώσεις του, με σκοπό να μπορούν να αναπτύξουν τις δικές του Web εφαρμογές. Επίσης το μάθημα απευθύνεται σε προγραμματιστές που έχουν εμπειρία από άλλά Framework και θέλουν να μελετήσουν και το Rails.

Είσαι νέος developer και δεν έχεις χρησιμοποιήσει ξανά κάποιο Framework ανάπτυξης Web εφαρμογών? Το μάθημα αυτό είναι ένα πολύ καλό ξεκίνημα αφού θα μάθεις τις βασικές αρχές οργάνωσης του κώδικα με βάση την πολύ διαδεδομένη MVC αρχιτεκτονική μέσα από το διαδεδομένο framework ανάπτυξης Web εφαρμογών, το rails. Η Ruby on Rails είναι αρκετά διαδεδομένη λύση ανάπτυξης Web εφαρμογών και προγραμματιστές ζητούνται από πολλές εταιρίες, ακόμη και για remote development.

Τι θα μου προσφέρει το μάθημα

Μετά την επιτυχημένη ολοκλήρωση του μαθήματος θα μπορείς να:

  • Εγκαταστήσεις την Ruby on Rails στον τοπικό σου υπολογιστή και να χρησιμοποιήσεις έναν editor για να αναπτύξεις τα δικά σου προγράμματα
  • Αναγνωρίζεις τη δομή των προγραμμάτων που αναπτύσσονται με την Ruby on Rails καθώς και τα σημεία στα οποία πρέπει να τοποθετήσεις τον κώδικά σου
  • Αναπτύσσεις προγράμματα με την αρχιτεκτονική MVC για την καλύτερη τακτοποίηση του κώδικα. Θα μάθεις πως μπορείς να συνδέσεις όλα τα στοιχεία της αρχιτεκτονικής και να μεταφέρεις δεδομένα μεταξύ αυτών.
  • Εκτελείς όλες τις διαδικασίες διαχείρισης μια βάσης δεδομένων (CRUD – Create, Read, Update, Delete)
  • Οργανώσεις κατάλληλα τον κώδικα σου με χρήση Partials και Layouts
  • Αναγνωρίζεις τον σωστό τρόπο διαχείριση των στοιχείων (assets) σε μια RoR εφαρμογή και να οργανώνεις τα αρχεία αυτά
  • Εγκαθιστάς το Bootstrap σε μια Ruby on Rails εφαρμογή και να χρησιμοποιείς τα στοιχεία που αυτό προσφέρει
  • Δημιουργείς και να μορφοποιείς μηνύματα σφάλματος στις εφαρμογές σου (μηνύματα flash)
  • Διαχειριστείς την πιστοποίηση των χρηστών (authentication) μέσα στην εφαρμογή σου, να εισάγεις και να διαβάζεις δεδομένα από αρχεία cookies με σκοπό τη δημιουργία session καθώς και να διαχειρίζεσαι την εξουσιοδότηση των χρηστών (authorization) μέσα σε μια RoR εφαρμογή

Προαπαιτούμενα

Δεν υπάρχουν αυστηρά προαπαιτούμενα για να παρακολουθήσεις το μάθημα καθώς δεν προϋποθέτει προηγούμενη γνώση προγραμματισμού. Φυσικά αν έχεις παρακολουθήσεις το μάθημα “Εισαγωγή στον προγραμματισμό με τη γλώσσα Ruby” του ιδίου διδάσκοντα μέσα στο Letstudy, θα έχεις μια πολύ καλύτερη κατανόηση των παρουσιαζόμενων θεμάτων. Κάποιες βασικές δεξιότητες σε ψηφιακό περιβάλλον (όπως π.χ. εγκατάσταση προγραμμάτων, άνοιγμα και αποθήκευση αρχείων σε λειτουργικό Windows) είναι σημαντικές και πρέπει να θεωρούνται δεδομένες.
Επίσης, σε κάποια σημεία γίνεται αναφορά σε στοιχεία CSS τα οποία, εάν δε γνωρίζετε καθόλου CSS, ίσως να σας δυσκολέψουν λίγο στην κατανόηση τους, αν και πολλές φορές εξηγείτε μέσα στο μάθημα για ποιούς  λόγους έχουν χρησιμοποιηθεί. Με βάση αυτό, κάποια βασική γνώση CSS θα σας βοηθούσε στην καλύτερη κατανόηση των παρουσιαζόμενων θεμάτων, χωρίς όμως να απαιτεί προϋπόθεση παρακολούθησης του μαθήματος.

Αναλυτικά Περιεχόμενα Μαθήματος

Εισαγωγή

Παρουσίαση του μαθήματος
Τι είναι η Ruby on Rails
Γιατί Ruby on Rails
Βιβλιοθήκες της Ruby on Rails

Δομή εφαρμογών Ruby on Rails

Δημιουργία νέου Project
Γνωριμία με την αρχιτεκτονική MVC
Δομή των αρχείων σε ένα Rails Project

Δημιουργία δομής MVC

Δημιουργία εφαρμογής βήμα–προς–βήμα
Επικοινωνία View με Controller
Δημιουργία νέου Model
Εντολές ελέγχου και χρήσης του Model

Μέθοδοι στην Ruby

Επεξήγηση των μεθόδων (methods) στην Ruby

Διασύνδεση MVC

Σύνδεση του Model με το View και τον Controller
Δημιουργία σελίδας View
Διασύνδεση σελίδων
Δημιουργία Root Route

CRUD – Διαχείριση Βάσεων Δεδομένων

Εισαγωγή στο CRUD
Εισαγωγή δεδομένων με χρήση φόρμας
Επεξεργασία δεδομένων με χρήση φόρμας
Διαγραφή δεδομένων με χρήση φόρμας

Layouts και partials

Εισαγωγή της φόρμας σε partial αρχείο
Τακτοποίηση κώδικα με Layouts and Partials – Header and Footer

Custom helpers & Προσαρμοσμένα ερωτήματα

View Helpers πως χρησιμοποιούνται
Δημιουργία δικής σας συνάρτησης μέσα σε Helper file
Δημιουργία και χρήση προσαρμοσμένων ερωτημάτων
Εισαγωγή νέων πεδίων σε υπάρχων Model

Asset Pipeline

Τι είναι και πως λειτουργεί το Asset Pipeline
Δημιουργία αρχείου CSS για προσαρμογή της σελίδας των εφαρμογών

Μορφοποίηση της εφαρμογής με το Bootstrap

Εγκατάσταση του Bootstrap
Bootstrap Grid και επεξήγηση χρήσης στοιχείων
Καθορισμός layout και μορφοποίηση αρχικής σελίδας
Αλλαγή του στυλ στις φόρμες

Validations και μηνύματα Flash

Εισαγωγή validation
Εμφάνιση μηνυμάτων σφάλματος (Flash)

Διαχείριση Χρηστών – Authentication

Δημιουργία User Model
Authentication Part 1
Authentication Part 2

Δημιουργία Session με χρήση αρχείων cookies

Δημιουργία Session για τα cookies
Διαδικασία Log In
Διαδικασία Logout
Τακτοποίηση του κώδικα

Εξουσιοδότηση χρηστών (Authorization)

Προστασία action

Code Challenge

Code challenge ενότητας 5
Λύση του Code challenge ενότητας 5

ΚΟΣΤΟΣ: Δωρεάν

Ανάπτυξη web εφαρμογών με την Ruby on Rails - ΔΩΡΕΑΝ Η 1η ΕΝΟΤΗΤΑ
ΚΟΣΤΟΣ: Δωρεάν
Ανάπτυξη web εφαρμογών με την Ruby on Rails - Αγορά του πλήρους μαθήματος
ΚΟΣΤΟΣ: 35.00
Clear
Share on facebook
Share on twitter
Share on linkedin

Γιώργος Ψαθάς

Υποψήφιος Διδάκτορας Πληροφορικής
Ο Γιώργος Ψαθάς αποφοίτησε από το τμήμα Πληροφορικής του Αριστοτελείου Πανεπιστημίου Θεσσαλονίκης το 2007. Το 2010 συνέχισε τις Μεταπτυχιακές του σπουδές στο ίδιο Ίδρυμα, στην κατεύθυνση “Τεχνολογίες Πληροφορικής & Επικοινωνιών στην Εκπαίδευση (ΤΠΕ)”. Από τον Νοέμβριο του 2017 είναι υποψήφιος Διδάκτορας του τμήματος Πληροφορικής του Αριστοτελείου Πανεπιστημίου Θεσσαλονίκης με ερευνητικό ενδιαφέρον τα Μαζικά Ανοιχτά Διαδικτυακά Μαθήματα (Massive Open Online Courses – MOOCs).

To 2017, δημιούργησε την πρώτη πλατφόρμα παροχής μαθημάτων MOOC στο learnbydoing.gr, μέσω της οποίας παρείχε μαθήματα για την Ruby on Rails. Το 2019, εξέλιξε την πλατφόρμα που είχε εγκαταστήσει το 2017, και την μετονόμασε σε Letstudy.

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

3 αξιολογήσεις για το μάθημα: Ανάπτυξη web εφαρμογών με την Ruby on Rails

  1. sokratis petridis
    5 out of 5

    sokratis petridis (verified owner)

    Καταρχάς τα 5 αστέρια είναι το λιγότερο που μπορώ να βάλω ως αξιολόγηση του μαθήματος. Θα έπρεπε να βάλω είκοσι και πάνω αν υπήρχαν. Ο καθηγητής δεν παίζεται τα εξηγεί όλα όπως πρέπει να τα εξηγήσει ένας καθηγητής για να καταλάβεις απόλυτα το μάθημα. Ένα μεγάλο μπράβο στον κύριο Γιώργο όχι μόνο ο άνθρωπος απαντάει ακαριαία στα μηνύματά σας όπως εγώ που τον τρέλανα με τα email και είχα άμεση ανταπόκριση θέλω να τον ευχαριστήσω προσωπικά από μένα και να συνεχίσει έτσι. Ένα πολύ μεγάλο μπράβο στον κύριο Γιώργο. Κύριε Γιώργο σας ευχαριστώ περιμένω το επόμενο σας μάθημα. Να είστε καλά.

  2. Αντριάνα Σοφοκλέους
    5 out of 5

    Αντριάνα Σοφοκλέους (verified owner)

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

  3. ΔΑΜΙΑΝΟΣ ΠΑΡΑΣΧΙΔΗΣ
    5 out of 5

    ΔΑΜΙΑΝΟΣ ΠΑΡΑΣΧΙΔΗΣ (verified owner)

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

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

Εισαγωγή στην Ruby on Rails

Ανάπτυξη Web εφαρμογών με την Ruby on Rails

Letstudy Logomark

Η γνωμη σας μετραει

Πείτε μας ποιο μάθημα θα σας ενδιέφερε να αναπτύξουμε ως επόμενο στην πλατφόρμα του Letstudy

Στο παρακάτω πεδίο καταχωρήστε το email σας, στην περίπτωση που θέλετε να σας ενημερώσουμε εάν δημιουργηθεί το μάθημα που προτείνατε
Letstudy Logomark

Εισάγετε το username ή το email σας μαζί με τον κωδικό σας, για να συνδεθείτε στο Letstudy