SlideShare uma empresa Scribd logo
1 de 77
00
I really don't want to be a grumpy and bitter developer but #microsoft doesn't
make it easy to stay enthusiastic as a #wpf dev. 03.02.2011
@microsoft is king of FUD strategy. causes fear, uncertainty and doubt to
devs around the world. pity they do it to *their* own devs #wpf 25.08.2011
not a single mention of #wpf in #bldwin keynote - it's as if it doesn't exist. the
XAML thing they talk about is prop closer to #silverlight 12.09.2011
RT @JohnBristowe: Me, attempting to build a Windows 8 app in JavaScript for
the past 30 minutes: http://t.co/TwTrwZic 09.03.2012
@JohnBristowe that's me today as well :(
although all in all JS in Win8 is surprisingly fun :)
09.03.2012
implemented my first 3D transformation
animation in CSS yesterday. astonishingly
simple. 13.05.2012
it constantly surprises me how easy it is to
create fluent animations in HTML/JS in all
sort of scenarios. simply not possible in
WPF. 22.05.2012
Announcement: (Game Dev Tycoon) is the #win8 game I've
been working on the past months. Store review is underway :)
04.07.2012
Announcement: A new NovaMind app is now available on
the Windows Store. #mindmapping http://t.co/aLSPv6bA
27.07.2012
[…] I was extremely surprised how pleasant porting code
from C# was. JS is also surprisingly fast in IE10.
27.07.2012
Couple of months ago I switched from C# to JavaScript.
Surprisingly, I don't miss C# one bit. JavaScript is bloody
amazing. 10.08.2012
Using HTML5/JS on WinRT is the most rewarding and
productive environment I’ve ever worked with
– just now
then
then
Threadpool
Advantages
using Windows.Media.Capture;
…
async void GetPicture()
{
var new CameraCaptureUI
new Size
var await CameraCaptureUIMode
if
var new BitmapImage
await FileAccessMode
JavaScript: Promises handle Async
Object that is a promise for a later value
Hook up to completion with then() or done () method
then(completion, error, progress)
then() returns another promise
Implementation in base.js: WinJS.Promise
Common.js promises/A spec
http://wiki.commonjs.org/wiki/Promises/A
DllImport "avicap32.dll" "capCreateCaptureWindow"
static extern int
string int
int int int int
int int
DllImport "avicap32.dll"
static extern bool
int
MarshalAs UnmanagedType ref string
int
MarshalAs UnmanagedType ref string
int
// more and more of the same
using Windows.Media.Capture;
var new CameraCaptureUI
new Size
var await CameraCaptureUIMode
if
var new BitmapImage
await FileAccessMode
IReadOnlyDictionary<K,V>IMapView<K,V>
IEnumerable<T>IIterable<T>
IList<T>IVector<T>
IReadOnlyList<T>IVectorView<T>
IDictionary<K,V>IMap<K,V>
Windows 8 System manages app lifetimeWindows 7 User manages app lifetime
App gets 5
seconds to work
after suspend
message
Apps are not
notified before
they are
terminated
Apps are
notified when
they have been
resumed
<!– Step1: declare control -->
<div id=“list” data-win-
control="WinJS.UI.ListView" data-win-options="{
selectionMode: 'none' }"></div>
/* Step 2: Call WinJS.UI.processAll() */
/* Step 3: Use the control */
document.getElementById(‘list’).winControl.addEve
ntListener (‘selectionchanged’, onSelChanged );
Everyday widgets
Presenting data
<!– Step1: declare template -->
<div class="itemtemplate" data-win-control="WinJS.Binding.Template">
<div class="item">
<img class="item-image" src="#" data-win-bind="src: backgroundImage;
alt: title" />
<div class="item-overlay">
<h4 class="item-title" data-win-bind="textContent: shortTitle"></h4>
<div class="item-subtitle" data-win-control="WinJS.UI.Rating" data-win-
options="{disabled: true}" data-win-bind="winControl.userRating: rating"></div>
</div>
</div>
</div>
/* step2: use the Data Template */
ui.setOptions(listView, {
oniteminvoked: this.itemInvoked });
Commanding surfaces
Tech ed au 2012 dev212

