The document discusses view controller containment in iOS. It provides an overview of view controllers and their responsibilities in iOS apps. It describes issues with creating custom container view controllers before iOS 5 and how the iOS 5 containment API addresses these by allowing view controllers to add and remove child view controllers and properly manage view controller lifecycles. It demonstrates how to implement common container view controller behaviors like pushing and popping view controllers using the containment API and discusses best practices to avoid common mistakes with container view controllers.
iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 04)Jonathan Engelsma
This lecture covers the essentials of the MVC architecture of iOS applications. The basic concepts are laid out, and then we apply them to several app examples.
The course is an intensive and very compressed deep dive into iOS development in Swift. Visit the course web page to get copies of the course outline, lecture notes, sample code, etc.
Course website: http://www.themobilemontage.com/2015/05/12/ios-bootcamp-learning-to-create-awesome-apps-on-ios-using-swift/
YouTube Link to lecture: TBD
iOS Bootcamp: learning to create awesome apps on iOS using Swift (Lecture 04)Jonathan Engelsma
This lecture covers the essentials of the MVC architecture of iOS applications. The basic concepts are laid out, and then we apply them to several app examples.
The course is an intensive and very compressed deep dive into iOS development in Swift. Visit the course web page to get copies of the course outline, lecture notes, sample code, etc.
Course website: http://www.themobilemontage.com/2015/05/12/ios-bootcamp-learning-to-create-awesome-apps-on-ios-using-swift/
YouTube Link to lecture: TBD
Ionic adventures - Hybrid Mobile App Development rocksJuarez Filho
Ionic frameworks is the new kid on the block related to Hybrid Mobile Apps created by Drifty and rapidly growth with a variety of tools like ionic lab, ionic creator, ionic view, ionic crosswalk integration and other exciting tools is coming this year like ionic PUSH.
Check this presentation to have a short getting start in this amazing framework.
Let's create amazing apps with Ionic. \o/
UI5con 2018: News from Control DevelopmentAndreas Kunz
There are now several new features for UI5 control development (and beyond).
These slides from the UI5con@SAP 2018 session explain them:
- XMLComposites
- ManagedObjectModel
- Aggregation Forwarding
- Event Handler Parameters in XMLViews/XMLComposites
This is a presentation on Angular 5 getting started. Angular is the one framework for mobile, desktop and web applications. Checkout the demo application:
https://stackblitz.com/edit/http-service-demo
presented at Web Unleashed 2017
More info at www.fitc.ca/webu
Giorgio Natili
Akamai Technologies
Overview
There are a lot of different frameworks to use to build an enterprise web app, among them Angular is one of the most popular. In the past year, Angular changed dramatically evolving from the version 1.x known as AngularJS to the next generation of Angular.
Despite the excitement for the new version of the framework, a lot of organizations are facing several challenges because of the nature of the upgrade that is not retro-compatible with the old version of Angular (aka AngularJS).
During this presentation, you’ll learn first how to integrate AngularJS component in an Angular to reuse as much as possible the existing codebase and then how to design and develop a predictable state using Redux.
Objective
Learn how to upgrade your code base from AngularJS to Angular and how to create uni-directional architectures able to manage a predictable application state.
Target Audience
Engineers and engineering managers
Assumed Audience Knowledge
AngularJS
Five Things Audience Members Will Learn
How to use Angular 4 with AngularJS
How to upgrade components and services from AngularJS to Angular 4
What is Redux and how to use it with Angular 4
How to design an app with a predictive state
How to implement a state machine with Redux and Angular
AngularJS, a MVW framework from Google is based on JavaScript, a language globally known to millions of developers worldwide - thus giving it a much lower learning curve even for complete beginners. Integrating AngularJS is simple as it evaluates page once HTML is in the DOM and make easier to bind Angular on top of existing applications. It can run along with Node.js, an asynchronous development platform with lightning speed execution, which makes building Mean Stack applications easier and faster. AngularJS comes with a very good documentation and also have wide range of third party modules making it user-friendly for developers.
Ionic2, les développeurs web à l'assaut du mobile, BDX I/O le 21/10/2016Loïc Knuchel
Le mobile est maintenant majoritaire et continue toujours de croître. Mais son écosystème technique est encore très spécifique et demande des compétences pointues. Venez découvrir Ionic, le framework d’UI qui permet aux développeurs web de faire des applications mobiles de qualité avec des technologies web.
Ionic adventures - Hybrid Mobile App Development rocksJuarez Filho
Ionic frameworks is the new kid on the block related to Hybrid Mobile Apps created by Drifty and rapidly growth with a variety of tools like ionic lab, ionic creator, ionic view, ionic crosswalk integration and other exciting tools is coming this year like ionic PUSH.
Check this presentation to have a short getting start in this amazing framework.
Let's create amazing apps with Ionic. \o/
UI5con 2018: News from Control DevelopmentAndreas Kunz
There are now several new features for UI5 control development (and beyond).
These slides from the UI5con@SAP 2018 session explain them:
- XMLComposites
- ManagedObjectModel
- Aggregation Forwarding
- Event Handler Parameters in XMLViews/XMLComposites
This is a presentation on Angular 5 getting started. Angular is the one framework for mobile, desktop and web applications. Checkout the demo application:
https://stackblitz.com/edit/http-service-demo
presented at Web Unleashed 2017
More info at www.fitc.ca/webu
Giorgio Natili
Akamai Technologies
Overview
There are a lot of different frameworks to use to build an enterprise web app, among them Angular is one of the most popular. In the past year, Angular changed dramatically evolving from the version 1.x known as AngularJS to the next generation of Angular.
Despite the excitement for the new version of the framework, a lot of organizations are facing several challenges because of the nature of the upgrade that is not retro-compatible with the old version of Angular (aka AngularJS).
During this presentation, you’ll learn first how to integrate AngularJS component in an Angular to reuse as much as possible the existing codebase and then how to design and develop a predictable state using Redux.
Objective
Learn how to upgrade your code base from AngularJS to Angular and how to create uni-directional architectures able to manage a predictable application state.
Target Audience
Engineers and engineering managers
Assumed Audience Knowledge
AngularJS
Five Things Audience Members Will Learn
How to use Angular 4 with AngularJS
How to upgrade components and services from AngularJS to Angular 4
What is Redux and how to use it with Angular 4
How to design an app with a predictive state
How to implement a state machine with Redux and Angular
AngularJS, a MVW framework from Google is based on JavaScript, a language globally known to millions of developers worldwide - thus giving it a much lower learning curve even for complete beginners. Integrating AngularJS is simple as it evaluates page once HTML is in the DOM and make easier to bind Angular on top of existing applications. It can run along with Node.js, an asynchronous development platform with lightning speed execution, which makes building Mean Stack applications easier and faster. AngularJS comes with a very good documentation and also have wide range of third party modules making it user-friendly for developers.
Ionic2, les développeurs web à l'assaut du mobile, BDX I/O le 21/10/2016Loïc Knuchel
Le mobile est maintenant majoritaire et continue toujours de croître. Mais son écosystème technique est encore très spécifique et demande des compétences pointues. Venez découvrir Ionic, le framework d’UI qui permet aux développeurs web de faire des applications mobiles de qualité avec des technologies web.
Updated version using Swift 3 is available here:
https://www.slideshare.net/bobmccune/quartz-2d-with-swift-3/
Presentation by Bob McCune of TapHarmonic detailing how to use the Quartz framework to perform 2D drawing on the iOS platform. Quartz Demos:
https://github.com/tapharmonic/QuartzDemos
Slides for my Master Video session at Renaissance 2014. This session provided a high-level overview of some of AV Foundation's video playback and editing capabilities.
The demo app for this talk can be found at:
https://github.com/tapharmonic/AVFoundationEditor
The AV Foundation has grown from a simple audio player quietly added in iPhone OS 2.2 to an extraordinarily ambitious media-creation framework in iOS 4. The latest version provides highly-customizable audio and video capture, deep support for editing and Core Animation-based effects, and export. It is far more comprehensive than nearly any other platform's media framework, mobile or desktop. As a developer, this gives you incredible power… and one heck of a learning curve. In this session, we will take a ground-up look at AV Foundation, starting with its core concepts and patterns, and moving through its most practical and powerful capabilities. Along the way, we'll see how AV Foundation works with iOS' other media APIs -- Core Audio, Media Player, and Core Media -- and how it aggressively uses new iOS 4 programming paradigms like blocks and Grand Central Dispatch. Attendees will come away understanding the straight-arrow paths to AV Foundation's most important features like capture, editing, and export, and how its pieces might be combined in interesting ways to create even more powerful media applications.
Presentation by Bob McCune of TapHarmonic detailing how to use the Quartz (CoreGraphics) framework with Swift 3.
Sample code available here: https://github.com/tapharmonic/QuartzDemosSwift
This presentation reviews the various approaches you can take to creating animations in your iOS apps.
It discusses UIKit animations, including curling pages up (as in the Maps app), flipping back and forth (as in the Stocks app) and image view animations.
It also describes Core Animation, including its implicit animations that occur when you change the value of certain animatable properties, as well as how to create explicit animations.
So you are a young, inexperienced iOS developer preparing for your first ever interview. But you don’t know what they are going to throw at you during the interview. During your student’s life you have been searching for the answers, this is the first time you are looking for the questions. This power point presentation is the right answer for your quest of looking for the interview questions. These are the probable questions interviewee may ask you for the post of iOS developer. Good luck.
Created by: Cygnis Media
Forward Swift 2017: Media Frameworks and Swift: This Is FineChris Adamson
Swift is great for writing iOS and Mac apps, and its creators also mean for it to be used as a systems programming language. However, certain traits about Swift make it officially off-limits for use in some audio/video-processing scenarios. What's the deal, is it not fast enough or what? We'll look at what media apps can and can't do in Swift, and what you're supposed to do instead. We'll also look at strategies for knowing what responsibilities to dole out to Swift and to C, and how to make those parts of your code play nicely with each other.
try! Swift - Advanced Graphics with Core AnimationTim Oliver
In March 2016, I presented at the try! Swift conference in Tokyo on Core Animation! Here are my slides from the presentation, with the content themselves in Japanese, but my original English transcript in the notes.
Designing better user interfaces sets out to teach interface design by talking through concrete examples: what works, what doesn’t work. A good interface consists of a thousand details done right. This presentation is all about those details.
This presentation by Kyle Sherman, LinkedIn iOS Developer for the SlideShare iOS app, goes over fixing issues with jittery scroll performance in iOS applications. The presentation goes over the basics of using Instruments to measure and fix problems, tips for using Instruments, and a concrete example from the new LinkedIn iOS flagship application.
This presentation provides an overview of many of the user interface classes available for your use within UIKit, Apple's user interface framework for iOS.
Want to squeeze every last bit of performance out of your apps? I will show you how to let go of using Interface Builder to create better performing, more optimized, and leaner apps. I'll walk you through why it's better, how to create and move projects off of IB, building your UI in code, and how to gain a better understanding of how your code works from the ground up.
Value types are at the core of Swift (seriously, mostly everything in the Swift standard library is a value type). But how do you avoid subclassing? That’s where the power of Protocol-Oriented programming comes in. Learn how to structure your code to never subclass (almost) again! Practical everyday examples and ideas for your own code base will be included.
MCE^3 - Natasha Murashev - Practical Protocol-Oriented Programming in SwiftPROIDEA
Value types are at the core of Swift (seriously, mostly everything in the Swift standard library is a value type). But how do you avoid subclassing? That's where the power of Protocol-Oriented programming comes in. Learn how to structure your code to (almost) never subclass again! Practical everyday examples and ideas for your own code base will be included.
Extracto de diapositivas de la clase dedicada a controladores de vistas (ViewControllers) en programación objective-c para iPhone, iPod y iPad. Del curso de iOS en ITMaster Professional Training
A journey from MVC to VIPER is a try to leverage different application architectures (as well as some concepts on top of MVC) to build more clean and readable software in Cocoa. Most of the described techniques can be successfully used while dealing with legacy codebase.
Similar to Creating Container View Controllers (20)
UiPath Test Automation using UiPath Test Suite series, part 3DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 3. In this session, we will cover desktop automation along with UI automation.
Topics covered:
UI automation Introduction,
UI automation Sample
Desktop automation flow
Pradeep Chinnala, Senior Consultant Automation Developer @WonderBotz and UiPath MVP
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Connector Corner: Automate dynamic content and events by pushing a buttonDianaGray10
Here is something new! In our next Connector Corner webinar, we will demonstrate how you can use a single workflow to:
Create a campaign using Mailchimp with merge tags/fields
Send an interactive Slack channel message (using buttons)
Have the message received by managers and peers along with a test email for review
But there’s more:
In a second workflow supporting the same use case, you’ll see:
Your campaign sent to target colleagues for approval
If the “Approve” button is clicked, a Jira/Zendesk ticket is created for the marketing design team
But—if the “Reject” button is pushed, colleagues will be alerted via Slack message
Join us to learn more about this new, human-in-the-loop capability, brought to you by Integration Service connectors.
And...
Speakers:
Akshay Agnihotri, Product Manager
Charlie Greenberg, Host
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
💥 Speed, accuracy, and scaling – discover the superpowers of GenAI in action with UiPath Document Understanding and Communications Mining™:
See how to accelerate model training and optimize model performance with active learning
Learn about the latest enhancements to out-of-the-box document processing – with little to no training required
Get an exclusive demo of the new family of UiPath LLMs – GenAI models specialized for processing different types of documents and messages
This is a hands-on session specifically designed for automation developers and AI enthusiasts seeking to enhance their knowledge in leveraging the latest intelligent document processing capabilities offered by UiPath.
Speakers:
👨🏫 Andras Palfi, Senior Product Manager, UiPath
👩🏫 Lenka Dulovicova, Product Program Manager, UiPath
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
Keynote at DIGIT West Expo, Glasgow on 29 May 2024.
Cheryl Hung, ochery.com
Sr Director, Infrastructure Ecosystem, Arm.
The key trends across hardware, cloud and open-source; exploring how these areas are likely to mature and develop over the short and long-term, and then considering how organisations can position themselves to adapt and thrive.
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
JMeter webinar - integration with InfluxDB and GrafanaRTTS
Watch this recorded webinar about real-time monitoring of application performance. See how to integrate Apache JMeter, the open-source leader in performance testing, with InfluxDB, the open-source time-series database, and Grafana, the open-source analytics and visualization application.
In this webinar, we will review the benefits of leveraging InfluxDB and Grafana when executing load tests and demonstrate how these tools are used to visualize performance metrics.
Length: 30 minutes
Session Overview
-------------------------------------------
During this webinar, we will cover the following topics while demonstrating the integrations of JMeter, InfluxDB and Grafana:
- What out-of-the-box solutions are available for real-time monitoring JMeter tests?
- What are the benefits of integrating InfluxDB and Grafana into the load testing stack?
- Which features are provided by Grafana?
- Demonstration of InfluxDB and Grafana using a practice web application
To view the webinar recording, go to:
https://www.rttsweb.com/jmeter-integration-webinar
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
5. What is a View Controller?
View Controller Overview
‣ Focal point of most iOS app development
‣ Key Responsibilities:
‣ Defines the application workflow
‣ Manages a view hierarchy
‣ Programmatically
‣ NIB and/or Storyboard
‣ Plays the MVC “Controller” role...
8. MVC Benefits
Core iOS Design Pattern
‣ Clean separation of concerns
‣ Simplifies development
‣ Provides for greater reusability
‣ Improves quality
‣ Allows us to standardize the behavior and
responsibilities at each tier
10. View Controller Types
Container vs Content
Container Controllers
‣ Manages a hierarchy of child view controllers
UITabBarController
UINavigationController
UISplitViewController
Content Controllers
‣ Manage the individual screens within an app
‣ Can be used in multiple presentation contexts
‣ Manages a “screenful of content”
21. How do you fix it?
Ugly Options
Create a MonstrosityController
Not practical
Create non-UIViewController controllers
Not scalable
Create container and forward callbacks
Incomplete and ugly
35. Disabling Auto Forwarding
Fine Tuning Containment
- (BOOL)automaticallyForwardAppearanceAndRotationMethodsToChildViewControllers
{
return NO;
}
• Control timing of appearance and rotation callbacks
• Useful override in complex containment scenarios
46. Summary
View Controller Containment FTW!
‣ Simple, but subtle API. Easy to make mistakes.
‣ Need to understand UIViewController internals
‣ Small, but important, enhancements in iOS 6