portaldacalheta.pt
  • Κύριος
  • Τάσεις
  • Κερδοφορία & Αποδοτικότητα
  • Επιστήμη Δεδομένων Και Βάσεις Δεδομένων
  • Διαδικασία Και Εργαλεία
Διεπαφή Ιστού

Γνωρίστε το Volt, ένα πολλά υποσχόμενο Ruby Framework για δυναμικές εφαρμογές



Το Volt είναι ένα πλαίσιο Ruby σχεδιασμένο για εφαρμογές πλούσιες σε δεδομένα. Τόσο η πλευρά του διακομιστή όσο και του πελάτη είναι γραμμένα σε Ruby (το οποίο στη συνέχεια μεταγλωττίζεται σε JS χρησιμοποιώντας OPAL), οπότε αυτό επιτρέπει στον προγραμματιστή να γράφει πολύ δυναμικές εφαρμογές χωρίς να χρειάζεται να γράψει μια μόνο γραμμή κώδικα Javascript. Εάν είστε Ρουμπίνι ανεμιστήρας σαν εμένα, θα λατρέψετε αυτό το πλαίσιο.

Σε μια προσπάθεια να κάνουν εφαρμογές Ιστού πολύ πιο δυναμικά, τα πλαίσια Javascript front-end όπως το Angular.js, Backbone.js και το Ember.js έχουν αποκτήσει μεγάλη δημοτικότητα. Ωστόσο, αυτά τα πλαίσια απαιτούν συχνά μια εφαρμογή back-end για να είναι χρήσιμα, επομένως χρησιμοποιούνται σε συνδυασμό με πλαίσια ιστού όπως το Ruby on Rails και το Django.



Από την άλλη πλευρά, το Ruby framework Volt είναι ικανό να διαχειριστεί το back-end και ένα δυναμικό front-end. Δεδομένου ότι και οι δύο λειτουργίες ενσωματώνονται σφιχτά στον πυρήνα της (στην πραγματικότητα, το Volt μοιάζει περισσότερο με αρχιτεκτονική MVVM, αξιοποιώντας τα πλεονεκτήματα των δεσμεύσεων δεδομένων), επιτρέπει στον προγραμματιστή να δημιουργήσει αυτές τις εφαρμογές γρήγορα.



Ένα πολύ ωραίο χαρακτηριστικό που βγαίνει από το κουτί είναι το χαρακτηριστικό σε πραγματικό χρόνο του Volt. Εάν κάνατε ποτέ εφαρμογές σε πραγματικό χρόνο, γνωρίζετε ότι η διαδικασία μπορεί να είναι προκλητική - πιθανότατα εφαρμόσατε την ψηφοφορία AJAX, τις πρίζες ιστού, τις εκδηλώσεις με διακομιστή (SSE) ή ακόμη και χρησιμοποιήσατε εξωτερικές υπηρεσίες, προσθέτοντας πολυπλοκότητα στην εφαρμογή και ακόμη και πρόσθετο κόστος . Σε αντίθεση με άλλα πλαίσια, το Volt διατηρεί ζωντανή τη σύνδεση με τον διακομιστή (μέσω υποδοχών ιστού), οπότε αντί να κάνει αιτήματα Ajax για κάθε ενέργεια, ωθεί τις αλλαγές άμεσα σε όλους τους πελάτες. Δεν απαιτείται διαμόρφωση για να λειτουργήσει αυτό.



Γνωρίστε το Volt, ένα πολλά υποσχόμενο Ruby Framework για δυναμικές εφαρμογές

Χρήση του Volt για δημιουργία μιας εφαρμογής συνομιλίας

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



Πρώτα απ 'όλα, ας εγκαταστήσουμε το Volt και το MongoDB. Η τελευταία διαδικασία δεν θα καλυφθεί λεπτομερώς:

gem install volt brew install mongodb mkdir -p /data/db

(δημιουργία dbpath)



chown `id -u` /data/db (change the owner to have the proper dbpath permissions)

Τώρα είμαστε έτοιμοι να δημιουργήσουμε την πρώτη μας εφαρμογή, ας το ονομάσουμε «συνομιλία». Μπορούμε να το κάνουμε εύκολα σε δύο γραμμές:

volt new chat cd chat

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