Mais conteúdo relacionado

Destaque

Telstra ux presentation 14 dec 2012
Telstra ux presentation 14 dec 2012Telstra ux presentation 14 dec 2012
Telstra ux presentation 14 dec 2012Nick Hodge
 
Nsw public sector architects
Nsw public sector architectsNsw public sector architects
Nsw public sector architectsNick Hodge
 
Digital memories
Digital memoriesDigital memories
Digital memoriesNick Hodge
 
Osdc php preday odata 2011
Osdc php preday odata 2011Osdc php preday odata 2011
Osdc php preday odata 2011Nick Hodge
 
Microsoft and opensource ms ps 2011
Microsoft and opensource ms ps 2011Microsoft and opensource ms ps 2011
Microsoft and opensource ms ps 2011Nick Hodge
 
Azure mobile services
Azure mobile servicesAzure mobile services
Azure mobile servicesNick Hodge
 
Stealth PHP on IIS :-)
Stealth PHP on IIS :-)Stealth PHP on IIS :-)
Stealth PHP on IIS :-)Nick Hodge
 
Presentation to Victorian IABC 28th May 2008
Presentation to Victorian IABC 28th May 2008Presentation to Victorian IABC 28th May 2008
Presentation to Victorian IABC 28th May 2008Nick Hodge
 
Technology and politics digital marketing v5
Technology and politics digital marketing v5Technology and politics digital marketing v5
Technology and politics digital marketing v5Nick Hodge
 
Microsoft gcio nsw 30 apr2008
Microsoft gcio nsw 30 apr2008Microsoft gcio nsw 30 apr2008
Microsoft gcio nsw 30 apr2008Nick Hodge
 
WebDU part deux
WebDU part deuxWebDU part deux
WebDU part deuxNick Hodge
 
Atomic Live! Brisbane March 2008
Atomic Live! Brisbane March 2008Atomic Live! Brisbane March 2008
Atomic Live! Brisbane March 2008Nick Hodge
 
SyPy IronPython
SyPy IronPythonSyPy IronPython
SyPy IronPythonNick Hodge
 
Digital Generation
Digital GenerationDigital Generation
Digital GenerationNick Hodge
 
Future Of Digital Aimia 2009
Future Of Digital Aimia 2009Future Of Digital Aimia 2009
Future Of Digital Aimia 2009Nick Hodge
 

Destaque (16)

Telstra ux presentation 14 dec 2012
Telstra ux presentation 14 dec 2012Telstra ux presentation 14 dec 2012
Telstra ux presentation 14 dec 2012
 
Nsw public sector architects
Nsw public sector architectsNsw public sector architects
Nsw public sector architects
 
Digital memories
Digital memoriesDigital memories
Digital memories
 
Osdc php preday odata 2011
Osdc php preday odata 2011Osdc php preday odata 2011
Osdc php preday odata 2011
 
Microsoft and opensource ms ps 2011
Microsoft and opensource ms ps 2011Microsoft and opensource ms ps 2011
Microsoft and opensource ms ps 2011
 
Azure mobile services
Azure mobile servicesAzure mobile services
Azure mobile services
 
Stealth PHP on IIS :-)
Stealth PHP on IIS :-)Stealth PHP on IIS :-)
Stealth PHP on IIS :-)
 
Prototyping
PrototypingPrototyping
Prototyping
 
Presentation to Victorian IABC 28th May 2008
Presentation to Victorian IABC 28th May 2008Presentation to Victorian IABC 28th May 2008
Presentation to Victorian IABC 28th May 2008
 
Technology and politics digital marketing v5
Technology and politics digital marketing v5Technology and politics digital marketing v5
Technology and politics digital marketing v5
 
