Getting to Know Swift Package Manager
|
|
- Poppy Parrish
- 5 years ago
- Views:
Transcription
1 #WWDC18 Getting to Know Swift Package Manager Session 411 Rick Ballard, SwiftPM Release Manager Boris Buegling, Developer Tools Engineer 2018 Apple Inc. All rights reserved. Redistribution or public display not permitted without written permission from Apple.
2 Why a package manager for Swift? How to use it The design of SwiftPM Evolution ideas Open source process
3 Why a package manager for Swift? How to use it The design of SwiftPM Evolution ideas Open source process
4 A Cross-Platform Build System for Swift
5 A Cross-Platform Build System for Swift mac OS Ubuntu Future Platforms
6 Canonical Package Management Tool
7 Canonical Package Management Tool mac OS Ubuntu Future Platforms
8 Code Reuse Beyond the Core Libraries Foundation Dispatch XCTest stdlib system
9 Code Reuse Beyond the Core Libraries Foundation Dispatch XCTest stdlib system
10 Take Full Advantage of the Power of Swift
11 Take Full Advantage of the Power of Swift +
12 Part of Swift Open Source Project
13 Included in Swift Toolchains
14 Included with Xcode
15 Why a package manager for Swift? How to use it The design of SwiftPM Evolution ideas Open source process
16 SwiftPM Commands
17 Packages Use Git dc0530 f0a510 fb5294 aadf53
18 Demo Creating your first package
19 Anatomy of a Package Dependencies Products Targets
20 Anatomy of a Package Products Targets Dependencies
21 Anatomy of a Package Targets Products Dependencies
22 Anatomy of a Package Targets Products Dependencies
23 Dependencies
24 Dependencies
25 Dependencies
26 Dependencies
27 // swift-tools-version:4.2 import PackageDescription let package = Package( name: "dealer", products: [.library(name: "libdealer", targets: ["libdealer"]),.executable(name: "dealer", targets: ["dealer"]), ], dependencies: [.package(url: "git@github.com:apple/example-package-deckofplayingcards", from: "3.0.0") ], targets: [.target(name: "libdealer", dependencies: ["DeckOfPlayingCards"]),.target(name: "dealer", dependencies: ["libdealer"]),.testtarget(name: "dealertests", dependencies: ["libdealer", "dealer"]), ] )
28 // swift-tools-version:4.2 import PackageDescription let package = Package( name: "dealer", products: [.library(name: "libdealer", targets: ["libdealer"]),.executable(name: "dealer", targets: ["dealer"]), ], dependencies: [.package(url: "git@github.com:apple/example-package-deckofplayingcards", from: "3.0.0") ], targets: [.target(name: "libdealer", dependencies: ["DeckOfPlayingCards"]),.target(name: "dealer", dependencies: ["libdealer"]),.testtarget(name: "dealertests", dependencies: ["libdealer", "dealer"]), ] )
29 // swift-tools-version:4.2 import PackageDescription let package = Package( name: "dealer", products: [.library(name: "libdealer", targets: ["libdealer"]),.executable(name: "dealer", targets: ["dealer"]), ], dependencies: [.package(url: "git@github.com:apple/example-package-deckofplayingcards", from: "3.0.0") ], targets: [.target(name: "libdealer", dependencies: ["DeckOfPlayingCards"]),.target(name: "dealer", dependencies: ["libdealer"]),.testtarget(name: "dealertests", dependencies: ["libdealer", "dealer"]), ] )
30 // swift-tools-version:4.2 import PackageDescription let package = Package( name: "dealer", products: [.library(name: "libdealer", targets: ["libdealer"]),.executable(name: "dealer", targets: ["dealer"]), ], dependencies: [.package(url: "git@github.com:apple/example-package-deckofplayingcards", from: "3.0.0") ], targets: [.target(name: "libdealer", dependencies: ["DeckOfPlayingCards"]),.target(name: "dealer", dependencies: ["libdealer"]),.testtarget(name: "dealertests", dependencies: ["libdealer", "dealer"]), ] )
31 // swift-tools-version:4.2 import PackageDescription let package = Package( name: "dealer", products: [.library(name: "libdealer", targets: ["libdealer"]),.executable(name: "dealer", targets: ["dealer"]), ], dependencies: [.package(url: "git@github.com:apple/example-package-deckofplayingcards", from: "3.0.0") ], targets: [.target(name: "libdealer", dependencies: ["DeckOfPlayingCards"]),.target(name: "dealer", dependencies: ["libdealer"]),.testtarget(name: "dealertests", dependencies: ["libdealer", "dealer"]), ] )
32 Targets
33 Targets Depend on Other Targets and Products
34 Targets Depend on Other Targets and Products
35 Products
36 Products
37 Packages Provide Products
38 Packages Provide Products Linkage: Automatic Static Dynamic
39 // swift-tools-version:4.2 import PackageDescription let package = Package( name: "dealer", products: [.library(name: "libdealer", targets: ["libdealer"]),.executable(name: "dealer", targets: ["dealer"]), ], dependencies: [.package(url: "git@github.com:apple/example-package-deckofplayingcards", from: "3.0.0") ], targets: [.target(name: "libdealer", dependencies: ["DeckOfPlayingCards"]),.target(name: "dealer", dependencies: ["libdealer"]),.testtarget(name: "dealertests", dependencies: ["libdealer", "dealer"]), ] )
40 // swift-tools-version:4.2 import PackageDescription let package = Package( name: "dealer", products: [.library(name: "libdealer", targets: ["libdealer"]),.executable(name: "dealer", targets: ["dealer"]), ], dependencies: [.package(url: "git@github.com:apple/example-package-deckofplayingcards", from: "3.0.0") ], targets: [.target(name: "libdealer", dependencies: ["DeckOfPlayingCards"]),.target(name: "dealer", dependencies: ["libdealer"]),.testtarget(name: "dealertests", dependencies: ["libdealer", "dealer"]), ] )
41 // swift-tools-version:4.2 import PackageDescription let package = Package( name: "dealer", products: [.library(name: "libdealer", targets: ["libdealer"]),.executable(name: "dealer", targets: ["dealer"]), ], dependencies: [.package(url: "git@github.com:apple/example-package-deckofplayingcards", from: "3.0.0") ], targets: [.target(name: "libdealer", dependencies: ["DeckOfPlayingCards"]),.target(name: "dealer", dependencies: ["libdealer"]),.testtarget(name: "dealertests", dependencies: ["libdealer", "dealer"]), ] )
42 // swift-tools-version:4.2 import PackageDescription let package = Package( name: "dealer", products: [.library(name: "libdealer", targets: ["libdealer"]),.executable(name: "dealer", targets: ["dealer"]), ], dependencies: [.package(url: "git@github.com:apple/example-package-deckofplayingcards", from: "3.0.0") ], targets: [.target(name: "libdealer", dependencies: ["DeckOfPlayingCards"]),.target(name: "dealer", dependencies: ["libdealer"]),.testtarget(name: "dealertests", dependencies: ["libdealer", "dealer"]), ] )
43 // swift-tools-version:4.2 import PackageDescription let package = Package( name: "dealer", products: [.library(name: "libdealer", targets: ["libdealer"]),.executable(name: "dealer", targets: ["dealer"]), ], dependencies: [.package(url: "git@github.com:apple/example-package-deckofplayingcards", from: "3.0.0") ], targets: [.target(name: "libdealer", dependencies: ["DeckOfPlayingCards"]),.target(name: "dealer", dependencies: ["libdealer"]),.testtarget(name: "dealertests", dependencies: ["libdealer", "dealer"]), ] )
44 // swift-tools-version:4.2 import PackageDescription let package = Package( name: "dealer", products: [.library(name: "libdealer", targets: ["libdealer"]),.executable(name: "dealer", targets: ["dealer"]), ], dependencies: [.package(url: "git@github.com:apple/example-package-deckofplayingcards", from: "3.0.0") ], targets: [.target(name: "libdealer", dependencies: ["DeckOfPlayingCards"]),.target(name: "dealer", dependencies: ["libdealer"]),.testtarget(name: "dealertests", dependencies: ["libdealer", "dealer"]), ] )
45 // swift-tools-version:4.2 import PackageDescription let package = Package( name: "dealer", products: [.library(name: "libdealer", targets: ["libdealer"]),.executable(name: "dealer", targets: ["dealer"]), ], dependencies: [.package(url: "git@github.com:apple/example-package-deckofplayingcards", from: "3.0.0") ], targets: [.target(name: "libdealer", dependencies: ["DeckOfPlayingCards"]),.target(name: "dealer", dependencies: ["libdealer"]),.testtarget(name: "dealertests", dependencies: ["libdealer", "dealer"]), ] )
46 // swift-tools-version:4.2 import PackageDescription let package = Package( name: "dealer", products: [.library(name: "libdealer", targets: ["libdealer"]),.executable(name: "dealer", targets: ["dealer"]), ], dependencies: [.package(url: "git@github.com:apple/example-package-deckofplayingcards", from: "3.0.0") ], targets: [.target(name: "libdealer", dependencies: ["DeckOfPlayingCards"]),.target(name: "dealer", dependencies: ["libdealer"]),.testtarget(name: "dealertests", dependencies: ["libdealer", "dealer"]), ] )
47 // swift-tools-version:4.2 import PackageDescription let package = Package( name: "dealer", products: [.library(name: "libdealer", targets: ["libdealer"]),.executable(name: "dealer", targets: ["dealer"]), ], dependencies: [.package(url: "git@github.com:apple/example-package-deckofplayingcards", from: "3.0.0") ], targets: [.target(name: "libdealer", dependencies: ["DeckOfPlayingCards"]),.target(name: "dealer", dependencies: ["libdealer"]),.testtarget(name: "dealertests", dependencies: ["libdealer", "dealer"]), ] )
48 // swift-tools-version:4.2 import PackageDescription let package = Package( name: "dealer", products: [.library(name: "libdealer", targets: ["libdealer"]),.executable(name: "dealer", targets: ["dealer"]), ], dependencies: [.package(url: "git@github.com:apple/example-package-deckofplayingcards", from: "3.0.0") ], targets: [.target(name: "libdealer", dependencies: ["DeckOfPlayingCards"]),.target(name: "dealer", dependencies: ["libdealer"]),.testtarget(name: "dealertests", dependencies: ["libdealer", "dealer"]), ] )
49 Demo Adding dependencies
50 Why a package manager for Swift? How to use It The design of SwiftPM Evolution ideas Open source process
51 Following Swift s Philosophy Safe Fast Expressive
52 Following Swift s Philosophy Safe: isolated build environment Fast Expressive
53 Following Swift s Philosophy Safe: isolated build environment Fast: scalable to large dependency graphs Expressive
54 Following Swift s Philosophy Safe: isolated build environment Fast: scalable to large dependency graphs Expressive: Swift language manifest format
55 The Design of SwiftPM Configuration Dependencies Workflow Building Features Tools Evolution
56 The Design of SwiftPM Configuration Dependencies Workflow Building Features Tools Evolution
57 Swift Language Manifest Format Easy to understand Follows Swift API design guidelines Supported by existing Swift tools
58 Prefer Declarative Syntax // swift-tools-version:4.2 // swift-tools-version:4.2 import PackageDescription let name = generatename() let package = Package( import PackageDescription let package = Package( name: "A", name: name, targets: [ targets: [.target(.target( name: "A", name: name, dependencies: []), dependencies: []),.testtarget(.testtarget( name: "ATests", name: "\(name)tests", dependencies: ["A"]), dependencies: [.target(name: name)]) ] ]) )
59 Specifying Package Source Files Sources dealer main.swift libdealer libdealer.swift
60 Convention versus Configuration Sources products: [ dealer.library(name: "libdealer", targets: ["libdealer"]), main.swift targets: [ libdealer.target(name: "libdealer", dependencies: ["DeckOfPlayingCards"]), libdealer.swift
61 Convention versus Configuration Sources products: [ dealer.library(name: "libdealer", targets: ["libdealer"]), main.swift targets: [ libdealer.target(name: "libdealer", dependencies: ["DeckOfPlayingCards"]), libdealer.swift
62 Convention versus Configuration Sources products: [ dealer.library(name: "libdealer", targets: ["libdealer"]), main.swift targets: [ libdealer.target(name: "libdealer", dependencies: ["DeckOfPlayingCards"]), libdealer.swift
63 Support for Building Other Languages
64 Support for Building Other Languages
65 The Design of SwiftPM Configuration Dependencies Workflow Building Features Tools Evolution
66 Semantic Versioning semver.org
67 1.2.4 Major Version Breaking changes
68 1.2.4 Minor Version Compatible additions
69 1.2.4 Patch Version Bug fixes
70 Dependency Resolution
71 Direct Dependencies dealer swiftpm.git.exact("0.2.1") deck.git from: "3.0.0"
72 Resolving Versions dealer swiftpm.git tag exact("0.2.1") deck.git tag from: "3.0.0"
73 Resolving Versions dealer swiftpm.git tag deck.git tag from: "3.0.0"
74 Resolving Versions dealer swiftpm.git tag deck.git tag 3.1.4
75 Transitive Dependencies dealer swiftpm.git tag deck.git tag 3.1.4
76 Transitive Dependencies dealer swiftpm.git tag deck.git tag fisher-yates.git from: "2.0.0" playing-card.git uptonextminor: "3.0.0"
77 Transitive Dependencies dealer swiftpm.git tag deck.git tag fisher-yates.git tag from: "2.0.0" playing-card.git tag uptonextminor: "3.0.0"
78 Transitive Dependencies dealer swiftpm.git tag deck.git tag fisher-yates.git tag playing-card.git tag uptonextminor: "3.0.0"
79 Transitive Dependencies dealer swiftpm.git tag deck.git tag fisher-yates.git tag playing-card.git tag 3.0.2
80 Resolving Products libdealer swiftpm.git deck.git fisher-yates.git playing-card.git
81 Resolving Products libdealer swiftpm.git Utility DeckOfPlayingCards deck.git fisher-yates.git FisherYates playing-card.git PlayingCard
82 Package.resolved Resolved Versions File Records resolved package versions Can be shared for dependable build results Easy to update with new version resolution Only used from the top-level package
83 The Design of SwiftPM Configuration Dependencies Workflow Building Features Tools Evolution
84 llbuild SwiftPM s build execution engine Provides fast and correct incremental builds Also used by Xcode s new build system Part of the Swift open source project
85 Build Environment Isolation SwiftPM builds packages in isolation Builds are sandboxed No arbitrary commands or shell scripts
86 Testing
87 Parallel Testing
88 Test Filtering
89 The Design of SwiftPM Configuration Dependencies Workflow Building Features Tools Evolution
90 Edit Mode
91 Edit Mode
92 Branch Dependencies.branch("master") from: "1.0.0".branch("master")
93 Local Package Dependencies
94 The Design of SwiftPM Configuration Dependencies Workflow Building Features Tools Evolution
95 Package.swift Manifest API Evolution Package API can be updated with each new Swift version Previous API is still available Allows using new Swift tools without updating the manifest
96 Swift Tools Version // swift-tools-version:4.2 import PackageDescription let package = Package(, swiftlanguageversions: [.v4_2,.v4])
97 Swift Language Version // swift-tools-version:4.2 import PackageDescription let package = Package(, swiftlanguageversions: [.v4_2,.v4])
98 The Design of SwiftPM Configuration Dependencies Workflow Building Features Tools Evolution
99 Why a package manager for Swift? How to use it The design of SwiftPM Evolution ideas Open source process
100 Open Evolution Process
101 Themes Great integration with other tools Publish and deploy Support complex packages Find, manage, and trust packages
102 Great Integration with Other Tools
103 libswiftpm Available
104 SwiftPM support in developer tools is encouraged!
105 Idea: Machine-Editable Package.swift
106 Idea: Machine-Editable Package.swift + libsyntax
107 Idea: Machine-Editable Package.swift let package = Package( name: "Networking", products: [.library(name: "Networking", targets: ["Networking"]) ], targets: [.target( name: "Networking", dependencies: []), ] )
108 Idea: Machine-Editable Package.swift let package = Package( name: "Networking", products: [.library(name: "Networking", targets: ["Networking"]) ], targets: [.target( name: "Networking", dependencies: ["NetworkCore"]),.target( name: "NetworkCore", dependencies: []), ] )
109 Publish and Deploy
110 Idea: Tagging and Publication Support $ git tag $ git push origin 2.1.9
111 Idea: Automatic Semantic Versioning public func findperson( firstname: String) -> Contact public func findperson( firstname: String, lastname: String) -> Contact 2.0.0
112 Idea: Deployment Automation
113 Idea: Deployment Automation
114 Support Complex Packages
115 Idea: Resources json
116 Idea: Build Settings
117 Idea: Extensible Build Tools Docs DocGen
118 Trust, Manage, and Find Packages
119 Idea: Package Content Verification
120 Idea: Cross-Platform Sandboxing
121 Idea: Fork Support
122 Idea: Package Index AcmeUtils NiftyNetworking YetAnotherProtocol NextGreatThing
123 Deployment Automation Verify Expected Package Content Build Settings Extensible Build Tools Cross-Platform Sandboxing Resources Your Contributions Fork Support Automatic SemVer Machine-Editable Package.swift Tag & Publish Package Index Leverage libswiftpm
124 Why a package manager for Swift? How to use it The design of SwiftPM Evolution ideas Open source process
125
126 Swift Evolution
127 Swift Forums
128 Swift Bug Tracker
129 Swift Bug Tracker Starter Bugs
130 Swift Bug Tracker Starter Bugs
131 Swift Bug Tracker Starter Bugs
132 Swift Continuous please test
133 Trunk Snapshots
134 Growing Community
135 Growing Community
136 Server-Side Swift
137 Server-Side Swift +
138 Command-Line Utilities
139 $ swift package init
140 More Information Swift Open Hours Technology Lab 10 Friday 3:00PM
141
What s New in Xcode App Signing
Developer Tools #WWDC16 What s New in Xcode App Signing Developing and distributing Session 401 Joshua Pennington Tools Engineering Manager Itai Rom Tools Engineer 2016 Apple Inc. All rights reserved.
More informationWhat s New in Testing
#WWDC18 What s New in Testing Session 403 Honza Dvorsky, Xcode Engineer Ethan Vaughan, Xcode Engineer 2018 Apple Inc. All rights reserved. Redistribution or public display not permitted without written
More informationUsing and Extending the Xcode Source Editor
Developer Tools #WWDC16 Using and Extending the Xcode Source Editor Session 414 Mike Swingler Xcode Infrastructure and Editors Chris Hanson Xcode Infrastructure and Editors 2016 Apple Inc. All rights reserved.
More informationGIT TUTORIAL. Creative Software Architectures for Collaborative Projects CS 130 Donald J. Patterson
GIT TUTORIAL Creative Software Architectures for Collaborative Projects CS 130 Donald J. Patterson SCM SOFTWARE CONFIGURATION MANAGEMENT SOURCE CODE MANAGEMENT Generic term for the ability to manage multiple
More informationExtending Your Apps with SiriKit
App Frameworks #WWDC16 Extending Your Apps with SiriKit Session 225 Vineet Khosla SiriKit Engineering Diana Huang SiriKit Engineering Scott Andrus SiriKit Engineering 2016 Apple Inc. All rights reserved.
More informationIntroducing On Demand Resources
App Frameworks #WWDC15 Introducing On Demand Resources An element of App Thinning Session 214 Steve Lewallen Frameworks Engineering Tony Parker Cocoa Frameworks 2015 Apple Inc. All rights reserved. Redistribution
More informationCore ML in Depth. System Frameworks #WWDC17. Krishna Sridhar, Core ML Zach Nation, Core ML
System Frameworks #WWDC17 Core ML in Depth Krishna Sridhar, Core ML Zach Nation, Core ML 2017 Apple Inc. All rights reserved. Redistribution or public display not permitted without written permission from
More informationIntroducing Swift Playgrounds
Developer Tools #WWDC16 Introducing Swift Playgrounds Exploring with Swift on ipad Session 408 Matt Patenaude Playgrounds Engineer Maxwell Swadling Playgrounds Engineer Jonathan Penn Playgrounds Engineer
More informationWhat s New in CloudKit
System Frameworks #WWDC15 What s New in CloudKit Session 704 Olivier Bonnet icloud Client Eric Krugler icloud Server 2015 Apple Inc. All rights reserved. Redistribution or public display not permitted
More informationThread Sanitizer and Static Analysis
Developer Tools #WWDC16 Thread Sanitizer and Static Analysis Help with finding bugs in your code Session 412 Anna Zaks Manager, Program Analysis Team Devin Coughlin Engineer, Program Analysis Team 2016
More informationIntroducing Password AutoFill for Apps
Session App Frameworks #WWDC17 Introducing Password AutoFill for Apps Reducing friction for your users 206 Ricky Mondello, ios Engineer 2017 Apple Inc. All rights reserved. Redistribution or public display
More informationMonetize and Promote Your App with iad
Media #WWDC15 Monetize and Promote Your App with iad From design to launch Session 503 Carol Teng Shashank Phadke 2015 Apple Inc. All rights reserved. Redistribution or public display not permitted without
More informationReview Version Control Concepts
Review Version Control Concepts SWEN-261 Introduction to Software Engineering Department of Software Engineering Rochester Institute of Technology Managing change is a constant aspect of software development.
More informationBuilding Faster in Xcode
#WWDC18 Building Faster in Xcode Session 408 David Owens, Xcode Engineer Jordan Rose, Swift Engineer 2018 Apple Inc. All rights reserved. Redistribution or public display not permitted without written
More informationplatform Development Process Optimization For Drupal centric projects
platform Development Process Optimization For Drupal centric projects Introduction This document explains how Platform impacts your Drupal centric project development process. Performance data from digital
More informationA New Model for Image Distribution
A New Model for Image Distribution Stephen Day Distribution, Tech Lead Docker, Inc. stephen@docker.com @stevvooe github.com/stevvooe Overview Why does this matter? History Docker Registry API V2 Implementation
More informationCreating Great App Previews
Services #WWDC14 Creating Great App Previews Session 304 Paul Turner Sr. Operations Manager itunes Digital Supply Chain Engineering 2014 Apple Inc. All rights reserved. Redistribution or public display
More informationYour Apps and the Future of macos Security
#WWDC18 Your Apps and the Future of macos Security Pierre-Olivier Martel, Security Engineering Manager Kelly Yancey, OS Security Garrett Jacobson, Trusted Execution 2018 Apple Inc. All rights reserved.
More informationCocoaHeads Aachen Server-side Swift
Server-side Swift 2016-08-25 Ullrich Platt, Michael Plagge Agenda Motivation for Server-side Swift Concepts / Architecture(s) Pros & Cons Requirements Status In depth: Frameworks Overview Swift@IBM / Kitura
More informationOptimizing Swift Performance Session 409
Developer Tools #WWDC15 Optimizing Swift Performance Session 409 Nadav Rotem Manager, Swift Performance Team Michael Gottesman Engineer, Swift Performance Team Joe Grzywacz Engineer, Performance Tools
More informationBranching and Merging
Branching and Merging SWEN-261 Introduction to Software Engineering Department of Software Engineering Rochester Institute of Technology Version control branching supports the ability to manage software
More informationGetting Published in Apple News
Media #WWDC16 Getting Published in Apple News Session 502 Ryan Griggs Apple News 2016 Apple Inc. All rights reserved. Redistribution or public display not permitted without written permission from Apple.
More informationXcode Release Notes. Apple offers a number of resources where you can get Xcode development support:
Xcode Release Notes This document contains release notes for Xcode 5 developer preview 4. It discusses new features and issues present in Xcode 5 developer preview 4 and issues resolved from earlier Xcode
More informationLocalizing with Xcode 9
Session Developer Tools #WWDC17 Localizing with Xcode 9 401 Sara Radi, Software Engineer Aya Siblini, Software Engineer Chris Hanson, Software Engineer 2017 Apple Inc. All rights reserved. Redistribution
More informationPowerShell-Module Documentation. Release docs
PowerShell-Module Documentation Release docs December 29, 2016 User Documentation 1 Requirements 3 2 Installation 5 2.1 Option 1: Installer Script......................................... 5 2.2 Option
More informationUSING GIT FOR AUTOMATION AND COLLABORATION JUSTIN ELLIOTT - MATT HANSEN PENN STATE UNIVERSITY
USING GIT FOR AUTOMATION AND COLLABORATION JUSTIN ELLIOTT - MATT HANSEN PENN STATE UNIVERSITY AGENDA Version control overview Introduction and basics of Git Advanced Git features Collaboration Automation
More informationIntroducing the Modern WebKit API
Frameworks #WWDC14 Introducing the Modern WebKit API Session 206 Anders Carlsson Safari and WebKit Engineer 2014 Apple Inc. All rights reserved. Redistribution or public display not permitted without written
More informationIBM Case Manager Mobile Version SDK for ios Developers' Guide IBM SC
IBM Case Manager Mobile Version 1.0.0.5 SDK for ios Developers' Guide IBM SC27-4582-04 This edition applies to version 1.0.0.5 of IBM Case Manager Mobile (product number 5725-W63) and to all subsequent
More informationSeamless Linking to Your App
App Frameworks #WWDC15 Seamless Linking to Your App Session 509 Conrad Shultz Safari and WebKit Software Engineer Jonathan Grynspan Core Services Software Engineer 2015 Apple Inc. All rights reserved.
More informationSwift Web Applications on the AWS Cloud
Swift Web Applications on the AWS Cloud Quick Start Reference Deployment November 2016 Asif Khan, Tom Horton, and Tony Vattathil Solutions Architects, Amazon Web Services Contents Overview... 2 Architecture...
More informationUCT Application Development Lifecycle. UCT Business Applications
UCT Business Applications Page i Table of Contents Planning Phase... 1 Analysis Phase... 2 Design Phase... 3 Implementation Phase... 4 Software Development... 4 Product Testing... 5 Product Implementation...
More informationAutomation with Meraki Provisioning API
DEVNET-2120 Automation with Meraki Provisioning API Courtney M. Batiste, Solutions Architect- Cisco Meraki Cisco Spark How Questions? Use Cisco Spark to communicate with the speaker after the session 1.
More informationTreating Deployments as Code with Puppet and the Atlassian Toolsuite Puppet Camp, Geneva
Treating Deployments as Code with Puppet and the Atlassian Toolsuite Christoph Leithner Who is celix? Puppet Labs Partner Atlassian Expert IT Service Management (ITSM) Continuous Deployment und DevOps
More informationVersion Control. Second level Third level Fourth level Fifth level. - Software Development Project. January 17, 2018
Version Control Click to edit Master EECS text 2311 styles - Software Development Project Second level Third level Fourth level Fifth level January 17, 2018 1 But first, Screen Readers The software you
More informationCreating Extensions for ios and OS X, Part Two
Frameworks #WWDC14 Creating Extensions for ios and OS X, Part Two Architecture Session 217 Damien Sorresso Overloaded Operator 2014 Apple Inc. All rights reserved. Redistribution or public display not
More informationRecap: Developer's Environment
Recap: Developer's Environment There's no audio yet. We'll start at 2PM (Eastern Time). Standardizing Your Test Environment VirtualBox -> machine inside a machine the oracle thing Chef -> configuration
More informationImplementing UI Designs in Interface Builder
Developer Tools #WWDC15 Implementing UI Designs in Interface Builder Session 407 Kevin Cathey Interface Builder Engineer Tony Ricciardi Interface Builder Engineer 2015 Apple Inc. All rights reserved. Redistribution
More informationNew UIKit Support for International User Interfaces
App Frameworks #WWDC15 New UIKit Support for International User Interfaces Session 222 Sara Radi Internationalization Software Engineer Aaltan Ahmad Internationalization Software Engineer Paul Borokhov
More informationWhat s New in the LLVM Compiler. Chris Lattner LLVM Chief Architect
What s New in the LLVM Compiler Chris Lattner LLVM Chief Architect 2 Apple Compiler Evolution Renovating the Apple compiler landscape Phasing out GCC-based tools Driving innovation in LLVM-based technologies
More informationMovie Explorer. Group Members: Name: Chen Wang JHED: cwang107 Section: 415 Name: Yang Xi JHED: yxi5 Section: 415. Domain Description:
Movie Explorer Database Project (Phase II) Group Members: Name: Chen Wang JHED: cwang107 Section: 415 Name: Yang Xi JHED: yxi5 Section: 415 Domain Description: We are trying to build a movie explorer system
More informationswiftenv Documentation
swiftenv Documentation Release 1.3.0 Kyle Fuller Sep 27, 2017 Contents 1 The User Guide 3 1.1 Installation................................................ 3 1.2 Getting Started..............................................
More informationXcode Release Notes. Apple offers a number of resources where you can get Xcode development support:
Xcode Release Notes This document contains release notes for Xcode 5 developer preview 5. It discusses new features and issues present in Xcode 5 developer preview 5 and issues resolved from earlier Xcode
More informationSoftware configuration management
Software Engineering Theory Software configuration management Lena Buffoni/ Kristian Sandahl Department of Computer and Information Science 2017-03-27 2 Maintenance Requirements System Design (Architecture,
More information2/9/2013 LAB OUTLINE INTRODUCTION TO VCS WHY VERSION CONTROL SYSTEM(VCS)? II SENG 371 SOFTWARE EVOLUTION VERSION CONTROL SYSTEMS
SENG 371 SOFTWARE EVOLUTION LAB OUTLINE Introduction to Version Control Systems VERSION CONTROL SYSTEMS Subversion Git and Github 1 Prepared by Pratik Jain 2 INTRODUCTION TO VCS A version control system
More informationIntegrating Apps and Content with AR Quick Look
Session #WWDC18 Integrating Apps and Content with AR Quick Look 603 David Lui, ARKit Engineering Dave Addey, ARKit Engineering 2018 Apple Inc. All rights reserved. Redistribution or public display not
More informationUnderstanding Undefined Behavior
Session Developer Tools #WWDC17 Understanding Undefined Behavior 407 Fred Riss, Clang Team Ryan Govostes, Security Engineering and Architecture Team Anna Zaks, Program Analysis Team 2017 Apple Inc. All
More informationGetting the Most out of Playgrounds in Xcode
#WWDC18 Getting the Most out of Playgrounds in Xcode Session 402 Tibet Rooney-Rabdau, Xcode Engineer Alex Brown, Core OS Engineer TJ Usiyan, Xcode Engineer 2018 Apple Inc. All rights reserved. Redistribution
More information2/8/18. Overview. Project Management. The First Law. What is Project Management? What Are These Changes? Software Configuration Management (SCM)
Overview Project Management How to manage a project? What is software configuration management? Version control systems Issue tracking systems N. Meng, L. Zhang 2 What is Project Management? Effective
More informationAzure DevOps. Randy Pagels Intelligent Cloud Technical Specialist Great Lakes Region
Azure DevOps Randy Pagels Intelligent Cloud Technical Specialist Great Lakes Region What is DevOps? People. Process. Products. Build & Test Deploy DevOps is the union of people, process, and products to
More informationSignals Documentation
Signals Documentation Release 0.1 Yeti November 22, 2015 Contents 1 Quickstart 1 2 What is Signals? 3 3 Contents 5 3.1 Get Started................................................ 5 3.2 Try the Demo Server...........................................
More informationManaging Documents In Your ios Apps
Session #WWDC18 Managing Documents In Your ios Apps 216 Brandon Tennant, Software Engineer Thomas Deniau, Software Engineer Rony Fadel, Software Engineer 2018 Apple Inc. All rights reserved. Redistribution
More informationAdvanced Debugging and the Address Sanitizer
Developer Tools #WWDC15 Advanced Debugging and the Address Sanitizer Finding your undocumented features Session 413 Mike Swingler Xcode UI Infrastructure Anna Zaks LLVM Program Analysis 2015 Apple Inc.
More informationIntroduction to Siri Shortcuts
#WWDC8 Introduction to Siri Shortcuts Session 2 Ari Weinstein, Siri Willem Mattelaer, Siri 208 Apple Inc. All rights reserved. Redistribution or public display not permitted without written permission
More informationProject Management. Overview
Project Management Overview How to manage a project? What is software configuration management? Version control systems Issue tracking systems N. Meng, L. Zhang 2 1 What is Project Management? Effective
More informationBuilding Apps with Dynamic Type
Session App Frameworks #WWDC17 Building Apps with Dynamic Type 245 Clare Kasemset, Software Engineering Manager Nandini Sundar, Software Engineer 2017 Apple Inc. All rights reserved. Redistribution or
More informationGit and Gerrit Workflows. Enforcing Manual & Automated Review
Git and Gerrit Workflows Enforcing Manual & Automated Review Agenda Branching and Workflow Review A Look at Gerrit The Gerrit Workflow Other Workflows Customizing Gerrit Workflow Branching and Workflow
More informationBuilding Visually Rich User Experiences
Session App Frameworks #WWDC17 Building Visually Rich User Experiences 235 Noah Witherspoon, Software Engineer Warren Moore, Software Engineer 2017 Apple Inc. All rights reserved. Redistribution or public
More informationNewly-Created, Work-in-Progress (WIP), Approval Cycle, Approved or Copied-from-Previously-Approved, Work-in-Progress (WIP), Approval Cycle, Approved
A New Approach to Enterprise Data Organization A Cuboid Enterprises are generally overwhelmed with data, making the ability to store, process, analyze, interpret, consume, and act upon that data a primary
More informationMcAfee VirusScan and McAfee epolicy Orchestrator Administration Course
McAfee VirusScan and McAfee epolicy Orchestrator Administration Course Education Services administration course training The McAfee VirusScan Enterprise and McAfee epolicy Orchestrator (McAfee epo ) Administration
More informationPorting Objective-C to Swift. Richard Ekle
Porting Objective-C to Swift Richard Ekle rick@ekle.org Why do we need this? 1.2 million apps in the ios App Store http://www.statista.com/statistics/276623/numberof-apps-available-in-leading-app-stores/
More informationAccelerate OpenStack* Together. * OpenStack is a registered trademark of the OpenStack Foundation
Accelerate OpenStack* Together * OpenStack is a registered trademark of the OpenStack Foundation Considerations to Build a Production OpenStack Cloud Ruchi Bhargava, Intel IT Shuquan Huang, Intel IT Kai
More informationManaging Network Configurations with Git and GitLab
Managing Network Configurations with Git and GitLab Matthew DeNapoli Developer Advocate, DevNet Twitter: @thedenap Season 1, Workshop 3 https://developer.cisco.com/netdevops/live What are we going to talk
More informationCisco Network Programmability for the Enterprise NPEN v1.0
Course Overview This course teaches how to automate common Cisco enterprise platforms such as IOS-XE and IOS-XR routers as well as ASA firewalls. This course also includes coverage of the automation capabilities
More informationAVContentKeySession Best Practices
Session #WWDC18 AVContentKeySession Best Practices 507 Anil Katti, AVFoundation Engineer 2018 Apple Inc. All rights reserved. Redistribution or public display not permitted without written permission from
More informationWelcome! Virtual tutorial will start at 15:00 GMT. Please leave feedback afterwards at:
Welcome! Virtual tutorial will start at 15:00 GMT Please leave feedback afterwards at: www.archer.ac.uk/training/feedback/online-course-feedback.php Introduction to Version Control (Part 2) ARCHER Virtual
More informationLab Objective. Lab Assignment. Downloads and Installation
How I Start Working with Git: Git Lab 01 Adapted from: (1) https://github.com/quantstack/xeus-cling (2) https://code.visualstudio.com/docs/languages/cpp Lab Objective 1. Installing and using VS Code 2.
More informationJames Turnbull
State of the Nation James Turnbull james@puppetlabs.com Where we were Puppet user mailing list membership was 3000 With about 600 messages a month The #puppet IRC channel averaged 400 people Puppet on
More informationProfiling in Depth. Do you know where your code is? Session 412. Kris Markel Performance Tools Engineer Chad Woolf Performance Tools Engineer
Developer Tools #WWDC15 Profiling in Depth Do you know where your code is? Session 412 Kris Markel Performance Tools Engineer Chad Woolf Performance Tools Engineer 2015 Apple Inc. All rights reserved.
More informationGit - A brief overview
breno.leitao@gmail.com Linux Technology Center May 16, 2008 Agenda Introduction Concepts Commands (Tutorial) Front Ends History Started in 2005 to replace BitKeeper. Designed to support the kernel development.
More informationImproving the Magento 2 Developer Experience
Improving the Magento 2 Developer Experience Alan Kent Magento Chief Architect Consistent Magento 2 Feedback I have been working on some larger Magento 2.1 EE solutions for a few months now and I really
More informationCisco Modelling Labs Lessons from a Virtual World
Cisco Modelling Labs Lessons from a Virtual World Joel Obstfeld Distinguished Engineer Network Virtualisation The challenge - How do you deploy new services, make changes, or troubleshoot in the live network
More informationOpen2Test Test Automation Framework for SilkTest - Usage Guidelines
for SilkTest - Usage Guidelines Version 1.0 January 2010 D I S C L A I M E R Verbatim copying and distribution of this entire article is permitted worldwide, without royalty, in any medium, provided this
More informationContent Protection for HTTP Live Streaming
Media #WWDC15 Content Protection for HTTP Live Streaming Session 502 Roger Pantos HTTP Live Streaming Engineer 2015 Apple Inc. All rights reserved. Redistribution or public display not permitted without
More informationVersion Control for PL/SQL
Version Control for PL/SQL What is the problem? How did we solve it? Implementation Strategies Demo!! Customer Spotlight Success Story: (In other words, this really works. :-) ) Rhenus Logistics, leading
More informationRichard Mallion. Swift for Admins #TEAMSWIFT
Richard Mallion Swift for Admins #TEAMSWIFT Apple Introduces Swift At the WWDC 2014 Keynote, Apple introduced Swift A new modern programming language It targets the frameworks for Cocoa and Cocoa Touch
More informationWhat s New in tvos #WWDC16. App Frameworks. Session 206. Hans Kim tvos Engineer
App Frameworks #WWDC16 What s New in tvos Session 206 Hans Kim tvos Engineer 2016 Apple Inc. All rights reserved. Redistribution or public display not permitted without written permission from Apple. Welcome
More informationSharePoint 2013 Central Administration
Course Objectives SharePoint 2013 Central Administration SharePoint Virtual environment creation through VMware, Virtual Box & Hyper-V. SharePoint Farm setup - Standalone, Small, Medium and Large Scale
More informationWhat s New in Swift Playgrounds
Session Developer Tools #WWDC17 What s New in Swift Playgrounds 408 Connor Wakamo, Playgrounds Engineer Grace Kendall, Playgrounds Engineer Najla Bulous, Playgrounds Engineer 2017 Apple Inc. All rights
More informationAdvances in TVMLKit. App Frameworks #WWDC17. Trevor Cortez, Localization Engineer Parry Panesar, tvos Engineer Jeremy Foo, tvos Engineer
Session App Frameworks #WWDC17 Advances in TVMLKit 202 Trevor Cortez, Localization Engineer Parry Panesar, tvos Engineer Jeremy Foo, tvos Engineer 2017 Apple Inc. All rights reserved. Redistribution or
More informationAzure Day Application Development. Randy Pagels Sr. Developer Technology Specialist US DX Developer Tools - Central Region
Azure Day Application Development Randy Pagels Sr. Developer Technology Specialist US DX Developer Tools - Central Region Azure App Service.NET, Java, Node.js, PHP, Python Auto patching Auto scale Integration
More informationCOSC345 Software Engineering. Version Control
COSC345 Software Engineering Version Control Some Problems Communications File system problems Version control Basic principles and use Outline When to use version control Examples SCCS RCS Subversion
More informationCon. Continuous Integration
Con Continuous Integration Table of Contents Slide 1 Slide 2 Slide 3 Slide 4 Slide 5 What is Continuous Integration (CI)? The benefits of CI The CI landscape Why should I care about CI? Mock Scenario +
More informationData Delivery with Drag and Drop
Session App Frameworks #WWDC17 Data Delivery with Drag and Drop 227 Dave Rahardja, UIKit Tanu Singhal, UIKit 2017 Apple Inc. All rights reserved. Redistribution or public display not permitted without
More informationXcode 6 Start to Finish
Xcode 6 Start to Finish ios and OS X Development Fritz Anderson VAddison-Wesley New York Boston Indianapolis San Francisco Toronto Montreal Capetown Sydney London Munich Paris Madrid Tokyo Singapore Mexico
More informationTechnical Architecture & Analysis
Technical Architecture & Analysis HS2 Technical Architecture & Analysis 15 October 2012 Anton Palitsyn 020 7426 8920 anton.palitsyn@precedent.co.uk Contents Contents... 2 Document info... 3 Authors...
More informationBuilding for Voice with Siri Shortcuts
#WWDC18 Building for Voice with Siri Shortcuts Session 214 Amit Jain, Siri Ayaka Nonaka, Siri 2018 Apple Inc. All rights reserved. Redistribution or public display not permitted without written permission
More informationSelenium Open Source Test Automation Framework Usage Guidelines
Version 0.1 September 2009 DISCLAIMER Verbatim copying and distribution of this entire article is permitted worldwide, without royalty, in any medium, provided this notice is preserved. Table of Contents
More informationEnabling Your App for CarPlay
Session App Frameworks #WWDC17 Enabling Your App for CarPlay 719 Albert Wan, CarPlay Engineering 2017 Apple Inc. All rights reserved. Redistribution or public display not permitted without written permission
More informationSALOME Maintenance Procedure. Frédéric Pons (Open Cascade) Roman Nikolaev (Open Cascade)
SALOME Maintenance Procedure Frédéric Pons (Open Cascade) Roman Nikolaev (Open Cascade) Back Office Back Office Organization Back Office Tasks Continuous integration Production and Qualification of Released
More informationAdding mobile applications
Adding mobile applications This section describes how to add, configure, and deploy mobile applications for Android, ios, and Mac OS X. You can deploy custom applications as well as applications purchased
More informationMicrosoft SharePoint Server
Developing Microsoft SharePoint Server 2013 Core Solutions Course: 20488 Course Details Audience(s): Developers Technology: Duration: Microsoft SharePoint Server 40 Hours ABOUT THIS COURSE In this course,
More informationAccessibility on OS X
Frameworks #WWDC14 Accessibility on OS X New Accessibility API Session 207 Patti Hoa Accessibility Engineer! Chris Dolan Accessibility Engineer 2014 Apple Inc. All rights reserved. Redistribution or public
More informationcontribution-guide.org Release
contribution-guide.org Release August 06, 2018 Contents 1 About 1 1.1 Sources.................................................. 1 2 Submitting bugs 3 2.1 Due diligence...............................................
More informationAdvanced Scrollviews and Touch Handling Techniques
Frameworks #WWDC14 Advanced Scrollviews and Touch Handling Techniques Session 235 Josh Shaffer ios Apps and Frameworks Engineer Eliza Block ios Apps and Frameworks Engineer 2014 Apple Inc. All rights reserved.
More informationDesigning for Apple Watch
Design #WWDC15 Designing for Apple Watch Session 802 Mike Stern User Experience Evangelist 2015 Apple Inc. All rights reserved. Redistribution or public display not permitted without written permission
More informationLocalization Best Practices on tvos
Session App Frameworks #WWDC17 Localization Best Practices on tvos 248 Joaquim Lobo Silva, Internationalization Software Engineer 2017 Apple Inc. All rights reserved. Redistribution or public display not
More informationWhat s New in Notifications
System Frameworks #WWDC15 What s New in Notifications Session 720 Michele Campeotto ios Notifications Gokul Thirumalai Apple Push Notification Service 2015 Apple Inc. All rights reserved. Redistribution
More informationDeveloping Microsoft SharePoint Server 2013 Core Solutions
Developing Microsoft SharePoint Server 2013 Core Solutions 20488B; 5 days, Instructor-led Course Description In this course, students learn core skills that are common to almost all SharePoint development
More informationSoftware Development. Using GIT. Pr. Olivier Gruber. Laboratoire d'informatique de Grenoble Université de Grenoble-Alpes
Software Development 1 Using GIT Pr. Olivier Gruber olivier.gruber@imag.fr Laboratoire d'informatique de Grenoble Université de Grenoble-Alpes Overview 2 What is GIT Keeping histories of the evolution
More informationHonours/Master/PhD Thesis Projects Supervised by Dr. Yulei Sui
Honours/Master/PhD Thesis Projects Supervised by Dr. Yulei Sui Projects 1 Information flow analysis for mobile applications 2 2 Machine-learning-guide typestate analysis for UAF vulnerabilities 3 3 Preventing
More information