The world of JavaScript client-side frameworks is overflowing with contenders vying for the crown, but which one do you choose for your next project? Which one has what it takes?
In this talk we’ll look at the “Big 3”, AngularJS, Ember.js, and Backbone.js. We’ll compare them head to head, toe to toe. We’ll look at the pros and cons of each one. How do they handle form bindings? Talking to APIs? Code organization? Routing? Etc?
Who’ll come out victorious in this battle of the JavaScript frameworks, or will we all just come out bloodied and bruised on the other side? Guess we’ll find out!
The world of JavaScript client-side frameworks is overflowing with contenders vying for the crown, but which one do you choose for your next project? Which one has what it takes?
In this talk we’ll look at the “Big 3”, AngularJS, Ember.js, and Backbone.js. We’ll compare them head to head, toe to toe. We’ll look at the pros and cons of each one. How do they handle form bindings? Talking to APIs? Code organization? Routing? Etc?
Who’ll come out victorious in this battle of the JavaScript frameworks, or will we all just come out bloodied and bruised on the other side? Guess we’ll find out!
An introduction into Backbone.js – a lightweight MVC framework. Backbone supplies structure to JavaScript-heavy applications by providing models with key-value binding and custom events, collections with a rich API of enumerable functions, views with declarative event handling, and connects it all to your existing application over a RESTful JSON interface.
Beautiful Maintainable ModularJavascript Codebase with RequireJS - HelsinkiJ...Mikko Ohtamaa
This presentation is a RequireJS tutorial and targeted for front-end developers who need to maintain Javascript codebases larger than ~5 files. By using RequireJS for client-side Javascript modules, module dependency and minification one can have a project which is easier to maintain and you struggle less with everyday Javascript development tasks like debugging and deployment. The slides and tutorial were originally presented in HelsinkiJS June 2012 meet-up.
Mobilism 2013: A story of how we built Responsive BBC NewsJohn Cleveley
Scale and adapt: A story of how we built Responsive BBC News
Life used to be easy. We created sites to work on a few browsers and when we had time we asked the new guy to build a half baked mobile version. Then the device explosion ruined our cozy happy dev life.
My talk will discuss how BBC News met this challenge at scale.
How we support as many devices as possible using responsive design
Why performance is key to our success and how we managed to keep the site lean
How we scale to serve BBC News to the masses
What tools we use to help us along the way
John Cleveley
John is Tech Lead at BBC News and currently migrating the News site to a dynamic platform. Concentrating on building features mobile first using responsive web design all the way up to desktop.
BBC News has a truly global audience, delivering some of the only unbiased journalism available in some parts of the world. This has reinforced his passion for device support and producing sites that absolutely fly.
Loves canoeing, ale and Radiohead - preferably all at the same time :) Find me here @jcleveley.
HTTP colon slash slash: end of the road? @ CakeFest 2013 in San FranciscoAlessandro Nadalin
The HTTP protocol has been there for more than 20 years, almost untouched, but the current needs of the web are pushing towards adding some spices into the mix.
In this talk we will have a brief look at the history of HTTP, what SPDY - the "new" protocol proposed by google - brings into the table and how HTTP/2.0 will look like.
It is all about a huge knowledge chasm created by a few years out of practical programming and especially without experiencing web programming. This speech is about many of us that have knowledge of programming other technologies and have to face a new challenge, in this case: developing a web application.
An introduction into Backbone.js – a lightweight MVC framework. Backbone supplies structure to JavaScript-heavy applications by providing models with key-value binding and custom events, collections with a rich API of enumerable functions, views with declarative event handling, and connects it all to your existing application over a RESTful JSON interface.
Beautiful Maintainable ModularJavascript Codebase with RequireJS - HelsinkiJ...Mikko Ohtamaa
This presentation is a RequireJS tutorial and targeted for front-end developers who need to maintain Javascript codebases larger than ~5 files. By using RequireJS for client-side Javascript modules, module dependency and minification one can have a project which is easier to maintain and you struggle less with everyday Javascript development tasks like debugging and deployment. The slides and tutorial were originally presented in HelsinkiJS June 2012 meet-up.
Mobilism 2013: A story of how we built Responsive BBC NewsJohn Cleveley
Scale and adapt: A story of how we built Responsive BBC News
Life used to be easy. We created sites to work on a few browsers and when we had time we asked the new guy to build a half baked mobile version. Then the device explosion ruined our cozy happy dev life.
My talk will discuss how BBC News met this challenge at scale.
How we support as many devices as possible using responsive design
Why performance is key to our success and how we managed to keep the site lean
How we scale to serve BBC News to the masses
What tools we use to help us along the way
John Cleveley
John is Tech Lead at BBC News and currently migrating the News site to a dynamic platform. Concentrating on building features mobile first using responsive web design all the way up to desktop.
BBC News has a truly global audience, delivering some of the only unbiased journalism available in some parts of the world. This has reinforced his passion for device support and producing sites that absolutely fly.
Loves canoeing, ale and Radiohead - preferably all at the same time :) Find me here @jcleveley.
HTTP colon slash slash: end of the road? @ CakeFest 2013 in San FranciscoAlessandro Nadalin
The HTTP protocol has been there for more than 20 years, almost untouched, but the current needs of the web are pushing towards adding some spices into the mix.
In this talk we will have a brief look at the history of HTTP, what SPDY - the "new" protocol proposed by google - brings into the table and how HTTP/2.0 will look like.
It is all about a huge knowledge chasm created by a few years out of practical programming and especially without experiencing web programming. This speech is about many of us that have knowledge of programming other technologies and have to face a new challenge, in this case: developing a web application.
Front End Development for Back End Java Developers - Jfokus 2020Matt Raible
Are you a backend Java developer that's being pushed into front-end development? Are you frustrated with all the JavaScript frameworks and build tools you have to learn to be a good UI developer? If so, this session is for you! We'll explore the landscape of UI development, including web standards, frameworks, and what’s on the horizon (e.g., micro frontends).
JavaScript is the most widely used language cross platforms. This talk will analyze the security concerns from past to present with a peek to the future of this important language. This talk was presented as Keynote at CyberCamp Espana 2014.
Presented at SCREENS 2013 in Toronto with Nick Van Weerdenburg
Save 10% off ANY FITC event with discount code 'slideshare'
See our upcoming events at www.fitc.ca
AngularJS is a hot, hot, hot topic. Building web and mobile apps in AngularJS is an ease but there is a learning curve. In this session, you’ll learn the ins and outs of AngularJS and leave the session knowing how to build killer AngularJS apps.
Fast Slim Correct: The History and Evolution of JavaScript.John Dalziel
A look back at how JavaScript has evolved over the past 18 years - how it broke out of the browser and can now be found in the most unexpected places. Presented at Worthing Digital, 7th Nov 2013.
Front End Development for Back End Developers - UberConf 2017Matt Raible
Are you a backend developer that’s being pushed into front end development? Are you frustrated with all JavaScript frameworks and build tools you have to learn to be a good UI developer? If so, this session is for you! We’ll explore the tools of the trade for frontend development (npm, yarn, Gulp, Webpack, Yeoman) and learn the basics of HTML, CSS, and JavaScript.
This presentation dives into the intricacies of Bootstrap, Material Design, ES6, and TypeScript. Finally, after getting you up to speed with all this new tech, I'll show how it can all be found and integrated through the fine and dandy JHipster project.
Magnolia & Angular JS - an Approach for Javascript RIAs Delivered by a CMSMagnolia
When the technology stack of a content and logic driven web application gets defined, there is often the question if it should be build on an open source content management system like Magnolia or if it should be a standalone app which might include several pages from a CMS. Agido's Moritz Rebbert will show an approach where the web application is based on and delivered by the CMS but it's logic is completely separated within REST based services and AngularJS based client side code.
Removing Uninteresting Bytes in Software FuzzingAftab Hussain
Imagine a world where software fuzzing, the process of mutating bytes in test seeds to uncover hidden and erroneous program behaviors, becomes faster and more effective. A lot depends on the initial seeds, which can significantly dictate the trajectory of a fuzzing campaign, particularly in terms of how long it takes to uncover interesting behaviour in your code. We introduce DIAR, a technique designed to speedup fuzzing campaigns by pinpointing and eliminating those uninteresting bytes in the seeds. Picture this: instead of wasting valuable resources on meaningless mutations in large, bloated seeds, DIAR removes the unnecessary bytes, streamlining the entire process.
In this work, we equipped AFL, a popular fuzzer, with DIAR and examined two critical Linux libraries -- Libxml's xmllint, a tool for parsing xml documents, and Binutil's readelf, an essential debugging and security analysis command-line tool used to display detailed information about ELF (Executable and Linkable Format). Our preliminary results show that AFL+DIAR does not only discover new paths more quickly but also achieves higher coverage overall. This work thus showcases how starting with lean and optimized seeds can lead to faster, more comprehensive fuzzing campaigns -- and DIAR helps you find such seeds.
- These are slides of the talk given at IEEE International Conference on Software Testing Verification and Validation Workshop, ICSTW 2022.
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...SOFTTECHHUB
The choice of an operating system plays a pivotal role in shaping our computing experience. For decades, Microsoft's Windows has dominated the market, offering a familiar and widely adopted platform for personal and professional use. However, as technological advancements continue to push the boundaries of innovation, alternative operating systems have emerged, challenging the status quo and offering users a fresh perspective on computing.
One such alternative that has garnered significant attention and acclaim is Nitrux Linux 3.5.0, a sleek, powerful, and user-friendly Linux distribution that promises to redefine the way we interact with our devices. With its focus on performance, security, and customization, Nitrux Linux presents a compelling case for those seeking to break free from the constraints of proprietary software and embrace the freedom and flexibility of open-source computing.
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfPeter Spielvogel
Building better applications for business users with SAP Fiori.
• What is SAP Fiori and why it matters to you
• How a better user experience drives measurable business benefits
• How to get started with SAP Fiori today
• How SAP Fiori elements accelerates application development
• How SAP Build Code includes SAP Fiori tools and other generative artificial intelligence capabilities
• How SAP Fiori paves the way for using AI in SAP apps
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
💥 Speed, accuracy, and scaling – discover the superpowers of GenAI in action with UiPath Document Understanding and Communications Mining™:
See how to accelerate model training and optimize model performance with active learning
Learn about the latest enhancements to out-of-the-box document processing – with little to no training required
Get an exclusive demo of the new family of UiPath LLMs – GenAI models specialized for processing different types of documents and messages
This is a hands-on session specifically designed for automation developers and AI enthusiasts seeking to enhance their knowledge in leveraging the latest intelligent document processing capabilities offered by UiPath.
Speakers:
👨🏫 Andras Palfi, Senior Product Manager, UiPath
👩🏫 Lenka Dulovicova, Product Program Manager, UiPath
In his public lecture, Christian Timmerer provides insights into the fascinating history of video streaming, starting from its humble beginnings before YouTube to the groundbreaking technologies that now dominate platforms like Netflix and ORF ON. Timmerer also presents provocative contributions of his own that have significantly influenced the industry. He concludes by looking at future challenges and invites the audience to join in a discussion.
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
2. AGENDA
‣ History, Problems and Solutions
‣ Brief Overview of Backbone Components
‣ Building Backbone App From Scratch
‣ Backbone Starter Kit
‣ Subviews
‣ AMD
2
Saturday, February 2, 13
3. INTRODUCTION
‣ Over 12 years in software development
‣ Author of RapidPrototypingWithJS.com
‣ 500 Startups grad (Gizmo)
AZAT MARDANOV
ENGINEER, STORIFY
3
@azat_co
azat.co
Saturday, February 2, 13
5. HISTORY, PROBLEMS AND SOLUTIONS
HISTORY
1. Before: Pure HTML from the server, client just a painting instructions
2. Some client code to style (DHTML, AJAX), 90% of server
3. Spaghetti code (~4yr ago), no structure in who calls who
4. Now: 10-60% of interaction on client: data transferred in DOM,
a.k.a lossy transformation, trying to use DOM as a database — sucks
5. Future: client will own entire complexity of application (?)
5
Saturday, February 2, 13
6. HISTORY, PROBLEMS AND SOLUTIONS
PROBLEMS IN FRONT-END
DEVELOPMENT
‣ Client has more responsibility but not all (bugs)
‣ Complexity grows polynomial, features *2, must keep in mind all
features before,
‣ Leads to re-writes, throwing away all code
‣ Accumulation of technical debt, more resource (developers)
6
DANGER
ZONE!
Saturday, February 2, 13
7. HISTORY, PROBLEMS AND SOLUTIONS
SOLUTIONS
‣ Better architecture (MVC)
‣ Best practices
‣ More developers (not scalable)
7
RIGHT
CHOICE
Saturday, February 2, 13
8. HISTORY, PROBLEMS AND SOLUTIONS
WHY USE MVC FOR FRONT-END
DEVELOPMENT?
“Code is not an asset, it’s a liability” - Unknown source
8
Saturday, February 2, 13
9. HISTORY, PROBLEMS AND SOLUTIONS
MODEL VIEW CONTROLLER
‣ Better code organization leads to faster/cheaper maintenance
‣ Reusability
‣ Separation of components/concerns
9
Saturday, February 2, 13
10. HISTORY, PROBLEMS AND SOLUTIONS
MODEL VIEW CONTROLLER
‣ Model: data and information
‣ View: visual representation
‣ Controller: interaction between a user and the system
10
Saturday, February 2, 13
11. WHAT IS BACKBONE.JS?
WHY USE MVC FOR FRONT-END
DEVELOPMENT?
‣ Desktop-like applications in a browser (think GMail)
‣ Thick client and mobile apps
‣ Lots of interactions via HTTP Request (ex-AJAX)
‣ Updating DOM and dealing with callbacks quickly becomes PITA
11
Saturday, February 2, 13
12. HISTORY, PROBLEMS AND SOLUTIONS
ADVANTAGES OF BACKBONE.JS
‣ Simple: (View, Models, Collections, Router)
‣ Uses Underscore, jQuery/Zepto
‣ Customizable, works well with mobile apps
12
Saturday, February 2, 13
13. HISTORY, PROBLEMS AND SOLUTIONS
OTHER MVC FRAMEWORKS
‣ Ember.js: live-templates (Handebars), scaffolding, more desktop-like
apps
‣ Knockout.js: lightweight
http://todomvc.com/ — Todo app in various frameworks
13
GOOD
TO
KNOW
Saturday, February 2, 13
14. BACKBONE.JS COMPONENTS
MAIN COMPONENTS
‣ Router: Controller in MVC concept
‣ Templates and Views: View (and Controller) in MVC concept
‣ Collections and Models: Model in MVC concept
14
Saturday, February 2, 13
15. BACKBONE.JS COMPONENTS
BEST PRACTICE
‣ Router: defines routes a.k.a nice URLs (/stories/:id/element/:id), calls
views/collections
‣ Views: accept data, bind events, compile and render HTML
‣ Templates: HTML templates with JS instructions (Underscore)
‣ Collections: fetch, parse data via REST API, represent sets of Models
‣ Models: manipulate attributes, fetch and parse data via REST API
15
Saturday, February 2, 13
16. BACKBONE.JS COMPONENTS
FLEXIBILITY
‣ Router: not required
‣ Templates: can be just variables inside of Views or separate file (AMD)
‣ View can use Models directly
16
Saturday, February 2, 13
17. BACKBONE.JS COMPONENTS
STANDARD TRANSACTIONS
MADE EASIER WITH A
FRAMEWORK
‣ fetchAll: collection.fetchAll() instead of $.ajax(...) via REST API
‣ save(): model.save() instead of $.ajax(...) via REST API
‣ Updates Views based on data changes
17
Saturday, February 2, 13
22. EVENT BINDING
BAD PRACTICE
Have lots of ajax calls with callback inside of them:
$.ajax (...
//fetch data
success: function(...
//update view
))
22
DANGER
ZONE!
Saturday, February 2, 13
23. EVENT BINDING
GOOD PRACTICE
In a view listen to Backbone collection.on(‘change’) event:
collection.fetch() triggers ‘change’ event
23
RIGHT
CHOICE
Saturday, February 2, 13
24. EVENT BINDING
FURTHER READING
Awesome guide on on going from jQuery to Backbone.js:
https://github.com/kjbekkelund/writings/blob/master/published/
understanding-backbone.md/
or
http://bit.ly/NGqFeK
24
GOOD
TO
KNOW
Saturday, February 2, 13
25. KEY OBJECTIVE(S) AGENDA
RESOURCESDELIVERABLE
EXERCISE 2 - “EVENT BINDING”
Extend SSBSK to use subviews 15m 1. Download SSBSK
2. Create subview
3. Populate subview with models
4. Render subview
5. Run HTML file
Insert deliverable/outcome http://github.com/azat-co/ga-backbone/
25
Saturday, February 2, 13
27. REQUIRE.JS AND AMD
ASYNCHRONOUS MODULE
DEFINITION
Require.js allows for asynchronous loading of JS and other files (HTML):
define(["alpha"], function (alpha) {
return {
verb: function(){
return alpha.verb() + 2;
}
};
});
27
GOOD
TO
KNOW
Saturday, February 2, 13
28. BACKBONE.JS STARTER KIT 28
SUPER SIMPLE BACKBONE
STARTER KIT
Backbone + Twitter Bootstarp + Require.js (AMD) Boilerplate:
https://github.com/azat-co/super-simple-backbone-starter-kit
GOOD
TO
KNOW
Saturday, February 2, 13
29. KEY OBJECTIVE(S) AGENDA
RESOURCESDELIVERABLE
EXERCISE 3 - SSBSK
Extend SSBSK to use subviews 15m 1. Download SSBSK
2. Create subview
3. Populate subview with models
4. Render subview
5. Run HTML file
Insert deliverable/outcome http://github.com/azat-co/ga-backbone/
29
Saturday, February 2, 13
30. BOILERPLATE
FURTHER READING
Backbone Boilerplate Buddy:
https://github.com/backbone-boilerplate/grunt-bbb
Backbone.js Applications:
http://addyosmani.github.com/backbone-fundamentals/
30
GOOD
TO
KNOW
Saturday, February 2, 13