Microsoft gcio nsw 30 apr2008
Microsoft gcio nsw 30 apr2008Microsoft gcio nsw 30 apr2008
Microsoft gcio nsw 30 apr2008
 
WebDU part deux
WebDU part deuxWebDU part deux
WebDU part deux
 
Atomic Live! Brisbane March 2008
Atomic Live! Brisbane March 2008Atomic Live! Brisbane March 2008
Atomic Live! Brisbane March 2008
 
SyPy IronPython
SyPy IronPythonSyPy IronPython
SyPy IronPython
 
Digital Generation
Digital GenerationDigital Generation
Digital Generation
 
Future Of Digital Aimia 2009
Future Of Digital Aimia 2009Future Of Digital Aimia 2009
Future Of Digital Aimia 2009
 

Semelhante a Tech ed au 2012 dev212

CSW2017 Weston miller csw17_mitigating_native_remote_code_execution
CSW2017 Weston miller csw17_mitigating_native_remote_code_executionCSW2017 Weston miller csw17_mitigating_native_remote_code_execution
CSW2017 Weston miller csw17_mitigating_native_remote_code_executionCanSecWest
 
30 Tools for Modern .NET Web Development in 60 Minutes (Jonathan Tower)
30 Tools for Modern .NET Web Development in 60 Minutes (Jonathan Tower)30 Tools for Modern .NET Web Development in 60 Minutes (Jonathan Tower)
30 Tools for Modern .NET Web Development in 60 Minutes (Jonathan Tower)ITCamp
 
That’s not your var – JavaScript best practices for C# developers
That’s not your var – JavaScript best practices for C# developersThat’s not your var – JavaScript best practices for C# developers
That’s not your var – JavaScript best practices for C# developersGyörgy Balássy
 
JS digest. Mid-Summer 2017
JS digest. Mid-Summer 2017JS digest. Mid-Summer 2017
JS digest. Mid-Summer 2017ElifTech
 
The Future of Web Attacks - CONFidence 2010
The Future of Web Attacks - CONFidence 2010The Future of Web Attacks - CONFidence 2010
The Future of Web Attacks - CONFidence 2010Mario Heiderich
 
Javascript Apps at Build Artifacts
Javascript Apps at Build ArtifactsJavascript Apps at Build Artifacts
Javascript Apps at Build ArtifactsClay Smith
 
(In)Security Implication in the JS Universe
(In)Security Implication in the JS Universe(In)Security Implication in the JS Universe
(In)Security Implication in the JS UniverseStefano Di Paola
 
Your Future HTML: The Evolution of Site Design with Web Components
Your Future HTML: The Evolution of Site Design with Web ComponentsYour Future HTML: The Evolution of Site Design with Web Components
Your Future HTML: The Evolution of Site Design with Web ComponentsKen Tabor
 
Lessons Learned: Designer/Developer Productivity in Windows Presentation Foun...
Lessons Learned: Designer/Developer Productivity in Windows Presentation Foun...Lessons Learned: Designer/Developer Productivity in Windows Presentation Foun...
Lessons Learned: Designer/Developer Productivity in Windows Presentation Foun...goodfriday
 
Migrating your Web app to Virtual Reality
Migrating your Web app to Virtual RealityMigrating your Web app to Virtual Reality
Migrating your Web app to Virtual RealityDenis Radin
 
Introduction To Silverlight
Introduction To SilverlightIntroduction To Silverlight
Introduction To SilverlightJeff Blankenburg
 
Windows 8 app template feedback
Windows 8 app template feedbackWindows 8 app template feedback
Windows 8 app template feedbackSteren Giannini
 
Develop & Deploy Node.js app on Windows Azure
Develop & Deploy Node.js app on Windows AzureDevelop & Deploy Node.js app on Windows Azure
Develop & Deploy Node.js app on Windows AzureAndri Yadi
 
Modern UI Development With Node.js
Modern UI Development With Node.jsModern UI Development With Node.js
Modern UI Development With Node.jsRyan Anklam
 
