sofia, bulgaria | 9-10 october large-scale client script development in asp.net "atlas“...
TRANSCRIPT
![Page 1: Sofia, Bulgaria | 9-10 October Large-Scale Client Script Development in ASP.NET "Atlas“ Tools, Tips, And Techniques Hristo Deshev telerik Hristo Deshev](https://reader035.vdocuments.us/reader035/viewer/2022072011/56649e355503460f94b245cd/html5/thumbnails/1.jpg)
Sofia, Bulgaria | 9-10 OctoberSofia, Bulgaria | 9-10 October
Large-Scale Client Script Development in ASP.NET "Atlas“
Large-Scale Client Script Development in ASP.NET "Atlas“
Tools, Tips, And TechniquesTools, Tips, And Techniques
Hristo Deshev
telerik
Hristo Deshev
telerik
![Page 2: Sofia, Bulgaria | 9-10 October Large-Scale Client Script Development in ASP.NET "Atlas“ Tools, Tips, And Techniques Hristo Deshev telerik Hristo Deshev](https://reader035.vdocuments.us/reader035/viewer/2022072011/56649e355503460f94b245cd/html5/thumbnails/2.jpg)
Sofia, Bulgaria | 9-10 October
Our GoalOur Goal
● Increase predictability in script development by:
● Reduce code complexity by increasing modularity.
● Explore the standard means of component interoperability Atlas offers.
● Use automated testing to improve code quality and ensure cross-browser support.
● Increase predictability in script development by:
● Reduce code complexity by increasing modularity.
● Explore the standard means of component interoperability Atlas offers.
● Use automated testing to improve code quality and ensure cross-browser support.
![Page 3: Sofia, Bulgaria | 9-10 October Large-Scale Client Script Development in ASP.NET "Atlas“ Tools, Tips, And Techniques Hristo Deshev telerik Hristo Deshev](https://reader035.vdocuments.us/reader035/viewer/2022072011/56649e355503460f94b245cd/html5/thumbnails/3.jpg)
Sofia, Bulgaria | 9-10 October
Where we are nowWhere we are now● The problems with JavaScript development
● No standard way to define reusable pieces of code.
● No definitive resource for developers that just start using the language. A lot of outdated tutorials and code out there.
● Lack of tools available to the masses.
● We have a lot of scattered gems on the web and many monstrosities that have to be killed.
● The problems with JavaScript development
● No standard way to define reusable pieces of code.
● No definitive resource for developers that just start using the language. A lot of outdated tutorials and code out there.
● Lack of tools available to the masses.
● We have a lot of scattered gems on the web and many monstrosities that have to be killed.
![Page 4: Sofia, Bulgaria | 9-10 October Large-Scale Client Script Development in ASP.NET "Atlas“ Tools, Tips, And Techniques Hristo Deshev telerik Hristo Deshev](https://reader035.vdocuments.us/reader035/viewer/2022072011/56649e355503460f94b245cd/html5/thumbnails/4.jpg)
Sofia, Bulgaria | 9-10 October
What we wantWhat we want● The most important thing: a standard
for creating reusable components that play nice together.
● A base class library that will be available everywhere e.g. XMLHttpRequest services.
● A set of tools that abstract the most common browser peculiarities: attachEvent/addEventListener
● Development tools: IDE’s, test frameworks, profilers, etc.
● The most important thing: a standard for creating reusable components that play nice together.
● A base class library that will be available everywhere e.g. XMLHttpRequest services.
● A set of tools that abstract the most common browser peculiarities: attachEvent/addEventListener
● Development tools: IDE’s, test frameworks, profilers, etc.
![Page 5: Sofia, Bulgaria | 9-10 October Large-Scale Client Script Development in ASP.NET "Atlas“ Tools, Tips, And Techniques Hristo Deshev telerik Hristo Deshev](https://reader035.vdocuments.us/reader035/viewer/2022072011/56649e355503460f94b245cd/html5/thumbnails/5.jpg)
Sofia, Bulgaria | 9-10 October
Atlas, a step forwardAtlas, a step forward
● Base services: extending JavaScript with classes, properties, events, namespaces.
● A rich base class library: networking, UI, etc.
● A server-side model that for registering and using script components.
● Server-side controls with rich client-side behavior.
● Base services: extending JavaScript with classes, properties, events, namespaces.
● A rich base class library: networking, UI, etc.
● A server-side model that for registering and using script components.
● Server-side controls with rich client-side behavior.
![Page 6: Sofia, Bulgaria | 9-10 October Large-Scale Client Script Development in ASP.NET "Atlas“ Tools, Tips, And Techniques Hristo Deshev telerik Hristo Deshev](https://reader035.vdocuments.us/reader035/viewer/2022072011/56649e355503460f94b245cd/html5/thumbnails/6.jpg)
Sofia, Bulgaria | 9-10 October
Additional toolsAdditional tools
● A build system for packaging and releasing script code.
● Fully featured cross-browser debugging and profiling tools: largely nonexistent today.
● Strong testing is our best strategy for any larger script code base.
● A testing framework: jsUnit (www.jsunit.net) is the standard for JavaScript and works for Atlas.
● A build system for packaging and releasing script code.
● Fully featured cross-browser debugging and profiling tools: largely nonexistent today.
● Strong testing is our best strategy for any larger script code base.
● A testing framework: jsUnit (www.jsunit.net) is the standard for JavaScript and works for Atlas.
![Page 7: Sofia, Bulgaria | 9-10 October Large-Scale Client Script Development in ASP.NET "Atlas“ Tools, Tips, And Techniques Hristo Deshev telerik Hristo Deshev](https://reader035.vdocuments.us/reader035/viewer/2022072011/56649e355503460f94b245cd/html5/thumbnails/7.jpg)
Sofia, Bulgaria | 9-10 October
Script componentsScript components
● Class definitions in JavaScript
● Inheritance and interfaces
● Properties and property descriptors
● Events and delegates
● Resource management and IDisposable
● Creating components declaratively.
● Class definitions in JavaScript
● Inheritance and interfaces
● Properties and property descriptors
● Events and delegates
● Resource management and IDisposable
● Creating components declaratively.
![Page 8: Sofia, Bulgaria | 9-10 October Large-Scale Client Script Development in ASP.NET "Atlas“ Tools, Tips, And Techniques Hristo Deshev telerik Hristo Deshev](https://reader035.vdocuments.us/reader035/viewer/2022072011/56649e355503460f94b245cd/html5/thumbnails/8.jpg)
Sofia, Bulgaria | 9-10 OctoberSofia, Bulgaria | 9-10 October
DemonstrationDemonstration
Creating a JavaScript component class
Creating a JavaScript component class
![Page 9: Sofia, Bulgaria | 9-10 October Large-Scale Client Script Development in ASP.NET "Atlas“ Tools, Tips, And Techniques Hristo Deshev telerik Hristo Deshev](https://reader035.vdocuments.us/reader035/viewer/2022072011/56649e355503460f94b245cd/html5/thumbnails/9.jpg)
Sofia, Bulgaria | 9-10 October
Rendering scriptsRendering scripts
● Existing problems with Page.ClientScript.RegisterClientScriptBlock(...)
● Using the Atlas ScriptManager control to register scripts, namespaces and components.
● Existing problems with Page.ClientScript.RegisterClientScriptBlock(...)
● Using the Atlas ScriptManager control to register scripts, namespaces and components.
![Page 10: Sofia, Bulgaria | 9-10 October Large-Scale Client Script Development in ASP.NET "Atlas“ Tools, Tips, And Techniques Hristo Deshev telerik Hristo Deshev](https://reader035.vdocuments.us/reader035/viewer/2022072011/56649e355503460f94b245cd/html5/thumbnails/10.jpg)
Sofia, Bulgaria | 9-10 OctoberSofia, Bulgaria | 9-10 October
DemonstrationDemonstration
Registering scripts with the ScriptManager API.
Registering scripts with the ScriptManager API.
![Page 11: Sofia, Bulgaria | 9-10 October Large-Scale Client Script Development in ASP.NET "Atlas“ Tools, Tips, And Techniques Hristo Deshev telerik Hristo Deshev](https://reader035.vdocuments.us/reader035/viewer/2022072011/56649e355503460f94b245cd/html5/thumbnails/11.jpg)
Sofia, Bulgaria | 9-10 October
Introducing jsUnitIntroducing jsUnit
● Tests are defined in pages instead of classes
● setUp/tearDown for initialization and cleanup
● Defining test suites
● Running tests on different browsers and collecting test results
● Tests are defined in pages instead of classes
● setUp/tearDown for initialization and cleanup
● Defining test suites
● Running tests on different browsers and collecting test results
![Page 12: Sofia, Bulgaria | 9-10 October Large-Scale Client Script Development in ASP.NET "Atlas“ Tools, Tips, And Techniques Hristo Deshev telerik Hristo Deshev](https://reader035.vdocuments.us/reader035/viewer/2022072011/56649e355503460f94b245cd/html5/thumbnails/12.jpg)
Sofia, Bulgaria | 9-10 October
Atlas and jsUnitAtlas and jsUnit
● Two ways to test script code:
● Place a control that will render the script and write tests against the live component instance. The easiest option.
● Register the script class through the ScriptManager control and instantiate components manually. Useful if you want to test the component creation logic.
● Two ways to test script code:
● Place a control that will render the script and write tests against the live component instance. The easiest option.
● Register the script class through the ScriptManager control and instantiate components manually. Useful if you want to test the component creation logic.
![Page 13: Sofia, Bulgaria | 9-10 October Large-Scale Client Script Development in ASP.NET "Atlas“ Tools, Tips, And Techniques Hristo Deshev telerik Hristo Deshev](https://reader035.vdocuments.us/reader035/viewer/2022072011/56649e355503460f94b245cd/html5/thumbnails/13.jpg)
Sofia, Bulgaria | 9-10 OctoberSofia, Bulgaria | 9-10 October
DemonstrationDemonstration
Writing tests and running them under different browsers
Writing tests and running them under different browsers
![Page 14: Sofia, Bulgaria | 9-10 October Large-Scale Client Script Development in ASP.NET "Atlas“ Tools, Tips, And Techniques Hristo Deshev telerik Hristo Deshev](https://reader035.vdocuments.us/reader035/viewer/2022072011/56649e355503460f94b245cd/html5/thumbnails/14.jpg)
Sofia, Bulgaria | 9-10 October
Additional resourcesAdditional resources
● The official Atlas site: http://atlas.asp.net
● The Atlas Control Toolkit: http://atlas.asp.net/atlastoolkit/
● The Atlas forums: http://forums.asp.net/default.aspx?GroupID=34
● My blog:http://blogs.telerik.com/blogs/twisted_asp_net/
● The official Atlas site: http://atlas.asp.net
● The Atlas Control Toolkit: http://atlas.asp.net/atlastoolkit/
● The Atlas forums: http://forums.asp.net/default.aspx?GroupID=34
● My blog:http://blogs.telerik.com/blogs/twisted_asp_net/
![Page 15: Sofia, Bulgaria | 9-10 October Large-Scale Client Script Development in ASP.NET "Atlas“ Tools, Tips, And Techniques Hristo Deshev telerik Hristo Deshev](https://reader035.vdocuments.us/reader035/viewer/2022072011/56649e355503460f94b245cd/html5/thumbnails/15.jpg)
Sofia, Bulgaria | 9-10 October
The endThe end
●Questions?●Questions?
![Page 16: Sofia, Bulgaria | 9-10 October Large-Scale Client Script Development in ASP.NET "Atlas“ Tools, Tips, And Techniques Hristo Deshev telerik Hristo Deshev](https://reader035.vdocuments.us/reader035/viewer/2022072011/56649e355503460f94b245cd/html5/thumbnails/16.jpg)
Sofia, Bulgaria | 9-10 OctoberSofia, Bulgaria | 9-10 October
Please fill out the survey forms!
They are the key to amazing prizes that you can get at the end of each day
Please fill out the survey forms!
They are the key to amazing prizes that you can get at the end of each day
Thank you!Thank you!
![Page 17: Sofia, Bulgaria | 9-10 October Large-Scale Client Script Development in ASP.NET "Atlas“ Tools, Tips, And Techniques Hristo Deshev telerik Hristo Deshev](https://reader035.vdocuments.us/reader035/viewer/2022072011/56649e355503460f94b245cd/html5/thumbnails/17.jpg)
Sofia, Bulgaria | 9-10 OctoberSofia, Bulgaria | 9-10 October