Fejlesztői újdonságok Turóczy Attila Livesoft Kft. MCT, MCP, MCTS.

Slides:



Advertisements
Hasonló előadás
Bevezető Innovációs területek S+S Epilógus. pptPlex Section Divider Bevezető The slides after this divider will be grouped into a section and given the.
Advertisements


Merényi Ádám Microsoft Magyarország
... manapság BizSpark WebsiteSpark Empower for ISVs MAPS (Web Solutions Toolkit ) Microsoft Partner Network Regisztrált szintCertified és Gold Certified.
1. foreach( fejlesztő in Lurdyház ) { fejlesztő.Agy. Delete If( delegate ( Content c ) { return c.ContainsAny( „Win32 / User32.dll”, „GDI”,„GDI+”,„WindowsForms”,
3 5 6 Application Services Deployment Services Databinding USER INTERFACE SERVICES XAML Accessibility Property System Input & Eventing BASE SERVICES.
Windows Server ablakok nélkül
Quest Szakmai Konferencia Ker-Soft Kft szeptember 27.
Tester Developer Architect Project Manager Business Analyst Designer Database Professional.
Nyereményjátékok és a Facebook - aki mer, az nyer!?”
Richter Elek Technikai terméktámogatási felelős Microsoft Magyarország.
© 2008 Cisco Systems, Inc. All rights reserved.Cisco ConfidentialPresentation_ID 1 Üzleti Megoldások a KKV szegmens számára Cisco partner nap 2009 április.
2 3.NET Framework 3.0 Visual Studio Extensions for WF Visual Studio Extensions for WCF/WPF CTP ASP.NET AJAX 1.0 Ajax Toolkit.NET Framework 3.5 Visual.
21 Years of Partnership and Innovation 1989 Citrix Systems founded 2010 Citrix signed licensing agreement with Microsoft for NT Server Introduced Independent.
2 8 Kiadás éve / Platform Server (1000’s of users) Workgroup (Dozens of users) Desktop (Single User) Laptop Tablet PC Windows CE.
Les meilleures photos de L'année 2005 D'après NBC A life for two, full of tenderness, obtains happiness as they get closer to heaven. Az élet kettesben.
Forrás: feb. 15.
Árvai Zoltán Számalk Oktató központ.
Bevezetés a tárgyakhoz Tárgyak  Objects are the containers for values of a specified type  Objects are either signals, variables or constants  Once.
FelültöltésVHDL Felültöltés (Overloading) n Áttekintés n Példák.
Az IBM SPSS Statistics programrendszer Gazdaságinformatikus MsC.
Basics A few things one must know. Slides Insert a title slide Put a title on it.
Image készítés Windows AIK segítségével
A Windows 7 automatizált telepítése Windows AIK használatával
TRANZIENS ADATTÁROLÁS State objektum Egy alkalmazásszintű gyűjtemény (Dictionary), mely Tombstone esetén megőrzi tartalmát a memóriában kulcs/érték párokként.
Az erőátviteli rendszer
Delegátumok C#-ban Krizsán Zoltán iit 1.0.
Course Situation and Event Driven Models for Multilevel Abstraction Based Virtual Engineering Spaces Óbuda University John von Neumann Faculty of Informatics.
SZANYA ZSOLT E LBACOM – A UTHORIZED W INDOWS E MBEDDED D ISTRIBUTOR.
Oracle multimédia Kiss Attila Információs Rendszerek Tanszék
Magyarország pénzügyi megítélése nemzetközi aspektusból László Csaba október 12.
Module 2: A Windows XP Professional automatikus telepítése
VFP xBase adatkezelés - munkaterületek - DML - DDL - navigáció - eljárások, függvények - vezérlési szerkezetek - változók - képernyő IO - mintaprogram.
Multimédiás programok készítése Macromedia Director fejlesztői környezetben 4. előadás Készítette: Kosztyán Zsolt
Service Manager.. Remedy Action Request System OpenView Operations.
„MICROSOFT IT ÜZLETI INTELLIGENCIA MEGOLDÁS BEMUTATÓ” Avagy az IT adat vizualizációs lehetőségi egyéb szervezeti egységek felé („ablak” a nagyvilágra)
Edge Transport Routing and AV/AS Enterprise Network External SMTP servers Phone system (PBX or VOIP) Client Access Client connectivity Web services.
„MICROSOFT SYSTEM CENTER 2012 OPERATIONS MANAGER” Intelligens mérési megoldások gyorsan Benkovics Viktor Vezető tanácsadó Microsoft Magyarország – Services.
Alertet indíthat egy: SQL Server esemény (LOG) SQL Server performancia érték WMI events Alert végezhet: Operátor értesítést JOB indítás (válasz az eseményre)
Kitűnjünk a tömegből Meg tudjuk mutatni, hogy értünk hozzá Jobb munkalehetőségek Magasabb fizetés Nemzetközi szinten is elismert Ismeretek bővítése.
Projektmunka az NI-nál
WAP, WML Felhasznált források: Developer’s Guide v1.2 (Nokia WAP Toolkit) WML Reference v1.1.
Szervező program Pénzügy figyelő, számlázó program Legújabb alkalmazás.NET Framework 2.0 WSE.NET Framework 4.0 WCF Régebbi, jól bevált alkalmazás.
Egy GAZDAG HIBAJELENTÉS elég információt tartalmaz ahhoz, hogy AZONNALI LÉPÉSEKET lehessen tenni, a javítás érdekében.
Hasznos ismeretek Hogyan bővítsük ismereteinket AVRDUDEflags -E noreset.
2 Plug-in nélkül: AJAX 130+ eszközkészlet: megvásárolható, ingyenes és/vagy nyílt/megosztott forrású a webes megoldásszállítók saját, belső megoldásai.
Tanulni, tanulni, tanulni Értékesítői képességek, a személyzet képzése.
Adatokkal a vásárlók és az eladók nyomában (Mindenhol vár egy jófogás) Kovács Márton.
Könyvtár, csomag és alprogramokVHDL Könyvtár, csomag és alprogram n Library és use n Package n Alprogramok –Procedure –Function –Resolution function Egy.
Multilingual websites in Hungary Gabriella Szalóki Egy előadás könnyen vitára ösztönözheti a hallgatóságot. A PowerPoint bemutatók használatával azonban.
Ráfordításbecslés előfeltételei és feltételezései
Interaktív reporting SAP Best Practices for CRM SAP Best Practices.
III. labor AWT, eseménykezelés Applet. Új class: ButtonView import java.awt.*; import java.awt.event.*; import java.util.LinkedList; public class ButtonView.
User interface Szécsi László. Egg projectben DXUTgui.cpp – CDXUTDialogResourceManager::CDXUTDialogReso urceManager() m_SpriteBufferBytes11 = 0; ezt kihagyták,
Domain names and DNS Félegyházi Márk Laboratory of Cryptography and System Security (CrySyS) Budapest University of Technology and Economics Department.
HTTP kommunikáció Androidon HttpClient-en keresztűl HttpPost/HttpGet objektum használatával HttpClient execute metódusának meghívása.
- Group Policy - Group Policy Preferences - Group Policy 4x5 - Optimális munkakörnyezet – az első lépcsőfok.
© 2013, LogMeIn, Inc. | The Capability Cloud TM Git használata Visual Studio-ból.
TALÁLTAM EGY OLDALT AHOL EZEKET A “TOJÁSOKAT” LEHET LÁTNI. NAGY MÛVÉSZNEK KELLET LENNI, HOGY ILYEN SZÉPEN TUDTA FORMÁZNI A TOJÁSOK HÉJÁT, DE SZERINTEM.
SpecificationWebStandardEnterpriseDatacenterItaniumFoundation X64 Sockets44864  1 IA64 Sockets  64  X64 RAM32 GB 2 TB  8 GB IA64 RAM 
Web Application 1 Web Application 3 Web Application 2 Web Application 4 Shared Service Provider 1 Shared Service Provider 2 Excel Services1 Search1.
Design Thinking módszertan Juhász Dániel UI Designer / DT Coach Buday Balázs Product Owner / DT Coach.
Kiss Tibor System Administrator (MCP) ISA Server 2006.
Farkas Bálint | Technical Evangelist | Microsoft.
Farkas Bálint | Technical Evangelist | Microsoft
„Agilis-e vagy?” – egy váltókezelő naplója
HWSW Meetup – Felhő és ami mögötte van
Systems Hardware Business challenge
Nokia C5 Data Sheet Planned Market Introduction • Q Category
TECHNICAL TRAINING December 2012.
Előadás másolata:

Fejlesztői újdonságok Turóczy Attila Livesoft Kft. MCT, MCP, MCTS

Minimalizáld a változtatást! A fókusz legyen újra az alapokon! Fejlesztői produktivitás Legyen minden gyorsan elsajátítható! UXUX Felhasználói élmény mindenek felett!

Few Changes: Most software that runs on Windows Vista will run on Windows 7 - exceptions will be low level code (AV, Firewall, Imaging, etc). Hardware that runs Windows Vista well will run Windows 7 well. Windows 7 Few Changes: Focus on quality and reliability improvements Deep Changes: New models for security, drivers, deployment, and networking

Memory Reference set, Graphics Disk I/O Registry Reads, Indexer Power DVD Playback, Panel, Timers Speed Faster Boot, Device Ready Responsiveness Start menu, Taskbar Scale 256 cores Több Kevesebb

Microsoft Confidential

Aero Shake (Rázd meg, és láss) Aero Peek (Röntgen az asztalon) Snap (Fogd és dobd a sarokba) Taskbar (Minden egyben) Gadgets (Sok pici izé az asztalon)

Microsoft Confidential

Vista Bridge / Windows API Code Pack Win32 API Natív alkalmazások (C++) Kezelt alkalmazások (.NET-nyelvek) 3.5 (SP1)

Vista Bridge / Windows API Code Pack 3.5 (SP1) Win32 API Natív alkalmazások (C++) Kezelt alkalmazások (.NET-nyelvek)

ApplicationRestartRecoveryManager.RegisterForApplicationRestart( new RestartSettings("", RestartRestrictions.NotOnReboot));

ApplicationRestartRecoveryManager.RegisterForApplicationRestart( new RestartSettings("/recover", RestartRestrictions.NotOnReboot)); RecoveryData data = new RecoveryData(new RecoveryCallback(RecoveryProcedure), null); RecoverySettings settings = new RecoverySettings(data, 0); ApplicationRestartRecoveryManager.RegisterForApplicationRecovery (settings); private int RecoveryProcedure(object state) {... //Fájlba mentés, Serializálás, adatbázisba mentés ApplicationRestartRecoveryManager.ApplicationRecoveryFinished(true); return 0; }

bool isCancel = ApplicationRestartRecoveryManager.ApplicationRecoveryInProgress(); if (!isCancel) { Environment.Exit(2); }

ApplicationRestartRecoveryManager.UnregisterApplicationRestart(); ApplicationRestartRecoveryManager.UnregisterApplicationRecovery();

És mindezt INGYEN!

NetworkCollection networks = NetworkListManager.GetNetworks(NetworkConnectivityLevels.All)

explorerBrowser1.Navigate(ShellFolder.FromParsingName("C:\\Kepek")); Command Link

Microsoft Confidential

FutFut Nem fut Több ablak, fölötte az egér AktívAktív

if (TaskbarManager.IsPlatformSupported) { }

Microsoft Confidential

Icon myIcon = new System.Drawing.Icon("Images\\Globe.ico"); TaskbarManager.Instance.SetOverlayIcon(myIcon, "accessibilityText"); TaskbarManager.Instance.SetOverlayIcon(null, null);

Microsoft Confidential

TaskbarManager.Instance.SetProgressState(TaskbarProgressBarState.Normal); TaskbarManager.Instance.SetProgressValue(trackBar1.Value, 100); Error Normal NoProgress Indeterminate Pause

Microsoft Confidential

TaskbarManager.Instance.TabbedThumbnail.SetThumbnailClip( this.Handle, new Rectangle(pictureBox1.Location, pictureBox1.Size));

Microsoft Confidential WindowInteropHelper window = new WindowInteropHelper(this); IntPtr Handle = window.Handle;

Microsoft Confidential

Icon myIcon = new System.Drawing.Icon("Images\\Work.ico"); ThumbnailToolbarButton toolbarbtn = new ThumbnailToolbarButton(myIcon, "Work"); toolbarbtn.Click +=new EventHandler (toolbarbtn_Click); TaskbarManager.Instance.ThumbnailToolbars.AddButtons(this.Handle, toolbarbtn);

Microsoft Confidential

Célok (főnevek) Feladatok (igék) Ismert kategóriák Egyedi kategóriák Felhasználói feladatok Tálca-feladatok Rögzített kategória

Microsoft Confidential JumpList list = JumpList.CreateJumpList(); //Kategória készitése JumpListCustomCategory jcategory = new JumpListCustomCategory("App. Cat"); list.ClearAllUserTasks(); jcategory.AddJumpListItems(new list.AddCustomCategories(jcategory); //Task keszitese list.AddUserTasks(new JumpListLink(" "Devportal")); list.AddUserTasks(new JumpListSeparator()); list.Refresh();

Microsoft Confidential

TaskDialog tdialog = new TaskDialog(); TaskDialogStandardButtons buttons = TaskDialogStandardButtons.Ok | TaskDialogStandardButtons.No; tdialog.StandardButtons = buttons; tdialog.Icon = TaskDialogStandardIcon.Shield; tdialog.Caption = "Fejléc szövege - Windows 7"; tdialog.InstructionText = "Bevezető szöveg. A dialoguson ezt tehetjük meg..."; tdialog.Text = "FIGYELEM! Ide kerülnek a legfontosabb információk!"; tdialog.DetailsExpanded = true; tdialog.DetailsExpandedLabel = "További információk"; tdialog.DetailsExpandedText = "Az összes információ"; tdialog.ProgressBar = new TaskDialogProgressBar() { Maximum = 100, Minimum = 0, State = TaskDialogProgressBarState.Normal, Value = 40 }; tdialog.Show(); Microsoft Confidential

tdialog.OwnerWindowHandle = this.Handle;

Microsoft Confidential <assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version=" " processorArchitecture="*" publicKeyToken="6595b64144ccf1df" language="*" />

Microsoft Confidential

winlogon Create LUID with full token Create LUID with full token Create LUID with protected token Create LUID with protected token Processz készítsése védett tokennel explorer.exe Processz készítsése védett tokennel explorer.exe

Microsoft Confidential

OS Alkalmazások Nem aláírt alkalmazások Aláírt alkalmazások

Microsoft Confidential

Microsoft Confidential Add -> New Item -> Application Manifest file

Microsoft Confidential

Microsoft Confidential

ez Alig 1-2 sor kód

Előkonfigurált Win XP VHD image Teljeskörű USB támogatás Hogyan? – CPU – Win7 Pro and Ultimate / Enterprise – Virt. engine: Virtual PC Kompatibilitás hiánya többé nem kifogás!

a „Compatible with Windows 7” logo akár 30 Partner Point megszerzését jelenti! (Partner Program átalakulóban) Microsoft Partner Points lista az adott szakterületen/országban elérhető alkalmazásokról Kiemelt megjelenés a Windows 7 Compatibility Centerben saját weben, marketinganyagokban A „Compatible with Windows 7” logó használati joga hozzáférés az alkalmazásra vonatkozó hibabejelentésekhez Windows Error Reporting

Példák

Opcionális: a végleges alkalmazás egy licencelt példányának eljuttatása a Microsofthoz A sikeres tesztelés eredményének elküldése a Microsoftnak Annak elfogadása, hogy a Microsoft kommunikálhasson az alkalmazással kapcsolatban A jogi megállapodások aláírása A logóval kapcsolatos rendelkezéseknek való megfelelés ellenőrzése Az alkalmazás tesztelése a Toolkit használatával A Windows 7 Client Software Logo Toolkit letöltése és telepítése JAVASOLT: Regisztráció az ISV Application Compatibility webhelyen

WPF Turóczy Attila Livesoft Kft. MCT, MCP, MCTS

A WPF-es világban az események használata nagy mértékben megváltozott a tradicionális Windows Forms-os fejlesztéshez képest. RoutedEvents A WPF-ben bevezetésre került a RoutedEvents! A koncepció lényege az, hogy a kontrolok egymásba ágyazhatók, és így egy esemény hierarchia is létrejöhet. A tradicionális esemény kezelés is a WPF része maradt!

Window Grid ToolBar Button Mikor jó ez nekem?

A WPF-ben 3 esemény típus létezik Direct Event Klasszikus.NET-es eseménykezelés. Direktben csak az az eseménykezelő fut le ami létrehozta. Pl.:MouseLeave Bubbling Events Ebben az esetben először az az esemény kezelő fut le, amit kiváltottak, majd a Vizuális fában lépkedve felfelé a többi. Pl: MouseDown Tunneling Event A Bubbling esemény ellentéte. Itt először a vizuális fa legtetején lévő elemen kerül lekezelésre, és így halad lefele. A legutolsó elem az ami kiváltotta az eseményt. A Tunneling események nevei a P PP Preview szóval kezdődnek. A Tunneling események hamarabb fut le mint a Bubbling.

A Grid az egyik leggyakrabban használt elrendezés vezérlő a WPF világban. A Gridben definiálhatunk oszlopokat és sorokat, és ezekbe pozícionálhatjuk kontroljainkat. A Gridnél oszlop (ColumnDefinition) és sor (RowDefinition) definíciókat adhatunk meg. Kitölti a teljes rendelkezésre álló felületet, de a második sor mindig 2x akkora lesz mint az első sor.

Abszolút pozícióba helyezhetjük el a kontroljainkat. (Ahova leraktuk az ott is marad) Semmilyen elrendezés vezérlői logikával nem rendelkezik a Canvas, így ha nagyítjuk az ablak méretét a kontrolok ugyanott maradnak, ahova elhelyeztük őket, és a méretük sem változik. (Canvas.Top, Canvas.Buttom, Canvas.Right, Canvas.Left) Mivel egymást fedhetik a controlok Canvasnál, így a Zindex tulajdonsággal megmondhatjuk, hogy melyik kerül előrébb. Amelyik controlnak magasabb a Zindexe az kerül felülre. Button

StackPanel – Horizontal InkCanvas TextBlock

Microsoft Confidential if (ICanvas.Strokes.Count == 0) return; InkAnalyzer analyzer = new InkAnalyzer(this.Dispatcher); analyzer.AddStrokes(ICanvas.Strokes, 1033); AnalysisStatus status = analyzer.Analyze(); if(status.Successful) { txtResult.Text = analyzer.GetRecognizedString(); }

.NET add-in /SP1 Host Process 3.0 add-in 3.5 add-in 1.1 add-in.NET 1.1 CLR 2.0 – CLR 1.1

.NET add-in /SP1 Host Process 3.0 add-in 3.5 add-in CLR 2.0 – CLR 1.1 CLR 4.0 – CLR 2.0

.NET add-in /SP1 Host Process 3.0 add-in 3.5 add-in CLR 4.0 – CLR 2.0.NET add-in

Multitouch Turóczy Attila Livesoft Kft. MCT, MCP, MCTS

Azok a hardwarek Multitouch-osak, amelyek 2 vagy több pontot tudnak egyszerre érzékelni Elvárások: Felhasználók WOW faktor! Új szkenáriók a felhasználóknak. Természetes UX érzés! Ma már nem csak speciális kérésre szerezhetünk be MT hardwareket. Egyre nagyobb számban szerezhetünk be ilyen eszközöket.

Mely alkalmazásoknál lehet előny a multi-touch? Tartalom nézegető (kép nézegető, könyv olvasó stb) Média alkalmazások Szórakoztató alkalmazások Mobil alkalmazások

El kell döntenünk mennyire támogatjuk az alkalmazásunkban a touch lehetőséget Good – Alapvető támogatás Better – Gesztikuláció támogatás, Touch- friendly felület Best – Touchra optimalizált felület

Általános ajánlások Nagy UI felületek (gombok) Üres területek Kerüljük az átfedéseket Gesztikulációs ajánlások Használjuk a már általános elfogadott gesztikulációkat A gesztikulációknak természetesnek kell lennie

A hardware megkapja a felhasználói inputot Adatok a drivertől Az OS WM_GESTURE üzenetet generáls Üzenet elküldése az alkalmazásnak HWND Az alkalmazás frissíti a UI-t az üzenet alapján

Translate

Zoom és Forgatás

Multi-Touch Controls Multi-Touch API Surface Multi-Touch Controls & API Surface Multi-Touch Controls & API Multi-Touch API Multi-Touch API and Controls

Native Windows SDK.NET 4 WPF Silverlight Silverlight3 Gesztikuláció Manipulation keresztül Touch adatok Manipuláció Inercia.NET 3.5 Multitouch library

public static readonly RoutedEvent TouchDownEvent; public static readonly RoutedEvent TouchEnterEvent; public static readonly RoutedEvent TouchLeaveEvent; public static readonly RoutedEvent TouchMoveEvent; public static readonly RoutedEvent TouchUpEvent; Macerás Munka

private void Image_ManipulationStarting(object sender, ManipulationStartingEventArgs e) { e.ManipulationContainer = LayoutRoot; }

Canvas RenderTranform

var selectedElement = e.Source as FrameworkElement; if (selectedElement != null) { ManipulationDelta deltaManip = e.DeltaManipulation; Matrix matrix = ((MatrixTransform)selectedElement.RenderTransform).Matrix; Point center = new Point(selectedElement.ActualWidth / 2, selectedElement.ActualWidth / 2); center = matrix.Transform(center); matrix.ScaleAt(deltaManip.Scale.X, deltaManip.Scale.Y, center.X, center.Y); matrix.RotateAt(deltaManip.Rotation, center.X, center.Y); matrix.Translate(deltaManip.Translation.X, deltaManip.Translation.Y); selectedElement.RenderTransform = new MatrixTransform(matrix); }

Sensor API Turóczy Attila Livesoft Kft. MCT, MCP, MCTS

1988: Compaq SLT/ : Sony VAIO Mi az ami változott? 400x CPU teljesitmény növekedés 400x CPU teljesitmény növekedés 1700x lemez terület növekedés 1700x lemez terület növekedés 5000x több RAM (Már nem elég mindenre 640K) 5000x több RAM (Már nem elég mindenre 640K) Mi az ami nem változott? GPS interfész: COM port GPS interfész: COM port Egyébb szenzorok integrálása Egyébb szenzorok integrálása

Használat szenzor nélkül (40%) Használat szenzorral (100%) Brightness beállitása a napfényhez mérter

Microsoft Confidential

SensorManager.SensorsChanged += new SensorsChangedEventHandler(SensorManager_SensorsChanged); SensorList alsList = SensorManager.GetSensorsByTypeId (); this.currentSensor = new Guid("b4133ea3-c a6e3-10bfaf50299f"); AmbientLightSensor sensor = SensorManager.GetSensorBySensorId (this.currentSensor); lblSensor.Text = "SensorId = " + sensor.SensorId.ToString(); float current = sensor.CurrentLuminousIntensity.Intensity; prgSensorProgress.Value = Math.Min((int)current, prgSensorProgress.Maximum); sensor.AutoUpdateDataReport = true; sensor.DataReportChanged += new DataReportChangedEventHandler(DataReportChange);

© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

© 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.