Ένα στοιχείο είναι μια απομονωμένη ενότητα της εφαρμογής. Όλες οι σελίδες μέσα σε ένα στοιχείο αποδίδονται χωρίς επαναφόρτωση της σελίδας, καθώς όλα τα αρχεία για αυτό το στοιχείο φορτώνονται με το αρχικό αίτημα http, οπότε αν επισκεφτούμε μια σελίδα διαφορετικού στοιχείου, θα υποβληθεί ένα νέο αίτημα http και θα φορτωθεί ξανά η σελίδα '. Για αυτό το παράδειγμα ας χρησιμοποιήσουμε το προεπιλεγμένο στοιχείο που ονομάζεται «κύριο».

Ας ξεκινήσουμε τον διακομιστή εκτελώντας την εντολή «διακομιστής volt» στην κονσόλα και ας δούμε πώς φαίνεται στο πρόγραμμα περιήγησης μεταβαίνοντας στο localhost: 3000:



volt server

Επίσης μην ξεχάσετε να ξεκινήσετε το MongoDB στην κονσόλα:

mongod

Μπορούμε να παρατηρήσουμε ότι το Volt συνοδεύεται από έναν αριθμό προεπιλεγμένων σελίδων, όπως «Home» και «About». Αυτά μπορούν να προσαρμοστούν αμέσως.



Το άλλο πράγμα που αξίζει να αναφερθεί είναι το κουμπί σύνδεσης στην επάνω δεξιά πλευρά της σελίδας. Το Volt διαθέτει λειτουργικότητα 'χρήστη' ενσωματωμένο στο πλαίσιο μέσω του πολύτιμου λίθου 'volt-user-templates', το οποίο παρέχει έναν τρόπο εγγραφής και ελέγχου ταυτότητας χρηστών, άμεσα.

Ξεκινώντας

Τώρα, ας αρχίσουμε να δουλεύουμε στην εφαρμογή μας. Πρώτα απ 'όλα, δεν χρειαζόμαστε τη σελίδα 'Σχετικά', ώστε να προχωρήσουμε και να διαγράψουμε τα εξής: Το app/main/views/main/about.html αρχείο, το about about στο app/main/controllers/main_controller.rb, καταργήστε το /about διαδρομή σε app/main/config/routes.rb και ο σύνδεσμος πλοήγησης στο app/main/views/main/main.html.

Τώρα ας ξεκινήσουμε την επιχείρηση και ξεκινήστε με την καταχώριση όλων των εγγεγραμμένων χρηστών:

{{ if Volt.user }} { } {{ if user._id != Volt.user._id }} {{user._name}} {{ end }} {{ end }} {{ if params._user_id }} { current_conversation.each do }

{{ message._text }}

{{ end }} {{ if current_conversation.count == 0 }}

You have no messages yet. Start chatting!

{{ else }} {{ end }} Submit {{ end }} {{ else }}

This is a sample application built with Volt to demonstrate its real-time capabilities. Please log in to access it.

{{ end }}

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

Παράδειγμα δοκιμής μονάδας c#

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

def send_message unless page._new_message.strip.empty? _messages <[{ sender_id: Volt.user._id, receiver_id: params._user_id }, { sender_id: params._user_id, receiver_id: Volt.user._id }] }) end

Στη μέθοδο send_message προσθέτουμε ένα νέο μήνυμα στη συλλογή, εάν το μήνυμα δεν είναι κενό (ελέγχουμε inline, οπότε δεν χρειάζεται να χτυπήσουμε με επικυρώσεις αυτήν τη στιγμή), τότε ορίζουμε τη σελίδα ._new_message to ‘’ οπότε αδειάζουμε το πεδίο εισαγωγής.

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

Συμπληρώστε με ειδοποιήσεις σε πραγματικό χρόνο

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

Ας προσθέσουμε μια νέα συλλογή που ονομάζεται _notifications και δημιουργήστε ένα νέο μετά την αποστολή κάθε μηνύματος:

def send_message unless page._new_message.strip.empty? _messages << { sender_id: Volt.user._id, receiver_id: params._user_id, text: page._new_message } _notifications << { sender_id: Volt.user._id, receiver_id: params._user_id } page._new_message = '' end end def select_conversation(user) params._user_id = user._id unread_notifications_from(user).then do |results| results.each do |notification| _notifications.delete(notification) end end page._new_message = '' end def unread_notifications_from(user) _notifications.find({ sender_id: user._id, receiver_id: Volt.user._id }) end

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

Ας προσθέσουμε έναν μετρητή ειδοποιήσεων ακριβώς δίπλα στο όνομα χρήστη:

