SlideShare ist ein Scribd-Unternehmen logo
1 von 18
Client
               Technology

Moretto Carlo – www.morettocarlo.eu   ts.eestec.it
Client


 • jQuery
 • Toastr
 • Knockout



Moretto Carlo – www.morettocarlo.eu   ts.eestec.it
jQuery
 Download: http://jquery.com/


 jQuery is a fast and concise JavaScript Library
 that        simplifies  HTML       document
 traversing, event handling, animating, and
 Ajax      interactions   for    rapid     web
 development. jQuery is designed to change
 the way that you write JavaScript.


Moretto Carlo – www.morettocarlo.eu        ts.eestec.it
Toastr: JS notification

 https://github.com/CodeSeven/toastr

 Sample:
 • toastr.warning(‘Warning!') ;
 • toastr.success('Have fun storming the
   castle!', 'Miracle');
 • toastr.error(‘Please check your data‘);



Moretto Carlo – www.morettocarlo.eu          ts.eestec.it
Knockout
 http://knockoutjs.com/

 Knockout is a Javascript library that
 allows developers to create
 rich, responsive display and editor user
 interfaces with a clean underlying data
 model.



Moretto Carlo – www.morettocarlo.eu   ts.eestec.it
Features
  • Declarative bindings
  • Automatic UI refresh (when the data
    model's state changes, the UI
    updates automatically)
  • Dependency tracking
  • Templating




Moretto Carlo – www.morettocarlo.eu   ts.eestec.it
MVVM -Model View ViewModel
  MVVM facilitates a clear
  separation of the development of
  the graphical user interface
  (either as markup language or
  GUI code) from the development
  of the business logic or back end
  logic known as the model.


Moretto Carlo – www.morettocarlo.eu   ts.eestec.it
Example
 View (HTML)

 <p>First name: <input data-bind="value:
 firstName" /></p>
 <p>Last name: <input data-bind="value:
 lastName" /></p>
 <h2>Hello, <span data-bind="text: fullName">
 </span>!</h2>

 View Model (Javascript)

 function ViewModel() {
 this.firstName = ko.observable(‘Mario’);
 this.lastName = ko.observable(‘Rossi’);
 this.fullName = ko.computed(function() {
    return this.firstName() + " " +
      this.lastName();
 }, this); }
 ko.applyBindings(new ViewModel());




Moretto Carlo – www.morettocarlo.eu             ts.eestec.it
Example
•    Control Type
     knockoutjs.com/examples/controlTypes.html


•    Observable Arrays
     knockoutjs.com/documentation/observableArrays.html


•    Cart Editor
     knockoutjs.com/examples/cartEditor.html




Moretto Carlo – www.morettocarlo.eu                   ts.eestec.it
Download and savethe data
Download                              Save
$.getJSON("/api/yyy?par=zzz",         $.ajax({
  function (data) {                       type: "POST",
    viewModelJs = data;                   url: "/api/yyy?param=zzz",
    viewModel =                           data: dataJs,
addComputed(viewModelJs);                 success: function (data) {
                                             toastr.success(‘:-)');
ko.mapping.fromJS(viewModelJs);           },
                                          error: function () {
ko.applyBindings(viewModel);
                                             toastr.error(‘:-(');
})
                                          }
});
                                      });




Moretto Carlo – www.morettocarlo.eu                            ts.eestec.it
Usefullinks

 •   https://github.com/CodeSeven/KoLite -
     asyncCommand, activity, dirtyFlag
 •   http://www.knockmeout.net - knockout tutorial
 •   https://github.com/ericmbarnard/Knockout-Validation -
     knockout validation




Moretto Carlo – www.morettocarlo.eu                     ts.eestec.it
Source Control

Moretto Carlo – www.morettocarlo.eu   ts.eestec.it
Source Control
  •     TFS
  •     SVN
  •     Git
  •     Mercurial




Moretto Carlo – www.morettocarlo.eu   ts.eestec.it
SVN
    Compatible successor to the widely
    used Concurrent Versions System (CVS):

     •     Versioning of directories
     •     Atomic commits
     •     Metadata versioning
     •     Abstraction from the network layer




Moretto Carlo – www.morettocarlo.eu             ts.eestec.it
Git
 + Dramatic increase in operation speed
 + Cheap branch operations
 + Full history tree available offline
 + Distributed, peer-to-peer model
 - Learning curve for those used to SVN
 - Not optimal for single developers
 - Limited Windows support compared to Linux




Moretto Carlo – www.morettocarlo.eu     ts.eestec.it
Mercurial
+ Easier to learn than Git
+ Better documentation
+ Distributed model
- No merging of two parents
- Extension-based rather than scriptability
- Less out of the box power




Moretto Carlo – www.morettocarlo.eu           ts.eestec.it
Useful links
  •      http://biz30.timedoctor.com/git-mecurial-and-cvs-
         comparison-of-svn-software/ - git vs mercurial vs cvs
  •      http://blogs.atlassian.com/2012/02/mercurial-vs-git-
         why-mercurial/ - command line git, mercurial
  •      http://betterexplained.com/articles/intro-to-distributed-
         version-control-illustrated/ - Intro to Distributed Version
         Control
  •      https://github.com/ - github
  •      http://codeplex.com/ - codeplex
  •      https://bitbucket.org/ - bitbuket
  •      http://code.google.com/intl/it/ - google code




Moretto Carlo – www.morettocarlo.eu                        ts.eestec.it
Contacts

   Email: moretto.carlo@outlook.com
   Website: www.morettocarlo.eu
   EESTEC: ts.eestec.it




Moretto Carlo – www.morettocarlo.eu   ts.eestec.it

Weitere ähnliche Inhalte

Mehr von EESTEC LC Trieste

EESTEC Summer School 2012 - java script & jquery - Matic Jesenovec
EESTEC Summer School 2012 - java script & jquery - Matic JesenovecEESTEC Summer School 2012 - java script & jquery - Matic Jesenovec
EESTEC Summer School 2012 - java script & jquery - Matic JesenovecEESTEC LC Trieste
 
EESTEC Summer School 2012 - Windows Phone 7 Applications- Davide Luzzu
EESTEC Summer School 2012 - Windows Phone 7 Applications- Davide LuzzuEESTEC Summer School 2012 - Windows Phone 7 Applications- Davide Luzzu
EESTEC Summer School 2012 - Windows Phone 7 Applications- Davide LuzzuEESTEC LC Trieste
 
EESTEC Summer School 2012 - Windows Phone 7 design - Davide Luzzu
EESTEC Summer School 2012 - Windows Phone 7 design - Davide LuzzuEESTEC Summer School 2012 - Windows Phone 7 design - Davide Luzzu
EESTEC Summer School 2012 - Windows Phone 7 design - Davide LuzzuEESTEC LC Trieste
 
EESTEC Summer School 2012 - Entity Framework - Erni Durdevic
EESTEC Summer School 2012 - Entity Framework - Erni DurdevicEESTEC Summer School 2012 - Entity Framework - Erni Durdevic
EESTEC Summer School 2012 - Entity Framework - Erni DurdevicEESTEC LC Trieste
 
EESTEC Summer School 2012 - Photoshop - Giulia Galvani
EESTEC Summer School 2012 - Photoshop - Giulia GalvaniEESTEC Summer School 2012 - Photoshop - Giulia Galvani
EESTEC Summer School 2012 - Photoshop - Giulia GalvaniEESTEC LC Trieste
 
EESTEC Summer School 2012 - Logo Design - Darija Dašić
EESTEC Summer School 2012 - Logo Design - Darija DašićEESTEC Summer School 2012 - Logo Design - Darija Dašić
EESTEC Summer School 2012 - Logo Design - Darija DašićEESTEC LC Trieste
 
EESTEC Summer School 2012 - Vector Design - Darija Dašić
EESTEC Summer School 2012 - Vector Design - Darija DašićEESTEC Summer School 2012 - Vector Design - Darija Dašić
EESTEC Summer School 2012 - Vector Design - Darija DašićEESTEC LC Trieste
 
EESTEC Summer School 2012 - Branding Guidelines - Milosh Pivic
EESTEC Summer School 2012 - Branding Guidelines - Milosh PivicEESTEC Summer School 2012 - Branding Guidelines - Milosh Pivic
EESTEC Summer School 2012 - Branding Guidelines - Milosh PivicEESTEC LC Trieste
 
EESTEC Summer School 2012 - Group 7 - red cells
EESTEC Summer School 2012 - Group 7 - red cellsEESTEC Summer School 2012 - Group 7 - red cells
EESTEC Summer School 2012 - Group 7 - red cellsEESTEC LC Trieste
 
EESTEC Summer School 2012 - Group 8 - tridentinas
EESTEC Summer School 2012 - Group 8 - tridentinasEESTEC Summer School 2012 - Group 8 - tridentinas
EESTEC Summer School 2012 - Group 8 - tridentinasEESTEC LC Trieste
 
EESTEC Summer School 2012 - Group 6 - createam
EESTEC Summer School 2012 - Group 6 - createamEESTEC Summer School 2012 - Group 6 - createam
EESTEC Summer School 2012 - Group 6 - createamEESTEC LC Trieste
 
EESTEC Summer School 2012 - Group 1 - grande
EESTEC Summer School 2012 - Group 1 - grandeEESTEC Summer School 2012 - Group 1 - grande
EESTEC Summer School 2012 - Group 1 - grandeEESTEC LC Trieste
 
EESTEC Summer School 2012 - Group 10 - vampire hunters
EESTEC Summer School 2012 - Group 10 - vampire huntersEESTEC Summer School 2012 - Group 10 - vampire hunters
EESTEC Summer School 2012 - Group 10 - vampire huntersEESTEC LC Trieste
 
EESTEC Summer School 2012 - Group 9 - kuma
EESTEC Summer School 2012 - Group 9 - kumaEESTEC Summer School 2012 - Group 9 - kuma
EESTEC Summer School 2012 - Group 9 - kumaEESTEC LC Trieste
 
EESTEC Summer School 2012 - Group 5 - material
EESTEC Summer School 2012 - Group 5 - materialEESTEC Summer School 2012 - Group 5 - material
EESTEC Summer School 2012 - Group 5 - materialEESTEC LC Trieste
 
EESTEC Summer School 2012 - Group 4 - Naroa
EESTEC Summer School 2012 - Group 4 - NaroaEESTEC Summer School 2012 - Group 4 - Naroa
EESTEC Summer School 2012 - Group 4 - NaroaEESTEC LC Trieste
 
EESTEC Summer School 2012 - Group 3 - itado
EESTEC Summer School 2012 - Group 3 - itadoEESTEC Summer School 2012 - Group 3 - itado
EESTEC Summer School 2012 - Group 3 - itadoEESTEC LC Trieste
 
EESTEC Summer School 2012 - Group 2 - Be+
EESTEC Summer School 2012 - Group 2 - Be+EESTEC Summer School 2012 - Group 2 - Be+
EESTEC Summer School 2012 - Group 2 - Be+EESTEC LC Trieste
 

Mehr von EESTEC LC Trieste (19)

Ankara
AnkaraAnkara
Ankara
 
EESTEC Summer School 2012 - java script & jquery - Matic Jesenovec
EESTEC Summer School 2012 - java script & jquery - Matic JesenovecEESTEC Summer School 2012 - java script & jquery - Matic Jesenovec
EESTEC Summer School 2012 - java script & jquery - Matic Jesenovec
 
EESTEC Summer School 2012 - Windows Phone 7 Applications- Davide Luzzu
EESTEC Summer School 2012 - Windows Phone 7 Applications- Davide LuzzuEESTEC Summer School 2012 - Windows Phone 7 Applications- Davide Luzzu
EESTEC Summer School 2012 - Windows Phone 7 Applications- Davide Luzzu
 
EESTEC Summer School 2012 - Windows Phone 7 design - Davide Luzzu
EESTEC Summer School 2012 - Windows Phone 7 design - Davide LuzzuEESTEC Summer School 2012 - Windows Phone 7 design - Davide Luzzu
EESTEC Summer School 2012 - Windows Phone 7 design - Davide Luzzu
 
EESTEC Summer School 2012 - Entity Framework - Erni Durdevic
EESTEC Summer School 2012 - Entity Framework - Erni DurdevicEESTEC Summer School 2012 - Entity Framework - Erni Durdevic
EESTEC Summer School 2012 - Entity Framework - Erni Durdevic
 
EESTEC Summer School 2012 - Photoshop - Giulia Galvani
EESTEC Summer School 2012 - Photoshop - Giulia GalvaniEESTEC Summer School 2012 - Photoshop - Giulia Galvani
EESTEC Summer School 2012 - Photoshop - Giulia Galvani
 
EESTEC Summer School 2012 - Logo Design - Darija Dašić
EESTEC Summer School 2012 - Logo Design - Darija DašićEESTEC Summer School 2012 - Logo Design - Darija Dašić
EESTEC Summer School 2012 - Logo Design - Darija Dašić
 
EESTEC Summer School 2012 - Vector Design - Darija Dašić
EESTEC Summer School 2012 - Vector Design - Darija DašićEESTEC Summer School 2012 - Vector Design - Darija Dašić
EESTEC Summer School 2012 - Vector Design - Darija Dašić
 
EESTEC Summer School 2012 - Branding Guidelines - Milosh Pivic
EESTEC Summer School 2012 - Branding Guidelines - Milosh PivicEESTEC Summer School 2012 - Branding Guidelines - Milosh Pivic
EESTEC Summer School 2012 - Branding Guidelines - Milosh Pivic
 
EESTEC Summer School 2012 - Group 7 - red cells
EESTEC Summer School 2012 - Group 7 - red cellsEESTEC Summer School 2012 - Group 7 - red cells
EESTEC Summer School 2012 - Group 7 - red cells
 
EESTEC Summer School 2012 - Group 8 - tridentinas
EESTEC Summer School 2012 - Group 8 - tridentinasEESTEC Summer School 2012 - Group 8 - tridentinas
EESTEC Summer School 2012 - Group 8 - tridentinas
 
EESTEC Summer School 2012 - Group 6 - createam
EESTEC Summer School 2012 - Group 6 - createamEESTEC Summer School 2012 - Group 6 - createam
EESTEC Summer School 2012 - Group 6 - createam
 
EESTEC Summer School 2012 - Group 1 - grande
EESTEC Summer School 2012 - Group 1 - grandeEESTEC Summer School 2012 - Group 1 - grande
EESTEC Summer School 2012 - Group 1 - grande
 
EESTEC Summer School 2012 - Group 10 - vampire hunters
EESTEC Summer School 2012 - Group 10 - vampire huntersEESTEC Summer School 2012 - Group 10 - vampire hunters
EESTEC Summer School 2012 - Group 10 - vampire hunters
 
EESTEC Summer School 2012 - Group 9 - kuma
EESTEC Summer School 2012 - Group 9 - kumaEESTEC Summer School 2012 - Group 9 - kuma
EESTEC Summer School 2012 - Group 9 - kuma
 
EESTEC Summer School 2012 - Group 5 - material
EESTEC Summer School 2012 - Group 5 - materialEESTEC Summer School 2012 - Group 5 - material
EESTEC Summer School 2012 - Group 5 - material
 
EESTEC Summer School 2012 - Group 4 - Naroa
EESTEC Summer School 2012 - Group 4 - NaroaEESTEC Summer School 2012 - Group 4 - Naroa
EESTEC Summer School 2012 - Group 4 - Naroa
 
EESTEC Summer School 2012 - Group 3 - itado
EESTEC Summer School 2012 - Group 3 - itadoEESTEC Summer School 2012 - Group 3 - itado
EESTEC Summer School 2012 - Group 3 - itado
 
EESTEC Summer School 2012 - Group 2 - Be+
EESTEC Summer School 2012 - Group 2 - Be+EESTEC Summer School 2012 - Group 2 - Be+
EESTEC Summer School 2012 - Group 2 - Be+
 

Source control & Knockout

  • 1. Client Technology Moretto Carlo – www.morettocarlo.eu ts.eestec.it
  • 2. Client • jQuery • Toastr • Knockout Moretto Carlo – www.morettocarlo.eu ts.eestec.it
  • 3. jQuery Download: http://jquery.com/ jQuery is a fast and concise JavaScript Library that simplifies HTML document traversing, event handling, animating, and Ajax interactions for rapid web development. jQuery is designed to change the way that you write JavaScript. Moretto Carlo – www.morettocarlo.eu ts.eestec.it
  • 4. Toastr: JS notification https://github.com/CodeSeven/toastr Sample: • toastr.warning(‘Warning!') ; • toastr.success('Have fun storming the castle!', 'Miracle'); • toastr.error(‘Please check your data‘); Moretto Carlo – www.morettocarlo.eu ts.eestec.it
  • 5. Knockout http://knockoutjs.com/ Knockout is a Javascript library that allows developers to create rich, responsive display and editor user interfaces with a clean underlying data model. Moretto Carlo – www.morettocarlo.eu ts.eestec.it
  • 6. Features • Declarative bindings • Automatic UI refresh (when the data model's state changes, the UI updates automatically) • Dependency tracking • Templating Moretto Carlo – www.morettocarlo.eu ts.eestec.it
  • 7. MVVM -Model View ViewModel MVVM facilitates a clear separation of the development of the graphical user interface (either as markup language or GUI code) from the development of the business logic or back end logic known as the model. Moretto Carlo – www.morettocarlo.eu ts.eestec.it
  • 8. Example View (HTML) <p>First name: <input data-bind="value: firstName" /></p> <p>Last name: <input data-bind="value: lastName" /></p> <h2>Hello, <span data-bind="text: fullName"> </span>!</h2> View Model (Javascript) function ViewModel() { this.firstName = ko.observable(‘Mario’); this.lastName = ko.observable(‘Rossi’); this.fullName = ko.computed(function() { return this.firstName() + " " + this.lastName(); }, this); } ko.applyBindings(new ViewModel()); Moretto Carlo – www.morettocarlo.eu ts.eestec.it
  • 9. Example • Control Type knockoutjs.com/examples/controlTypes.html • Observable Arrays knockoutjs.com/documentation/observableArrays.html • Cart Editor knockoutjs.com/examples/cartEditor.html Moretto Carlo – www.morettocarlo.eu ts.eestec.it
  • 10. Download and savethe data Download Save $.getJSON("/api/yyy?par=zzz", $.ajax({ function (data) { type: "POST", viewModelJs = data; url: "/api/yyy?param=zzz", viewModel = data: dataJs, addComputed(viewModelJs); success: function (data) { toastr.success(‘:-)'); ko.mapping.fromJS(viewModelJs); }, error: function () { ko.applyBindings(viewModel); toastr.error(‘:-('); }) } }); }); Moretto Carlo – www.morettocarlo.eu ts.eestec.it
  • 11. Usefullinks • https://github.com/CodeSeven/KoLite - asyncCommand, activity, dirtyFlag • http://www.knockmeout.net - knockout tutorial • https://github.com/ericmbarnard/Knockout-Validation - knockout validation Moretto Carlo – www.morettocarlo.eu ts.eestec.it
  • 12. Source Control Moretto Carlo – www.morettocarlo.eu ts.eestec.it
  • 13. Source Control • TFS • SVN • Git • Mercurial Moretto Carlo – www.morettocarlo.eu ts.eestec.it
  • 14. SVN Compatible successor to the widely used Concurrent Versions System (CVS): • Versioning of directories • Atomic commits • Metadata versioning • Abstraction from the network layer Moretto Carlo – www.morettocarlo.eu ts.eestec.it
  • 15. Git + Dramatic increase in operation speed + Cheap branch operations + Full history tree available offline + Distributed, peer-to-peer model - Learning curve for those used to SVN - Not optimal for single developers - Limited Windows support compared to Linux Moretto Carlo – www.morettocarlo.eu ts.eestec.it
  • 16. Mercurial + Easier to learn than Git + Better documentation + Distributed model - No merging of two parents - Extension-based rather than scriptability - Less out of the box power Moretto Carlo – www.morettocarlo.eu ts.eestec.it
  • 17. Useful links • http://biz30.timedoctor.com/git-mecurial-and-cvs- comparison-of-svn-software/ - git vs mercurial vs cvs • http://blogs.atlassian.com/2012/02/mercurial-vs-git- why-mercurial/ - command line git, mercurial • http://betterexplained.com/articles/intro-to-distributed- version-control-illustrated/ - Intro to Distributed Version Control • https://github.com/ - github • http://codeplex.com/ - codeplex • https://bitbucket.org/ - bitbuket • http://code.google.com/intl/it/ - google code Moretto Carlo – www.morettocarlo.eu ts.eestec.it
  • 18. Contacts Email: moretto.carlo@outlook.com Website: www.morettocarlo.eu EESTEC: ts.eestec.it Moretto Carlo – www.morettocarlo.eu ts.eestec.it