Портируем существующее Web-приложение в виртуальную реальность / Денис Радин ...
Портируем существующее Web-приложение в виртуальную реальность / Денис Радин ...Портируем существующее Web-приложение в виртуальную реальность / Денис Радин ...
Портируем существующее Web-приложение в виртуальную реальность / Денис Радин ...Ontico
 
Don't Over-React - just use Vue!
Don't Over-React - just use Vue!Don't Over-React - just use Vue!
Don't Over-React - just use Vue!Raymond Camden
 

Semelhante a Tech ed au 2012 dev212 (20)

CSW2017 Weston miller csw17_mitigating_native_remote_code_execution
CSW2017 Weston miller csw17_mitigating_native_remote_code_executionCSW2017 Weston miller csw17_mitigating_native_remote_code_execution
CSW2017 Weston miller csw17_mitigating_native_remote_code_execution
 
30 Tools for Modern .NET Web Development in 60 Minutes (Jonathan Tower)
30 Tools for Modern .NET Web Development in 60 Minutes (Jonathan Tower)30 Tools for Modern .NET Web Development in 60 Minutes (Jonathan Tower)
30 Tools for Modern .NET Web Development in 60 Minutes (Jonathan Tower)
 
Using C# on Surface
Using C# on SurfaceUsing C# on Surface
Using C# on Surface
 
That’s not your var – JavaScript best practices for C# developers
That’s not your var – JavaScript best practices for C# developersThat’s not your var – JavaScript best practices for C# developers
That’s not your var – JavaScript best practices for C# developers
 
JS digest. Mid-Summer 2017
JS digest. Mid-Summer 2017JS digest. Mid-Summer 2017
JS digest. Mid-Summer 2017
 
3d web
3d web3d web
3d web
 
The Future of Web Attacks - CONFidence 2010
The Future of Web Attacks - CONFidence 2010The Future of Web Attacks - CONFidence 2010
The Future of Web Attacks - CONFidence 2010
 
Javascript Apps at Build Artifacts
Javascript Apps at Build ArtifactsJavascript Apps at Build Artifacts
Javascript Apps at Build Artifacts
 
My charts can beat up your charts
My charts can beat up your chartsMy charts can beat up your charts
My charts can beat up your charts
 
(In)Security Implication in the JS Universe
(In)Security Implication in the JS Universe(In)Security Implication in the JS Universe
(In)Security Implication in the JS Universe
 
Your Future HTML: The Evolution of Site Design with Web Components
Your Future HTML: The Evolution of Site Design with Web ComponentsYour Future HTML: The Evolution of Site Design with Web Components
Your Future HTML: The Evolution of Site Design with Web Components
 
Lessons Learned: Designer/Developer Productivity in Windows Presentation Foun...
Lessons Learned: Designer/Developer Productivity in Windows Presentation Foun...Lessons Learned: Designer/Developer Productivity in Windows Presentation Foun...
Lessons Learned: Designer/Developer Productivity in Windows Presentation Foun...
 
Migrating your Web app to Virtual Reality
Migrating your Web app to Virtual RealityMigrating your Web app to Virtual Reality
Migrating your Web app to Virtual Reality
 
Introduction To Silverlight
Introduction To SilverlightIntroduction To Silverlight
Introduction To Silverlight
 
Windows 8 app template feedback
Windows 8 app template feedbackWindows 8 app template feedback
Windows 8 app template feedback
 
Develop & Deploy Node.js app on Windows Azure
Develop & Deploy Node.js app on Windows AzureDevelop & Deploy Node.js app on Windows Azure
Develop & Deploy Node.js app on Windows Azure
 
Modern UI Development With Node.js
Modern UI Development With Node.jsModern UI Development With Node.js
Modern UI Development With Node.js
 
Портируем существующее Web-приложение в виртуальную реальность / Денис Радин ...
Портируем существующее Web-приложение в виртуальную реальность / Денис Радин ...Портируем существующее Web-приложение в виртуальную реальность / Денис Радин ...
Портируем существующее Web-приложение в виртуальную реальность / Денис Радин ...
 
