Και πρώτο (νέο) glue-post εδώ :)


Αυτό είναι το πρώτο νέο post που στο νέο blog home μου. Το υλικό που υπάρχει στο παλιό (http://www.dotnetzone.gr/cs/blogs/mkelaiditis/default.aspx) έχει μεταφερθεί κι εδώ, ωστόσο πλέον θα ενημερώνεται μόνο αυτό. Οπότε, ξέρετε: update your bookmarks.

Τώρα, λένε ότι δεν πρέπει να λες για τα σχέδιά σου και να υπόσχεσαι ότι θα κάνεις περισσότερα posts. Ο κανόνας είναι “just do it”. Η αλήθεια είναι ότι έχω πολλά σχέδια και πολλά πράγματα που έχουν δρομολογηθεί, ωστόσο υπάρχει ένα οικογενειακό θέμα, ευχάριστο, για καλό, που με εμποδίζει προς το παρόν να κάνω σχέδια, απορροφά τον χρόνο μου αυτόν τον καιρό και κατ’ ανάγκη έχω αφήσει πολύ πίσω το blog μου. Προσεχώς περισσότερα!

Προς το παρόν σας περιμένω να τα πούμε μέσω Live Meeting την Τετάρτη 11 Μαΐου και να δούμε τα νέα χαρακτηριστικά του Silverlight 5 στην beta έκδοση που παρουσιάστηκε στην MIX11.

Advertisements

DevDays11: From Code of Horror to Code of Honor


Την Τετάρτη 26 Ιανουαρίου είχα την τιμή και τη χαρά να παρουσιάσω ένα session στα πλαίσια του κύκλου DevDays11 των τεχνικών παρουσιάσεων που διοργανώνει η Microsoft Hellas. Η ημερίδα είχε γενικό τίτλο “DevDays11 – The Code of Honor – Σχεδιάζοντας και Προγραμματίζοντας Σωστά!” και δεν ήταν technology oriented όπως συνήθως αλλά είχε ως θέματα τις σύγχρονες αρχιτεκτονικές, τις επιλογές που καλείται να κάνει κάποιος που υλοποιεί μια εφαρμογή και το πως γράφουμε σωστά κώδικα ώστε να δημιουργήσουμε εφαρμογές εύκολες στη συντήρηση.

Το δικό μου session είχε δύο κύριους άξονες, ο πρώτος ήταν σχετικά με την ποιότητα του κώδικα που βρίσκουμε από διάφορες εξωτερικές πηγές και πώς αυτός επιδρά στην εφαρμογή μας. Ο δεύτερος ήταν το πώς οι τυπικές τακτικές – όπως για παράδειγμα ο κώδικας που μας δείχνει το MSDN – μας οδηγούν να φτιάξουμε εφαρμογές που χαρακτηρίζονται από δυσκολία στην συντήρηση. Μέσα από ένα παράδειγμα μιας Silverlight εφαρμογής, έδειξα πώς μπορούμε να χρησιμοποιήσουμε τα design patterns και πόσο βοηθάει το unit testing ώστε να περιορίσουμε τα προβλήματα στη συντήρηση του κώδικα.

Όσοι από εσάς χάσατε την παρουσίαση, μπορείτε να την δείτε εδώ:

http://www.techdays.gr/videos/3308.html

Το slide deck και τα samples βρίσκονται εδώ: http://bit.ly/eUki03

Η αρχή και το τέλος την παρουσίασης έγιναν capture εκ των υστέρων καθώς παρουσιάστηκαν τεχνικά προβλήματα (του τύπου between keyboard and chair).

A! Να μην ξεχάσω: Πολλές ευχαριστίες στον Νίκο Παλλαδινό (PALLADIN) για τη βοήθεια και τις ιδέες του!


IT Pro | Dev Connections 2010 – "Και Line-of-Business και RIA: The silver side of the moon"


Ευχαριστούμε όσους μας τίμησαν με την παρουσία τους στο IT Pro | Dev Connections 2010, στην παρουσίαση μας (Άγγελος Μπιμπούδης & Μάνος Κελαϊδίτης) με τίτλο "Και Line-of-Business και Rich Internet Applications: The silver side of the moon". Είδαμε πρακτικές και τεχνολογίες για RIA εφαρμογές σε Silverlight, πώς ξέραμε τις επιχειρησιακές εφαρμογές με Silverlight μέχρι τώρα και τι εφόδια έχουμε πια, για να φτιάχνουμε γρηγορότερα και πιο δομημένα web applications, συνδυάζοντας RIA και LoB χαρακτηριστικά.

Προσπαθήσαμε να πούμε όσα περισσότερα πράγματα γίνεται, δίνοντας ένα κβάντο πληροφορίας που μπορεί να χρησιμοποιηθεί άμεσα, ξεκινώντας με WCF Ria Services, MVVM design pattern και MEF για extensibility. Ο χρόνος ήταν περιορισμένος, αλλά πιστεύουμε ότι τα καταφέραμε (φάνηκε και από την αξιολόγηση :D).

Για όσους όμως, πιστεύουν ότι 75 λεπτά δεν έφτασαν (και αλήθεια θα είναι), σχεδιάζουμε να κάνουμε live meeting στο άμεσο μέλλον, οπότε stay tuned.

H παρουσίαση και τα demos εδώ.

*Για να τρέξετε τα demos, θα χρειαστείτε: WCF Ria Services, Silverlight Toolkit, Async CTP, RX Extentions, MVVMLight

*Credits to: Guy Smith-Ferrier for the localization reference and material included. He has done a great work on internationalizing silverlight and localization in general. For more check.

 


Right tool for the job


Διάβασα πρόσφατα στο Engadget για τα 1.5 Gpixel images που έβγαλε η GigaPan στο World Series και άρχισα να παίζω με το zoom. Δεν μπορώ να πω ότι ενθουσιάστηκα καθώς το εργαλείο κάνει πολλά “σπασίματα”. Αλλά να ήταν μόνο αυτό… Βάζοντας το zoom στο τέρμα, μπορεί να δει κανείς πολύ ωραία εφέ όπως αποκεφαλισμένους ή δικέφαλους ανθρώπους!

Capture1Capture2

Παιδιά, καλή η προσπάθεια αλλά γι αυτή τη δουλειά υπάρχει ήδη το κατάλληλο εργαλείο. Deep Zoom λέγεται… Κάντε και μόνοι σας τη σύγκριση: http://70gigapixel.cloudapp.net/


Silverlight vs HTML 5


Χαμός τις τελευταίες μέρες με το τι είπε ο Muglia και ο ένας και ο άλλος για το τι μέλλει γενέσθαι με το Silverlight. To HTML 5 είναι πολύ της μόδας και όλοι έχουν βρει την ευκαιρία να κάνουν προβλέψεις. Η δική μου ανάγνωση λέει τα εξής:

Όταν το Silverlight βγήκε αρχικά, έπρεπε να καλύψει σε πολύ σύντομο χρονικό διάστημα ένα κενό για το οποίο η Microsoft δεν είχε προσφέρει ποτέ κάτι ανάλογο. Οι πρώτες εκδόσεις είχαν αρκετές ελλείψεις ωστόσο με την έκδοση 3 μπορούσε κανείς να πει ότι κάτι γίνεται και πλέον με την έκδοση 4 θεωρείται μια ώριμη τεχνολογία. Γι αυτό και μέχρι την έκδοση 4 βλέπαμε να βγαίνουν οι νέες εκδόσεις πολύ γρήγορα ενώ πλέον η πλατφόρμα έχει σταθεροποιηθεί. Το ότι δεν είδαμε beta της έκδοσης 5 στην PDC δεν σημαίνει ότι ως τεχνολογία εγκαταλείπεται.

Το HTML 5 έχει πολυυυύ δρόμο ακόμα μέχρι να είναι έτοιμο για να βγει στην παραγωγή. Ακόμα και αν βγει πολύ γρηγορότερα απ’ όσο προτείνει το W3C (μιλάμε για το 2022), ο κόσμος θα αργήσει να το υιοθετήσει πλήρως καθώς θα πρέπει για λόγους συμβατότητας να παράγει περιεχόμενο που να μπορεί να χρησιμοποιηθεί και σε παλαιότερους browsers.

Το Silverlight δεν είναι για web pages, το Silverlight είναι για web apps. Εδώ και έναν χρόνο είχα την χαρά να δω εταιρείες που ποτέ δεν σκεφτόντουσαν να βγάλουν web εφαρμογές να βγάζουν Silverlight clients με ολοκληρωμένο ή μερικό functionality των βασικών εφαρμογών τους. Τώρα, το ΗTML 5 δεν δίνει κάτι παραπάνω στο θέμα των LOB εφαρμογών. Τα βασικά που υπάρχουν και χρειάζονται μπορεί να τα έχει κάποιος και με το HTML 4. Ωστόσο με το που έρχεται το Silverlight, ξαφνικά το web εμφανίζεται ενδιαφέρον! Οι λόγοι, κατ’ εμέ, είναι ότι το περιβάλλον προσφέρεται για LOB εφαρμογές. Τα πλεονεκτήματα του strongly-typed compiled κώδικα σε σχέση με τη Javascript είναι σημαντικά. Όπως επίσης είναι πολύ σημαντικά ότι η τεχνογνωσία που έχει επενδύσει κάποιος στο .NET Framework και ενδεχομένως στο WPF, μπορεί να μεταφερθεί σε μεγάλο βαθμό και στο νέο περιβάλλον του Silverlight. Διάφορα άλλα καλούδια όπως το Out-Of-Browser, το COM interop και το multithreading είναι σημαντικά features που δεν αφήνουν έναν developer αδιάφορο.

Τέλος, ένα άλλο πεδίο στο οποίο το Silverlight είναι πολύ ισχυρό είναι αυτό των media. HD video, broadcasting, video effects, DRM, smooth streaming, webcam/microphone integration, είναι πράγματα που το νέο «canvas» του HTML 5 δεν προσφέρει.

Λέγοντας λοιπόν ο Muglia ότι «HTML is the only true cross platform solution for everything, including (Apple’s) iOS platform» εγώ καταλαβαίνω «μην περιμένετε να δείτε το Silverlight στο iPhone». Αυτό άλλωστε είναι και το #1 request στo UserVoice! Το Silverlight δεν πρόκειται ποτέ να γίνει 100% cross-platform και 100% cross browser – πολύ λιγότερο και η μοναδική cross-platform και cross browser τεχνολογία. Θα συνυπάρχει μαζί με το host του (HTML 3, 4 ή 5) και από εκεί και πέρα ανάλογα το τι θέλει να φτιάξει ο καθένας και τι τεχνογνωσία διαθέτει θα αποφασίζει πώς θα το κάνει. Κατά την ταπεινή μου γνώμη, πάντοτε είναι καλό είναι να υπάρχουν εναλλακτικές λύσεις…


Taking the 71-506 exam


I took the 71-506 (TS: Silverlight 4, Development) exam on Friday. It is a beta exam that means you have to answer 75 questions in 3 hours. You also get to know the results (fail/pass) much later, after the exam is released to the public as 70-506.

Having read the preparation guide I didn’t come across any surprises. The exam had pretty much a bit of everything about Silverlight, so here is a list of the things that you should give extra care if you plan to take the exam:

Some topics that you should not leave home without having good knowledge of, are:

  • Styles, Templates, Data templates
  • Background threads
  • Dependency properties
  • Attached properties
  • ICommand
  • Data binding, Format data
  • Data validation
  • Out-of-browser applications

Other than the above, I remember having questions on the following:

  • Arrange content with panels
  • Navigation framework
  • Collections of items (datagrid, listbox, combo, etc)
  • Play media files
  • Manipulate visuals
  • Animate visuals
  • Implement behaviors
  • Manage the visual state
  • Event handling
  • Consume services asynchronously
  • Create and consume value converters
  • Printing API
  • Isolated storage
  • Interact with the HTML DOM
  • Access the clipboard
  • Read from and write to the host file system
  • Handle alternative input methods
  • Create and consume resource dictionaries
  • Implement localization and globalization
  • Configure the Silverlight plug-in
  • Create a client access policy

As I said, pretty much everything about Silverlight. It reminded me these TV shows where you might know almost everything, but still miss some questions because you simply can not know everything. The same principle applies here. You have to got breadth knowledge of the technology. Have in mind of course that the question pool is – obviously – larger than 75 questions, so there is no guaranty that the same will apply to you in case you decide to take the exam. 

One last thing: I almost had a heart-attack when after two and half hours, a message appeared on the screen and the test restarted! While it was restarting, I remembered similar cases where all the answers were lost but I was lucky. When the test restarted all my answers were there…


Οδηγός για την ασφάλεια στο Silverlight 4


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

Είναι λοιπόν διαθέσιμο για να κατεβάσετε το Silverlight Security Overview (http://download.microsoft.com/download/A/1/A/A1A80A28-907C-4C6A-8036-782E3792A408/Silverlight Security Overview.docx), ένας οδηγός που περιγράφει τόσο το πώς το Silverlight προστατεύει τον τελικό χρήστη όσο και το πώς μπορεί κανείς να κάνει τις Silverlight εφαρμογές που γράφει πιο ασφαλείς.

Μέσα σε αυτόν το οδηγό θα βρείτε ανάμεσα στα άλλα πληροφορίες για το sandbox, τον out of browser τρόπο λειτουργίας, την προστασία των xap αρχείων, το validation του input των χρηστών αλλά ακόμα το τι σημαίνει η εκτέλεση σε trusted mode ή το πώς προστατεύουμε τα data που αποθηκεύουμε στο isolated storage.

Καλό διάβασμα!