Talking about how to build smart design and architecture for app development. Let your app can easy develop and deploy components on your app. And more topic of version control and quality improvement.
Best Strategy for Developing App Architecture and High Quality AppFlurry, Inc.
Yahoo has been developing several success mobile apps in Taiwan. We’re going to share our best strategy for developing mobile apps. Learning how to use YDevelopKit to save your development resource and using DevOps to retain high quality result simultaneously.
This deck will present AppDevKit that is a iOS development open source project to build your iOS app faster and easier. You will learn what AppDevKit did for iOS developers and leverage it today.
AppDevKit is an iOS development library that provides developers with useful features to fulfill their everyday iOS app development needs.
AppDevKit has five major parts that include command, user interfaces, animations, image view, and list view support libraries. AppDevKit could be installed by CocoaPods. Please feel welcome to use AppDevKit in your iOS projects as it is licensed under the permissive open source BSD license.
These materials are accessible: https://github.com/anistarsung/AppDevKitLearning
How native is React Native? | React Native vs Native App DevelopmentDevathon
As a popular development framework, React Native helps you to develop near-native mobile apps. Find out all the differences between React Native and Native App Development:
https://devathon.com/blog/how-native-is-react-native-vs-native-app-development/
#reactjs #app #tech #software #developer #Mobile
Best Strategy for Developing App Architecture and High Quality AppFlurry, Inc.
Yahoo has been developing several success mobile apps in Taiwan. We’re going to share our best strategy for developing mobile apps. Learning how to use YDevelopKit to save your development resource and using DevOps to retain high quality result simultaneously.
This deck will present AppDevKit that is a iOS development open source project to build your iOS app faster and easier. You will learn what AppDevKit did for iOS developers and leverage it today.
AppDevKit is an iOS development library that provides developers with useful features to fulfill their everyday iOS app development needs.
AppDevKit has five major parts that include command, user interfaces, animations, image view, and list view support libraries. AppDevKit could be installed by CocoaPods. Please feel welcome to use AppDevKit in your iOS projects as it is licensed under the permissive open source BSD license.
These materials are accessible: https://github.com/anistarsung/AppDevKitLearning
How native is React Native? | React Native vs Native App DevelopmentDevathon
As a popular development framework, React Native helps you to develop near-native mobile apps. Find out all the differences between React Native and Native App Development:
https://devathon.com/blog/how-native-is-react-native-vs-native-app-development/
#reactjs #app #tech #software #developer #Mobile
Getting Started with XCTest and XCUITest for iOS App TestingBitbar
Watch a live presentation at http://offer.bitbar.com/getting-started-with-xctest-and-xcuitest-for-ios-app-testing
XCTest has been part of Xcode for few years already, but it is finally catching up and more developers are getting on the bandwagon. XCTest and XCUITest provide feature-rich capabilities for iOS developers and test automation folks to implement different levels of tests using Xcode features and supported programming languages, Objective-C and Swift.
Stay tuned and join our upcoming webinars at http://bitbar.com/testing/webinars/
Selendroid is an open source test automation framework which drives off the UI of Android native and hybrid applications and the mobile web. Tests are written using the Selenium 2 client API. For testing no modification of app under test is required in order to automate it.
This presentation demonstrates to the audience how easy it is to do mobile test automation. It shows how Selendroid can be used to test native and hybrid Android apps and how the Selenium Grid can be used for parallel testing on multiple devices. Advances topics like extending Selendroid itself at runtime and doing cross platform tests will be covered as well.
The Android Dev summit happened from Nov 7-8 at the Computer History Museum in Mountain View, California. Android team shared updates to Kotlin, Jetpack, Android Studio, App Bundles and talked about Foldables. In this talk, I will summarize the major announcements and new features for Android Developers and Product Managers.
Presentation about new Angular 9.
It gives introduction about angular framework.
Provides information about why we use angular,
additional features and fixes from old versions. It will clearly explain how to create a new angular project and how to use angular commands and their usages.
It will also explain about the key components like angular architecture, routing, dependency injection etc.,
Hassle-Free Continuous Integration with Real Device TestingBitbar
Watch a live presentation at http://offer.bitbar.com/hassle-free-continuous-integration-combined-with-a-real-device-testing
Thousands of mobile apps are developed and released every day. The fierce competition for attention of end-users has changed the way mobile developers build and test their apps – and how they utilize today’s mobile devops tools to gain advantage of productivity, effectiveness and speed.
Stay tuned and join our upcoming webinars at http://bitbar.com/testing/webinars/
Android TV: Building apps with Google’s Leanback LibraryJoe Birch
In this class, we'll look at how we can create Android TV apps with the help of Google's leanback library. After a brief introduction to the TV platform and an open-source Vine TV app, we'll move straight into how you can begin building applications for yourself using the leanback library, following best practices along the way. We'll take a look at the different components that are provided by the framework and how you can craft custom components of your own to enhance your application's UX. Seeing as Android TV applications are completely testable, we'll also take a brief look at how this can be done to ensure your app functions as expected!
Google App Engine tutorial for Java. Demonstrates how to open an account, setup a connection between your server and an Android app and some more features of GAE.
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.
Getting Started with XCTest and XCUITest for iOS App TestingBitbar
Watch a live presentation at http://offer.bitbar.com/getting-started-with-xctest-and-xcuitest-for-ios-app-testing
XCTest has been part of Xcode for few years already, but it is finally catching up and more developers are getting on the bandwagon. XCTest and XCUITest provide feature-rich capabilities for iOS developers and test automation folks to implement different levels of tests using Xcode features and supported programming languages, Objective-C and Swift.
Stay tuned and join our upcoming webinars at http://bitbar.com/testing/webinars/
Selendroid is an open source test automation framework which drives off the UI of Android native and hybrid applications and the mobile web. Tests are written using the Selenium 2 client API. For testing no modification of app under test is required in order to automate it.
This presentation demonstrates to the audience how easy it is to do mobile test automation. It shows how Selendroid can be used to test native and hybrid Android apps and how the Selenium Grid can be used for parallel testing on multiple devices. Advances topics like extending Selendroid itself at runtime and doing cross platform tests will be covered as well.
The Android Dev summit happened from Nov 7-8 at the Computer History Museum in Mountain View, California. Android team shared updates to Kotlin, Jetpack, Android Studio, App Bundles and talked about Foldables. In this talk, I will summarize the major announcements and new features for Android Developers and Product Managers.
Presentation about new Angular 9.
It gives introduction about angular framework.
Provides information about why we use angular,
additional features and fixes from old versions. It will clearly explain how to create a new angular project and how to use angular commands and their usages.
It will also explain about the key components like angular architecture, routing, dependency injection etc.,
Hassle-Free Continuous Integration with Real Device TestingBitbar
Watch a live presentation at http://offer.bitbar.com/hassle-free-continuous-integration-combined-with-a-real-device-testing
Thousands of mobile apps are developed and released every day. The fierce competition for attention of end-users has changed the way mobile developers build and test their apps – and how they utilize today’s mobile devops tools to gain advantage of productivity, effectiveness and speed.
Stay tuned and join our upcoming webinars at http://bitbar.com/testing/webinars/
Android TV: Building apps with Google’s Leanback LibraryJoe Birch
In this class, we'll look at how we can create Android TV apps with the help of Google's leanback library. After a brief introduction to the TV platform and an open-source Vine TV app, we'll move straight into how you can begin building applications for yourself using the leanback library, following best practices along the way. We'll take a look at the different components that are provided by the framework and how you can craft custom components of your own to enhance your application's UX. Seeing as Android TV applications are completely testable, we'll also take a brief look at how this can be done to ensure your app functions as expected!
Google App Engine tutorial for Java. Demonstrates how to open an account, setup a connection between your server and an Android app and some more features of GAE.
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.
Yahoo Open Source - The Tour & Mystery of AppDevKit (MOPCON 2016)anistar sung
This session I explained about how to build shareable library and what we did for AppDeKit that is open source app developing tool for app development. If you're looking for a good mechanism for developing your own app, please read this deck to know AppDevKit more.
https://github.com/yahoo/AppDevKit
JS Fest 2018. Илья Иванов. Введение в React-NativeJSFestUA
Создание нативных мобильных приложений с помощью JavaScript? Без регистрации и WebView? Этот доклад покажет как работает React-Native и заглянет под его капот. Для решения каких задач он был реализован и какие у него существую достоинства и ограничения. Но сперва разберем чем React-Native отличается от гибридных (Hybrid Apps) и прогрессивных (Progressive Web Apps) подходов.
The fundamental problems of GUI applications and why people choose ReactOliver N
Instead of asking people which JavaScript framework to learn, let's look back into GUI application architecture (which Web Front-end is a case). Then you will understand why people created those library & frameworks and why React became so popular.
Building Modern Apps using Android Architecture ComponentsHassan Abid
Android architecture components are part of Android Jetpack. They are a collection of libraries that help you design robust, testable, and maintainable apps. In this talk, We will cover LiveData, ViewModel, Room and lifecycle components. We will go through practical code example to understand modern android app architecture especially MVVM architecture.
iOS Developers need a wide variety of skills and knowledge to perform their jobs well. These skills and knowledge have wide applications beyond iOS, especially when sticking within the realms of Mobile Application Development.
This deck of slides shows some common cases where an iOS Developer can with minimal effort use their existing skills to build Android apps.
Presented at iOSDevUK 2015.
React-Native components are awesome. But you can also extend the library yourself by creating a native component, using a bridge between the platform API (iOS, Android) and Javascript.
Demo code is here: https://github.com/jgrancher/talk-rncc
This presentation that we're going to talk about how to use CameraKit to implement high performance real-time camera app. We also will cover the tips that you should know when you implement customized camera feature in your app.
Best Strategy for Developing App Architecture and High Quality Appanistar sung
This presentation is my tech. sharing for Yahoo Mobile Developer Conference 2016 in taiwan. Introducing YDevelopKit project and DevOps flow in Taiwan Yahoo.
MOPCON 2015 - Tips of Mobile Continuous Deliveryanistar sung
This deck was my sharing in MOPCON 2015. I told about some tips of continuous delivery in mobile development environment and what we did in Taiwan Yahoo. How to make a success strategy for mobile continuous delivery.
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.
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
In this insightful webinar, Inflectra explores how artificial intelligence (AI) is transforming software development and testing. Discover how AI-powered tools are revolutionizing every stage of the software development lifecycle (SDLC), from design and prototyping to testing, deployment, and monitoring.
Learn about:
• The Future of Testing: How AI is shifting testing towards verification, analysis, and higher-level skills, while reducing repetitive tasks.
• Test Automation: How AI-powered test case generation, optimization, and self-healing tests are making testing more efficient and effective.
• Visual Testing: Explore the emerging capabilities of AI in visual testing and how it's set to revolutionize UI verification.
• Inflectra's AI Solutions: See demonstrations of Inflectra's cutting-edge AI tools like the ChatGPT plugin and Azure Open AI platform, designed to streamline your testing process.
Whether you're a developer, tester, or QA professional, this webinar will give you valuable insights into how AI is shaping the future of software delivery.
Generating a custom Ruby SDK for your web service or Rails API using Smithyg2nightmarescribd
Have you ever wanted a Ruby client API to communicate with your web service? Smithy is a protocol-agnostic language for defining services and SDKs. Smithy Ruby is an implementation of Smithy that generates a Ruby SDK using a Smithy model. In this talk, we will explore Smithy and Smithy Ruby to learn how to generate custom feature-rich SDKs that can communicate with any web service, such as a Rails JSON API.
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Ramesh Iyer
In today's fast-changing business world, Companies that adapt and embrace new ideas often need help to keep up with the competition. However, fostering a culture of innovation takes much work. It takes vision, leadership and willingness to take risks in the right proportion. Sachin Dev Duggal, co-founder of Builder.ai, has perfected the art of this balance, creating a company culture where creativity and growth are nurtured at each stage.
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
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.
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.
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
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
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
5. Personal works
NewYork Times - Best Top 10 photography app
App store Top 2 paid app in US
App store Top 40 in world
Best recommended app in app review sites
18. Easy to present content
Benefit of UICollectionView
Flexible layout
Reuse cells
Memory management
Automatic updates
Waterfall or running water in nature
19. Easy to present content
Custom UICollectionView for production
UICollectionView
20. Easy to present content
Custom UICollectionView for production
UICollectionView
UICollectionReusableView
!
21. Easy to present content
Custom UICollectionView for production
UICollectionView
UICollectionReusableView
UICollectionViewCell
!
22. Easy to present content
Custom UICollectionView for production
UICollectionView
UICollectionReusableView
UICollectionViewCell
UICollectionViewLayout
Waterfall or running water in nature
25. Change once apply anywhere
The pain for change
Hard to sync with designer
Designer or PM always change
After change need to rewrite code
26. Challenge on Color
Design easy sync tool for designer
Design: I want red color background.
Developer: Sure!
self.backgroundColor = [UIColor redColor];
27. Challenge on Color
Design easy sync tool for designer
Design: I want #7b19a9 background.
Developer: What!?
!?
28. Challenge on Color
Design easy sync tool for designer
Design: I want Yahoo background.
Developer: Mom, I want go home. :(
#@*$!
29. Challenge on Color
Design easy sync tool for designer
Using Category to improve UIColor
+ (UIColor *)colorWithHexString:(NSString *)hexstring;
+ (UIColor *)colorWithHexNumber:(NSUInteger)hexNumber;
30. Challenge on Color
Design easy sync tool for designer
Management your theme color
+ (UIColor *)themeBackground;
+ (UIColor *)themeForeground;
+ (UIColor *)themeDisabled;
+ (UIColor *)themeFocus;
+ (UIColor *)themeHighlight;
+ (UIColor *)themeTitle;
+ (UIColor *)themeSubtitle;
31. Change once apply anywhere
Theme color management
You don’t need write import everywhere
.pch file is your friend
54. Why Version Control
Colleagues often break my code
Have critical bugs but I can’t fix it
Wanting different version (Free / Pro)
Customer told me previous change was better
55. Solutions for code change
Code management
Source code management
Git / SVN
3rd open source libraries
CocoaPods / Repo
56. Storyboard may make you CRAZY
Multiple developers work together
Easy to conflict
Hard to read and fix it
Wait a long time when open huge one
57. Storyboard may make you Crazy
Multiple developers work together
Split to smaller storyboard
58. Storyboard may make you Crazy
Multiple developers work together
Split to independent xib files
60. Test will not waste your time
Test can prove your code run well
Save lots of time to verify bugs
Find change problems immediately
Keep boring task away
67. Automation test
Implement automation test
UIATarget.onAlert = function onAlert(alert) {
var title = alert.name();
UIALogger.logWarning("Alert with title '" + title + "' encountered!");
UIATarget.localTarget().captureScreenWithName("alert_" + (new Date()).UTC());
return false;
}
for (var i = 0; i < 200; i++) {
// exposureSettingButton
checkInstanceExist(target.frontMostApp().mainWindow().buttons()[“exposure”].tap);
target.frontMostApp().mainWindow().buttons()[“exposure”].tap();
}
68. Automation test
Implement monkey test
if (times % 2 == 0) {
target.setDeviceOrientation(UIA_DEVICE_ORIENTATION_PORTRAIT);
} else {
target.setDeviceOrientation(UIA_DEVICE_ORIENTATION_LANDSCAPERIGHT);
}
if (times % 5 == 0) {
target.lockForDuration(5);
target.delay(2);
}
69. Location automated test
Implement location test
Location service is hard to test
Some developer will go out for test
74. Present your content
Use core data to cache data
Lazy loader provides smooth interaction
Use data model process you data
!
75. Core data
Benefit of core data
Easy way to implement data storage
Cache larger data from internet / log
Multiple thread is big challenge
Recommend MagicalRecord library
76. Lazy loader
Benefit of lazy loader
Lazy loader will not block UI thread
Implement heavy process when stop interaction
Using right format in app
Manage memory carefully
77. Data model
Benefit of data model
Part of MVC design pattern
Change data source will easier
Separate logic and data layer
Easy automated test and verify
79. Summary
We have learned in this session
Our design should be flexible and easy deployment
List view is good architecture for data presentation
Cache everything if you can
Put project in Version Control
Test will improve quality and saving time
85. Related sharing
MOPCON 2013 tech talk slide
http://www.slideshare.net/anistarsung/mopcon-share
86. More information
Anistar Sung
Yahoo Lead Engineer!
http://www.facebook.com/anistarsung
http://blog.riaproject.com
anistarsung@gmail.com
cfsung@yahoo-inc.com