Don't Over-React - just use Vue!
Don't Over-React - just use Vue!Don't Over-React - just use Vue!
Don't Over-React - just use Vue!
 
Basic silverlight animation
Basic silverlight animationBasic silverlight animation
Basic silverlight animation
 

Mais de Nick Hodge

Reactive programming
Reactive programmingReactive programming
Reactive programmingNick Hodge
 
Virtual #appfest 18th Dec 2012
Virtual #appfest 18th Dec 2012Virtual #appfest 18th Dec 2012
Virtual #appfest 18th Dec 2012Nick Hodge
 
Tech ed au 2012 dev223
Tech ed au 2012 dev223Tech ed au 2012 dev223
Tech ed au 2012 dev223Nick Hodge
 
Programming language crisis
Programming language crisisProgramming language crisis
Programming language crisisNick Hodge
 
Popfly mashups for the masses
Popfly mashups for the massesPopfly mashups for the masses
Popfly mashups for the massesNick Hodge
 
Php iis microsoft
Php iis microsoftPhp iis microsoft
Php iis microsoftNick Hodge
 
Mah tweets oss wp7
Mah tweets oss wp7Mah tweets oss wp7
Mah tweets oss wp7Nick Hodge
 
Introduction to web 2
Introduction to web 2Introduction to web 2
Introduction to web 2Nick Hodge
 
Future of digital aimia 2009
Future of digital aimia 2009Future of digital aimia 2009
Future of digital aimia 2009Nick Hodge
 
Digital providentialism
Digital providentialismDigital providentialism
Digital providentialismNick Hodge
 
Acs south coast nsw openness
Acs south coast nsw opennessAcs south coast nsw openness
Acs south coast nsw opennessNick Hodge
 
This is Not Your Father's Microsoft
This is Not Your Father's MicrosoftThis is Not Your Father's Microsoft
This is Not Your Father's MicrosoftNick Hodge
 

Mais de Nick Hodge (14)

Reactive programming
Reactive programmingReactive programming
Reactive programming
 
Virtual #appfest 18th Dec 2012
Virtual #appfest 18th Dec 2012Virtual #appfest 18th Dec 2012
Virtual #appfest 18th Dec 2012
 
Tech ed au 2012 dev223
Tech ed au 2012 dev223Tech ed au 2012 dev223
Tech ed au 2012 dev223
 
Programming language crisis
Programming language crisisProgramming language crisis
Programming language crisis
 
Popfly mashups for the masses
Popfly mashups for the massesPopfly mashups for the masses
Popfly mashups for the masses
 
Php iis microsoft
Php iis microsoftPhp iis microsoft
Php iis microsoft
 
Mah tweets oss wp7
Mah tweets oss wp7Mah tweets oss wp7
Mah tweets oss wp7
 
Jaoo irony
Jaoo ironyJaoo irony
Jaoo irony
 
Introduction to web 2
Introduction to web 2Introduction to web 2
Introduction to web 2
 
Future of digital aimia 2009
Future of digital aimia 2009Future of digital aimia 2009
Future of digital aimia 2009
 
Digital providentialism
Digital providentialismDigital providentialism
Digital providentialism
 
Deakin
DeakinDeakin
Deakin
 
Acs south coast nsw openness
Acs south coast nsw opennessAcs south coast nsw openness
Acs south coast nsw openness
 
This is Not Your Father's Microsoft
This is Not Your Father's MicrosoftThis is Not Your Father's Microsoft
This is Not Your Father's Microsoft
 

Último

Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 

Último (20)

Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 