{{user._name}} {{ if unread_notifications_from(user).count > 0 }} {{ unread_notifications_from(user).count }} {{ end }}

Τώρα η εφαρμογή είναι έτοιμη, μπορείτε να ανοίξετε μερικά προγράμματα περιήγησης και να αρχίσετε να δοκιμάζετε τις δυνατότητες του Volt σε πραγματικό χρόνο.

Το Volt αξίζει σίγουρα μια δοκιμή

Παρόλο που το πλαίσιο Volt δεν είναι τόσο ώριμο και στιβαρό όσο τα περισσότερα δημοφιλή πλαίσια Ruby που υπάρχουν εδώ και χρόνια (αυτή τη στιγμή το Volt είναι ακόμα σε beta), αξίζει να εξεταστεί και να μελετηθεί.

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

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

Πρόβλεψη για επιτυχία - Ένας οδηγός για τη διαχείριση μετρητών

Κερδοφορία & Αποδοτικότητα

Πρόβλεψη για επιτυχία - Ένας οδηγός για τη διαχείριση μετρητών
Τρόπος διεξαγωγής δοκιμών ευχρηστίας σε έξι βήματα

Τρόπος διεξαγωγής δοκιμών ευχρηστίας σε έξι βήματα

Σχεδιασμός Ux

Δημοφιλείς Αναρτήσεις
Σχεδιαστική στρατηγική - Ένας οδηγός για την τακτική σκέψη στο σχεδιασμό
Σχεδιαστική στρατηγική - Ένας οδηγός για την τακτική σκέψη στο σχεδιασμό
Γράψτε κώδικα για να ξαναγράψετε τον κωδικό σας: jscodeshift
Γράψτε κώδικα για να ξαναγράψετε τον κωδικό σας: jscodeshift
Κίνδυνος έναντι ανταμοιβής: Ένας οδηγός για την κατανόηση των εμπορευματοκιβωτίων λογισμικού
Κίνδυνος έναντι ανταμοιβής: Ένας οδηγός για την κατανόηση των εμπορευματοκιβωτίων λογισμικού
Το πάρτι δεν έχει τελειώσει: Μια βαθιά βουτιά στο γιατί οι μονόκεροι θα αναπηδήσουν το 2017
Το πάρτι δεν έχει τελειώσει: Μια βαθιά βουτιά στο γιατί οι μονόκεροι θα αναπηδήσουν το 2017
Επεξήγηση τεχνολογίας Blockchain: Ενίσχυση του Bitcoin
Επεξήγηση τεχνολογίας Blockchain: Ενίσχυση του Bitcoin
 
Πώς να επιλέξετε το καλύτερο πλαίσιο Front-End
Πώς να επιλέξετε το καλύτερο πλαίσιο Front-End
Η ηρεμία πριν την καταιγίδα
Η ηρεμία πριν την καταιγίδα
Οδηγός προγραμματιστή IOS: Από το Objective-C έως το Swift
Οδηγός προγραμματιστή IOS: Από το Objective-C έως το Swift
Πώς να διευκολύνετε την αλλαγή μέσω της ευέλικτης ηγεσίας των υπαλλήλων
Πώς να διευκολύνετε την αλλαγή μέσω της ευέλικτης ηγεσίας των υπαλλήλων
Το ApeeScape εγκαινιάζει το TopTracker, μια δωρεάν εφαρμογή παρακολούθησης χρόνου για ελεύθερους επαγγελματίες
Το ApeeScape εγκαινιάζει το TopTracker, μια δωρεάν εφαρμογή παρακολούθησης χρόνου για ελεύθερους επαγγελματίες
Δημοφιλείς Αναρτήσεις
  • τι είναι το ux UI designer
  • στοιχεία και αρχές των παραδειγμάτων σχεδιασμού
  • ευρετική αξιολόγηση διεπαφών χρήστη
  • απλό πρότυπο εγγράφου σχεδιασμού λογισμικού
  • php unicode σε utf 8
  • βέλτιστες πρακτικές ασφάλειας στο μπροστινό μέρος
Κατηγορίες
  • Τάσεις
  • Κερδοφορία & Αποδοτικότητα
  • Επιστήμη Δεδομένων Και Βάσεις Δεδομένων
  • Διαδικασία Και Εργαλεία
  • © 2022 | Ολα Τα Δικαιώματα Διατηρούνται

    portaldacalheta.pt