Νομίζω ότι μάλλον κάνει λάθος συγκρίσεις το συγκεκριμένο άρθρο, άσε που οι "Decision Makers" δεν θα είχαν μεγάλη όρεξη να το διαβάσουν όπως είναι. Δεν συζητάμε για HTML vs Sivlerlight ούτε για το αν αξίζει να χρησιμοποιήσει κανείς μοντέλα. Μάλιστα, θα έλεγα ότι τίποτε απ' όσα προσφέρει το LightSwitch δεν είναι καινούριο:
- Η δημιουργία εφαρμογών με βάση μοντέλα είναι παλιά υπόθεση. Θα μπορούσες να πεις ότι πάμε πίσω στις πρώτες 4GL προσπάθειες.
- Το Silverlight vs HTML επίσης δεν έχει νόημα καθώς LOB εφαρμογές βασισμένες σε scaffolding υπάρχουν επίσης εδώ και πάρα πολύ καιρό. Μην πω ότι το Ruby on Rails θα μπορούσε να ισχυριστεί ότι το έκανε πρώτο.
- 3-Tier: Δίνει μία καλή, τυπική θα έλεγα, υλοποίηση για 3-tier εφαρμογή, όπως θα την έφτιαχνε κάποιος ο οποίος έχει εμπειρία σε 3-tier.
Από την άλλη παρέχει ελάχιστα σε δύσκολους τομείς, τους οποίους αντιμετωπίζουν με διάφορους τρόπους άλλες παρόμοιες εφαρμογές. Χωρίς λύσεις σε αυτό τον τομέα θα είναι δύσκολο να το χρησιμοποιήσει κανείς σε σχετικά περίπλοκα περιβάλλοντα:
- Concurrency, Conflict resolution? Αυτά που δίνει το LS είναι τα εντελώς βασικά.
- Security? Υποτυπώδες, σε επίπεδο "δείχνω οθόνη".
- Schema Versioning? Ποιό schema versioning? Πως θα κάνω deploy ένα νέο σχήμα πάνω από παλιά δεδομένα?
- Business rules ή workflow: Τίποτε. Αν δεν μπορείς να ορίσεις κάποιους κανόνες, δεν μπορείς να χρησιμοποιήσεις την εφαρμογή για κάτι πέρα από Data Entry. Και αν το σκεφτείς, ελάχιστες εφαρμογές κάνουν ΜΟΝΟ data entry.
- Reporting: Ούτε καν totals στα detail views.
Το Holy Grail του Corporate Computing τα τελευταία ΧΥ χρόνια είναι να μπορούν οι business χρήστες να ορίσουν τις φόρμες και τις διαδικασίες τους χωρίς να καταφεύγουν στη βοήθεια του IT. Το LightSwitch ξεκινάει κοιτάζοντας το πρώτο (και ευκολότερο) κομμάτι και ο χρόνος θα δείξει αν μπορέσει να χτυπήσει και το δεύτερο. Χωρίς υποστήριξη για διαδικασίες, δύσκολα θα χρησιμοποιηθεί για ουσιαστικές εφαρμογές.
Αυτό που προσφέρει το Lightswitch είναι ότι δίνει μία εύκολη δυνατότητα σχεδίασης του μοντέλου και του UI στους "business" χρήστες ενώ τους κρύβει τα πιο περίπλοκα θέματα όπως reporting, security, concurrency, versioning κλπ. Αυτό είναι καλό γιατί επιτρέπει σε αυτούς τους χρήστες να σχεδιάσουν την εφαρμογή "όπως θέλουν" πολύ γρήγορα και με χαμηλό κόστος. Από την άλλη, οτιδήποτε πιο προχωρημένο θα πρέπει να γίνει από έμπειρους προγραμματιστές.
Το ευχάριστο είναι ότι από τη στιγμή που οι "business" χρήστες δεν έχουν πρόσβαση στον κώδικα, αποφεύγονται οι "ατυχείς" παρεμβάσεις η δουλειά των προγραμματιστών γίνεται πολύ ευκολότερη.
Αν ήθελα να περιγράψω κάπως το Lightswitch θα έλεγα ότι είναι κάπως σαν Silverlight scaffolding με client side designer. Ακόμα είναι σε έκδοση 1 οπότε λογικό είναι πιο προχωρημένες δυνατότητες να λείπουν. Αυτές ελπίζω ότι θα προστεθούν σιγά-σιγά. Θα είναι ευκαιρία για τους έμπειρους προγραμματιστές να προσφέρουν τις υπηρεσίες που λείπουν τώρα από το LightSwitch ..... μέχρι να τις βγάλει η ίδια η Microsoft και να τους "θάψει" ... (οπότε θα προσφέρουν migration στη "νέα" υπηρεσία")
Πού θα πάει? Το μέλλον θα δείξει. Η Microsoft πρόσφατα "έσφαξε" το Oslo, το project το οποίο προσπαθούσε να δώσει μία ουσιαστική Model Driven πλατφόρμα. Η φιλοσοφία του "παραμετροποιήσιμου από το χρήστη" βρίσκεται και πίσω από το SharePoint - που μόνο εύκολα παραμετροποιήσιμο δεν θα το έλεγες. Το LightSwitch ξεκινάει κοιτώντας προς το "κάτω" μέρος της αγοράς προσφέροντας βασικές υπηρεσίες, χωρίς να φαίνεται κάποιο σοβαρό εμπόδιο στην επεκτασιμότητα του - για την ώρα.
Οι πρώτες ενδείξεις είναι ενθαρρυντικές και σίγουρα για το κόστος του αξίζει. Θα δούμε στο μέλλον αν μπορέσει να καλύψει και σενάρια πέρα από το Data Entry.
Παναγιώτης Καναβός, Freelancer
Twitter: http://www.twitter.com/pkanavos