Tech ed au 2012 dev212

  • 1. 00
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20. I really don't want to be a grumpy and bitter developer but #microsoft doesn't make it easy to stay enthusiastic as a #wpf dev. 03.02.2011 @microsoft is king of FUD strategy. causes fear, uncertainty and doubt to devs around the world. pity they do it to *their* own devs #wpf 25.08.2011
  • 21. not a single mention of #wpf in #bldwin keynote - it's as if it doesn't exist. the XAML thing they talk about is prop closer to #silverlight 12.09.2011
  • 22.
  • 23.
  • 24.
  • 25. RT @JohnBristowe: Me, attempting to build a Windows 8 app in JavaScript for the past 30 minutes: http://t.co/TwTrwZic 09.03.2012 @JohnBristowe that's me today as well :( although all in all JS in Win8 is surprisingly fun :) 09.03.2012
  • 26. implemented my first 3D transformation animation in CSS yesterday. astonishingly simple. 13.05.2012 it constantly surprises me how easy it is to create fluent animations in HTML/JS in all sort of scenarios. simply not possible in WPF. 22.05.2012
  • 27. Announcement: (Game Dev Tycoon) is the #win8 game I've been working on the past months. Store review is underway :) 04.07.2012
  • 28.
  • 29. Announcement: A new NovaMind app is now available on the Windows Store. #mindmapping http://t.co/aLSPv6bA 27.07.2012 […] I was extremely surprised how pleasant porting code from C# was. JS is also surprisingly fast in IE10. 27.07.2012
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39. Couple of months ago I switched from C# to JavaScript. Surprisingly, I don't miss C# one bit. JavaScript is bloody amazing. 10.08.2012 Using HTML5/JS on WinRT is the most rewarding and productive environment I’ve ever worked with – just now
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 46.
  • 47. using Windows.Media.Capture; … async void GetPicture() { var new CameraCaptureUI new Size var await CameraCaptureUIMode if var new BitmapImage await FileAccessMode
  • 48.
  • 49. JavaScript: Promises handle Async Object that is a promise for a later value Hook up to completion with then() or done () method then(completion, error, progress) then() returns another promise Implementation in base.js: WinJS.Promise Common.js promises/A spec http://wiki.commonjs.org/wiki/Promises/A
  • 50.
  • 51.
  • 52.
  • 53.
  • 54. DllImport "avicap32.dll" "capCreateCaptureWindow" static extern int string int int int int int int int DllImport "avicap32.dll" static extern bool int MarshalAs UnmanagedType ref string int MarshalAs UnmanagedType ref string int // more and more of the same
  • 55. using Windows.Media.Capture; var new CameraCaptureUI new Size var await CameraCaptureUIMode if var new BitmapImage await FileAccessMode
  • 56.
  • 57.
  • 58.
  • 60.
  • 61.
  • 62.
  • 63.
  • 64.
  • 65. Windows 8 System manages app lifetimeWindows 7 User manages app lifetime
  • 66. App gets 5 seconds to work after suspend message Apps are not notified before they are terminated Apps are notified when they have been resumed
  • 67.
  • 68.
  • 69.
  • 70.
  • 71.
  • 72. <!– Step1: declare control --> <div id=“list” data-win- control="WinJS.UI.ListView" data-win-options="{ selectionMode: 'none' }"></div> /* Step 2: Call WinJS.UI.processAll() */ /* Step 3: Use the control */ document.getElementById(‘list’).winControl.addEve ntListener (‘selectionchanged’, onSelChanged );
  • 75. <!– Step1: declare template --> <div class="itemtemplate" data-win-control="WinJS.Binding.Template"> <div class="item"> <img class="item-image" src="#" data-win-bind="src: backgroundImage; alt: title" /> <div class="item-overlay"> <h4 class="item-title" data-win-bind="textContent: shortTitle"></h4> <div class="item-subtitle" data-win-control="WinJS.UI.Rating" data-win- options="{disabled: true}" data-win-bind="winControl.userRating: rating"></div> </div> </div> </div> /* step2: use the Data Template */ ui.setOptions(listView, { oniteminvoked: this.itemInvoked });

Notas do Editor

  1. First part of many parts talking about Windows 8 development here at TechEd
  2. Changing World User interaction methods Piaget’s Theory of Cognitive Development; Sensorimotor stage (birth to 2 yrs) 8-12 months coordination of hand/eye with schemes and intentionality. Logic, means & ends. “First proper intelligence” Jean Piaget, Swiss developmental psychologist.
  3. The internet
  4. In visual studio
  5. “Sort of like BCL for Javascript” app development on Windows 8
  6. Implemented by jQuery, dojo, node.js, etc. Then returns another promise so you can chain them… C++ has a similar mechanism through the PPL
  7. What are the APIs that we’ve got available to us? ALL OF THEM
  8. We talked about projections already. What we didn’t talk about is the idea that we can author new components in C# and C++. These are new WinRT components and we can then consume them in JavaScript/C#/C++ - produces WinMD files that can be consumed anywhere.
  9. WinRT is based on COM, interfaces, so doesn’t feel natural in OO lang. Projections take care of this so it feels natural.
  10. let’s switch gears and talk about where and how these applications run.
  11. we’ve already talked about how apps come from a store.
  12. The app package (Appx) is abb OPC file ( a zip) The package It includes anything necessary to deploy or uninstall – It includes capabilities and declartions so we know the impact in the system. In the package you will see JS files etc. If in C++ see .dll files and what you would expect. Blockmap is a series of hashes for each block in your package. Combination of signature + blockmap verifies the package.. It can be validated as it comes off-the wire… we don’t have to download the whole thing..
  13. and when your app is running, it’s not necessarily making direct API calls to the OS. a lot of APIs are “brokered” and that “broker” decides what to do based on a manifest that’s part of your app. There are APIs that we can’t just allow to “happen” without the user’s consent and so your application needs to say what it’s going to try and do and the user needs to be in control of that.
  14. The app has to declare what the app wants to do ( capabilities ) which can still be turned down by the user and it also has to declare what it can do on behalf of the operating system or other apps ( i.e. declarations ).
  15. this is a huge change and one that developers need to get from day 1. the OS is in control of when your app runs. it will definitely suspend it. it may also kill it. you need to code for this from the first line of code that you write.
  16. the basics of it.
  17. BACKGROUND TASKS Register for events Register for time-based; Table 1 – Background task trigger events Trigger event When the background task is triggered ControlChannelTrigger On incoming messages on the control channel. InternetAvailable The Internet becomes available. InternetNotAvailable The Internet becomes unavailable. LockScreenApplicationAdded An app tile is added to the lock screen. LockScreenApplicationRemoved An app tile is removed from the lock screen. MaintenanceTrigger It’s time for maintenance background tasks. NetworkNotificationChannelReset A network channel is reset. NetworkStateChange A network change such as a change in cost or connectivity occurs. OnlineIdConnectedStateChange Online ID associated with the account changes. PushNotificationTrigger A raw notification arrives on the WNS channel. ServicingComplete The system has finished updating an application. SessionConnected The session is connected. SessionDisconnected The session is disconnected. SessionStart The user session starts. SmsReceived A new SMS message is received by an installed mobile broadband device. TimeTrigger A time event occurs. TimeZoneChange The time zone changes on the device (for example, when the system adjusts the clock for daylight saving time). UserAway The user becomes absent. UserPresent The user becomes present.
  18. Apps need to store things and especially if they are going to work well online/offline. The app can store its own data like settings, files, session, cache etc and we give it isolated space on the disk to do that. App has 3 folders – local, temp and roaming. Local is for most things. Temp is for stuff you don’t mind losing. However, the user’s data is owned by them and the app has to first ask for the capability to interact with these libraries or take files from the user via the file picker. An app can’t simply open up the user’s photos and start sending them over the internet.
  19. App has that 3rd folder called roaming. Subject to size and timing, this data is then roamed to other PCs where the user uses the same Microsoft Account (unless the user chooses not to do this). We saw the settings for this in the demo earlier on.
  20. App has that 3rd folder called roaming. Subject to size and timing, this data is then roamed to other PCs where the user uses the same Microsoft Account (unless the user chooses not to do this). We saw the settings for this in the demo earlier on.