Your SlideShare is downloading. ×
Osztályozzunk!
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Osztályozzunk!

492
views

Published on

Budapest.JS előadás, 2013.01.14. …

Budapest.JS előadás, 2013.01.14.
Egy egyszerű osztály létrehozása CoffeeScriptben és TypeScripben (és a JavaScript megfelelőjének összehasonlítása).


0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
492
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Osztályozzunk! (***Script demo)Farkas MátéBudapest.js, 2013. január 14.
  • 2. Eltökélten… „The determined Real Programmer can write FORTRAN programs in any language.” (Ed Post, Real Programmers Dont Use Pascal, 1982)
  • 3. Eltökélten… „The determined Real Programmer can write FORTRAN programs in any language.” (Ed Post, Real Programmers Dont Use Pascal, 1982) Mi eltökélt JavaScript programozók vagyunk!
  • 4. Eltökélten… „The determined Real Programmer can write FORTRAN programs in any language.” (Ed Post, Real Programmers Dont Use Pascal, 1982) Mi eltökélt JavaScript programozók vagyunk?
  • 5. Eltökélten… „The determined Real Programmer can write FORTRAN programs in any language.” (Ed Post, Real Programmers Dont Use Pascal, 1982) Mi eltökélt JavaScript programozók vagyunk? Miről lesz szó?
  • 6. Eltökélten… „The determined Real Programmer can write FORTRAN programs in any language.” (Ed Post, Real Programmers Dont Use Pascal, 1982) Mi eltökélt JavaScript programozók vagyunk? Miről lesz szó? Dart
  • 7. Eltökélten… „The determined Real Programmer can write FORTRAN programs in any language.” (Ed Post, Real Programmers Dont Use Pascal, 1982) Mi eltökélt JavaScript programozók vagyunk? Miről lesz szó? Dart, CoffeeScript, TypeScript
  • 8. Az eszközök bemutatása Néhány szót a demóban használt nyelvekről:
  • 9. Az eszközök bemutatása Néhány szót a demóban használt nyelvekről: CoffeeScript: The golden rule of CoffeeScript is: "Its just JavaScript".
  • 10. Az eszközök bemutatása Néhány szót a demóban használt nyelvekről: CoffeeScript: The golden rule of CoffeeScript is: "Its just JavaScript". TypeScript: TypeScript is a typed superset of JavaScript that compiles to plain JavaScript.
  • 11. Az eszközök bemutatása Néhány szót a demóban használt nyelvekről: CoffeeScript: The golden rule of CoffeeScript is: "Its just JavaScript". TypeScript: TypeScript is a typed superset of JavaScript that compiles to plain JavaScript. TypeScript offers classes, modules, and interfaces to help you build robust components.
  • 12. „Üdvözlő program egység” A feladat: egy üdvözlést végző program egység elkészítése. Első kör: az egységet az üdvözlés szövegével inicializáljuk, majd megadhatjuk, hogy milyen nevet üdvözöljön. Második kör: az előzőt szeretnénk tovább- fejleszteni úgy, hogy előre meg kelljen adni a neveket, amiket adott hívásra üdvözölni fog.
  • 13. DEMO DEMO https://gist.github.com/4537998
  • 14. CoffeeScript vs. TypeScript CoffeeScript TypeScriptclass Greeter class Greeter { constructor: (@greeting) -> constructor(public greeting: string) {} greet: (name) -> greet(name: string) { console.log @greeting + name console.log(this.greeting + name); } }class AllGreeter extends Greeter class AllGreeter extends Greeter { constructor: (greeting, @names) -> constructor(greeting: string, super greeting public names : string[]) { super(greeting) } greetAll: () -> greetAll() { @names.forEach (name) => this.names.forEach((name) => { @greet(name) this.greet(name); }); } }
  • 15. Generated JavaScripts
  • 16. CoffeeScript vs. JavaScript CoffeeScript JavaScriptclass Greeter var AllGreeter, Greeter, constructor: (@greeting) -> __hasProp = {}.hasOwnProperty, __extends = function(child, parent) { for (var key in parent) { if greet: (name) -> (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = console.log @greeting + name new ctor(); child.__super__ = parent.prototype; return child; };class AllGreeter extends Greeter Greeter = (function() { constructor: (greeting, @names) -> function Greeter(greeting) { super greeting this.greeting = greeting; } greetAll: () -> @names.forEach (name) => Greeter.prototype.greet = function(name) { @greet(name) return console.log(this.greeting + name); }; return Greeter; })(); AllGreeter = (function(_super) { __extends(AllGreeter, _super); function AllGreeter(greeting, names) { this.names = names; AllGreeter.__super__.constructor.call(this, greeting); } AllGreeter.prototype.greetAll = function() { var _this = this; return this.names.forEach(function(name) { return _this.greet(name); }); }; return AllGreeter; })(Greeter);
  • 17. Folytatjuk…Farkas MátéBudapest.js, 2013. január 14.
  • 18. LinksAz előadó: • http://farkas-mate.hu/ • http://virtual-call-center.eu/Amikről szó volt: • http://coffeescript.org/ • http://www.typescriptlang.org/