Benoit Pasquier https://benoitpasquier.com/ Recent content on Benoit Pasquier Hugo -- gohugo.io en-us Sun, 11 Jun 2023 06:00:00 +0000 From Engineer to Manager: A Year of Growth and Transformation https://benoitpasquier.com/2023/06/from-engineer-to-manager-a-year-of-growth-and-transformation/ Sun, 11 Jun 2023 06:00:00 +0000 https://benoitpasquier.com/2023/06/from-engineer-to-manager-a-year-of-growth-and-transformation/ <p>It feels like it was yesterday when I became an engineering manager but it has been almost a year. I want to take this time to reflect on the challenges and learnings from this journey.</p> Things to know before becoming an Engineering Manager https://benoitpasquier.com/2023/02/things-to-know-before-becoming-an-engineering-manager/ Sun, 19 Feb 2023 06:00:00 +0000 https://benoitpasquier.com/2023/02/things-to-know-before-becoming-an-engineering-manager/ <p>The journey from individual contributor to engineering manager isn’t always straightforward. Today, I’ll share what it means to become an engineering manager from my point of view, and a few important points to be aware of before making this transition.</p> Transitioning to an Engineering Manager role https://benoitpasquier.com/2023/02/transitioning-to-an-engineering-manager-role/ Tue, 07 Feb 2023 06:00:00 +0000 https://benoitpasquier.com/2023/02/transitioning-to-an-engineering-manager-role/ <p>It&rsquo;s been a while since I haven&rsquo;t posted anything on my website, it&rsquo;s because there have been a few changes in 2022 that kept me away from writing. It&rsquo;s time to resume it.</p> Security Application Static Analysis applied to iOS and Gitlab CI https://benoitpasquier.com/2022/07/security-application-static-analysis-applied-to-ios-and-gitlab-ci/ Sun, 31 Jul 2022 06:00:00 +0000 https://benoitpasquier.com/2022/07/security-application-static-analysis-applied-to-ios-and-gitlab-ci/ <p>Security is a big topic in software engineering but how does it apply to mobile development? We care about user experience or mobile performance, security issues are rarely prioritized. This week, I&rsquo;ll share how to integrate security tools into your CI pipeline to stay aware of your codebase health.</p> Being more efficient as a mobile engineer https://benoitpasquier.com/being-efficient-mobile-engineer/ Sat, 25 Jun 2022 06:00:00 +0000 https://benoitpasquier.com/being-efficient-mobile-engineer/ <p>I was reading this week about <em>&ldquo;10x engineer&rdquo;</em> and what it means in the tech industry. If the title can be questionable, I wanted to reflect on its definition and what it can mean in mobile engineering.</p> When to remove your iOS app from the App Store https://benoitpasquier.com/remove-ios-app-from-app-store/ Tue, 10 May 2022 08:00:00 +0000 https://benoitpasquier.com/remove-ios-app-from-app-store/ <p>For most mobile engineers, the end game is to release our own apps. For the few projects that make it to the App Store, it can be pretty hard to keep them alive over time. Eventually, the question comes up: should I remove my app from the App Store? Today, I&rsquo;ll share about the thought process that makes me sunset one.</p> Weak self, a story about memory management and closure in Swift https://benoitpasquier.com/weak-self-story-memory-management-closure-swift/ Sat, 02 Apr 2022 01:00:00 +0000 https://benoitpasquier.com/weak-self-story-memory-management-closure-swift/ <p>Memory management is a big topic in Swift and iOS development. If there are plenty of tutorials explaining when to use <code>weak self</code> with closure, here is a short story when memory leaks can still happen with it.</p> Setting up Auto Layout constraints programmatically in Swift https://benoitpasquier.com/auto-layout-constraint-swift/ Mon, 14 Mar 2022 01:00:00 +0000 https://benoitpasquier.com/auto-layout-constraint-swift/ <p>In iOS development, content alignment and spacing is something that can take a lot of our time. Today, let&rsquo;s explore how to set constraint with UIKit, update them and resolve constraint conflicts.</p> Ten years of blogging, one article at a time https://benoitpasquier.com/2022/03/ten-years-of-blogging-one-article-at-a-time/ Thu, 03 Mar 2022 08:00:00 +0000 https://benoitpasquier.com/2022/03/ten-years-of-blogging-one-article-at-a-time/ <p>Most of people don&rsquo;t know but I&rsquo;ve been blogging for some time now. <em>Actually</em>, tomorrow will be ten years. Today is a good time to take a walk on <em>memory lane</em>.</p> Deep linking and URL scheme in iOS https://benoitpasquier.com/deep-linking-url-scheme-ios/ Sun, 13 Feb 2022 01:00:00 +0000 https://benoitpasquier.com/deep-linking-url-scheme-ios/ <p>Opening an app from an URL is such a powerful iOS feature. Its drives users to your app, and can create shortcuts to specific features. This week, we&rsquo;ll dive into deep linking on iOS and how to create an URL scheme for your app.</p> Tips and tweaks to integrate Github Action to your iOS project https://benoitpasquier.com/tips-tweaks-github-action-ios/ Fri, 28 Jan 2022 08:00:00 +0000 https://benoitpasquier.com/tips-tweaks-github-action-ios/ <p>I&rsquo;ve been exploring more and more tooling around iOS ecosystem. One tool I really enjoy using those days is Github Action as a continuous integration for my projects. Today we&rsquo;ll dive into tips and tweaks to make the most of it.</p> Flutter and fastlane, how to setup an iOS continuous delivery solution https://benoitpasquier.com/fastlane-flutter-ios/ Sat, 04 Dec 2021 08:00:00 +0000 https://benoitpasquier.com/fastlane-flutter-ios/ <p>When it comes to iOS development, everybody have their own favorite language and framework: Swift, Objective-C, SwiftUI, React-Native, Flutter and so on. Unlike most of my previous post, today we’re going to leverage some iOS tooling for cross platforms technology: <em>fastlane</em> and <em>Flutter</em>.</p> Currency TextField in SwiftUI https://benoitpasquier.com/currency-textfield-in-swiftui/ Thu, 04 Nov 2021 06:00:00 +0000 https://benoitpasquier.com/currency-textfield-in-swiftui/ <p>Between banking and crypto apps, it&rsquo;s quite often we interact with currency inputs on daily basis. If creating a localized <code>UITextField</code> can already be tricky in UIKit, I was wondering how hard it would be to do a similar one in SwiftUI. Let&rsquo;s see today how to create a localized currency <code>TextField</code> in SwiftUI.</p> Open Source checklist for your next Swift library https://benoitpasquier.com/open-source-checklist-swift-library/ Sat, 11 Sep 2021 08:00:00 +0000 https://benoitpasquier.com/open-source-checklist-swift-library/ <p>Like many developers, I use open source tools on daily basis. Recently, I&rsquo;ve got the chance to create one for other teammates and try to think about what I should consider before launching it. Today I share this checklist.</p> Unit testing UIView action and gesture in Swift https://benoitpasquier.com/unit-testing-uiview-action-gesture-swift/ Fri, 20 Aug 2021 08:00:00 +0000 https://benoitpasquier.com/unit-testing-uiview-action-gesture-swift/ <p>A big part of the developer journey is make sure our code behaves as expected. It&rsquo;s best practice to setup tests that allow us to test quickly and often that nothing is broken. If unit testing is common practice to check the business logic, we can also extend it to cover some specific UI behaviors. <em>Let&rsquo;s how to unit test views and gesture in UIKit</em>.</p> Dependency injection and Generics to create a modular app in Swift https://benoitpasquier.com/modular-app-dependency-injection-generics-swift/ Tue, 10 Aug 2021 08:00:00 +0000 https://benoitpasquier.com/modular-app-dependency-injection-generics-swift/ <p>When we talk about modular app, we rarely mention how complex it can be over time and get out of hand. In most cases, importing frameworks into one another is a reasonable solution but we can do more. Let&rsquo;s explore how with dependency inversion in Swift and how to create order into our components.</p> Things I wish I knew in my early coding career https://benoitpasquier.com/2021/07/things-i-wish-i-knew-in-my-early-coding-career/ Sun, 25 Jul 2021 08:00:00 +0000 https://benoitpasquier.com/2021/07/things-i-wish-i-knew-in-my-early-coding-career/ <p>For the past few years, I had the opportunity to mentor new joiners through different roles. In some aspects, I could see myself in them the same way I started years back: eager to prove themselves, jumping on the code and hacking around.</p> <p>I tried to think about what I learnt the hard way since my first role in the tech industry and how could I help them learn the easy way.</p> Create a web browser with WebKit and SwiftUI https://benoitpasquier.com/create-webview-in-swiftui/ Tue, 15 Jun 2021 08:00:00 +0000 https://benoitpasquier.com/create-webview-in-swiftui/ <p>Recently, I&rsquo;ve been more and more curious about web experience through mobile apps. Most of web browser apps look alike, I was wondering how could I recreate one with WebKit and SwiftUI. <em>Let&rsquo;s dive in.</em></p> Migrating an iOS app to SwiftUI - Database with Realm https://benoitpasquier.com/migrating-ios-app-swiftui-part-2-realm-database/ Mon, 15 Feb 2021 08:00:00 +0000 https://benoitpasquier.com/migrating-ios-app-swiftui-part-2-realm-database/ <p>To move an existing iOS app codebase to SwiftUI can quickly become a challenge if we don&rsquo;t scope the difficulties ahead. After covering the navigation and design layer last week, it&rsquo;s time to dive deeper into the logic and handle the code migration for a database and the user preferences.</p> Migrating an iOS app to SwiftUI - Navigation & Storyboards https://benoitpasquier.com/migrating-ios-app-swiftui-part-1/ Mon, 08 Feb 2021 08:00:00 +0000 https://benoitpasquier.com/migrating-ios-app-swiftui-part-1/ <p>If SwiftUI is great for many things, migrating completely an existing app codebase to it can be really tricky. In a series of blog posts, I&rsquo;ll share how to migrate an iOS app written in Swift with UIKit to SwiftUI. Today, let&rsquo;s start with the navigation and the UI components with storyboards.</p> Creating a webcam utility app for macOS in SwiftUI https://benoitpasquier.com/webcam-utility-app-macos-swiftui/ Sun, 31 Jan 2021 08:00:00 +0000 https://benoitpasquier.com/webcam-utility-app-macos-swiftui/ <p>Did you ever have to share your screen and camera together? I recently did and it was <em>that</em> easy. How hard could it be to create our own? <em>Today, we&rsquo;ll code our own webcam utility app for macOS in SwiftUI</em>.</p> Migrating MVVM architecture from RxSwift to Combine https://benoitpasquier.com/migrating-mvvm-uikit-rxswift-to-combine/ Sun, 24 Jan 2021 08:00:00 +0000 https://benoitpasquier.com/migrating-mvvm-uikit-rxswift-to-combine/ <p>It&rsquo;s been almost two years that Combine has been introduced to the Apple developer community. As many developer, you want to migrate your codebase to it. You don&rsquo;t want to be left behind but you&rsquo;re not sure where to start, maybe not sure if you want to jump to SwiftUI either. Nothing to worry, let&rsquo;s see step by step how to migrate an iOS sample app using UIKit and RxSwift to Combine.</p> How to display date and time in SwiftUI https://benoitpasquier.com/date-formatter-swiftui/ Sun, 17 Jan 2021 08:00:00 +0000 https://benoitpasquier.com/date-formatter-swiftui/ <p>Displaying dates or times is a very common requirement for many apps, often using a specific date formatter. Let&rsquo;s see what SwiftUI brings to the table to make it easier for developers.</p> Create a dynamic onboarding UI in Swift https://benoitpasquier.com/dynamic-onboarding-ios-swift/ Sun, 10 Jan 2021 08:00:00 +0000 https://benoitpasquier.com/dynamic-onboarding-ios-swift/ <p>When creating new features, it&rsquo;s really important to think about how our users will use it. Most of the time, the UI is straightforward enough. However, sometimes, you will want to give some guidance, to highlight a button or a switch, with a message attached. Today, we&rsquo;ll create a reusable and adaptable overlay in Swift to help onboard mobile users for any of your features.</p> Goodbye 2020 - A year in perspective https://benoitpasquier.com/goodbye-2020-year-perspective/ Wed, 30 Dec 2020 08:00:00 +0000 https://benoitpasquier.com/goodbye-2020-year-perspective/ <p>Close to the end of the year, I tend to list what I&rsquo;ve accomplished but also what didn&rsquo;t go so well, to help me see what can I do better next year. With couple days early, it&rsquo;s time to look back at 2020.</p> How to pass data between views using Coordinator pattern in Swift https://benoitpasquier.com/data-between-views-using-coordinator-pattern-swift/ Mon, 26 Oct 2020 08:00:00 +0000 https://benoitpasquier.com/data-between-views-using-coordinator-pattern-swift/ <p>A question that comes back often when using Coordinator pattern in iOS development is how to pass data between views. Today I&rsquo;ll share different approaches for a same solution, regardless if you are using MVVM, MVC or other architectural design pattern.</p> Automating App Store localized screenshots with XCTest and Xcode Test Plan https://benoitpasquier.com/automating-appstore-localized-screenshot-xctest/ Mon, 19 Oct 2020 08:00:00 +0000 https://benoitpasquier.com/automating-appstore-localized-screenshot-xctest/ <p>One reason I like so much working on native mobile apps is to deliver the user experience based on their region and location. Although, for every update, it can be painful for developers to recapture screenshots foreach available language. Today, I&rsquo;ll share how to automate this with UI tests and Xcode tools.</p> Playing Video with AVPlayer in SwiftUI https://benoitpasquier.com/playing-video-avplayer-swiftui/ Mon, 12 Oct 2020 08:00:00 +0000 https://benoitpasquier.com/playing-video-avplayer-swiftui/ <p>I&rsquo;ve been experiencing more and more with SwiftUI and I really wanted to see what we can do with video content. Today I&rsquo;ll share my findings, showing how to play video using <code>AVFoundation</code> in SwiftUI, including some mistakes to avoid.</p> With Catalyst and SwiftUI multi-platform, should you create a macOS version of your app? https://benoitpasquier.com/catalyst-swiftui-should-you-create-macos-app/ Tue, 22 Sep 2020 08:00:00 +0000 https://benoitpasquier.com/catalyst-swiftui-should-you-create-macos-app/ <p>With Mac Catalyst and SwiftUI support for macOS, Apple has been pushing new tools to the community for the past couple years to create new services on Mac computers. Does it mean you should do too? Here are couple things to consider first.</p> Create a watchOS app in SwiftUI https://benoitpasquier.com/create-watchos-app-in-swiftui/ Tue, 15 Sep 2020 08:00:00 +0000 https://benoitpasquier.com/create-watchos-app-in-swiftui/ <p>Designing a watchOS app in Swift always felt to be quite tricky. I could spend hours tweaking redoing layout and constraints. With SwiftUI supporting watchOS, I wanted to have a new try at it, releasing a standalone app for Apple Watch.</p> As software engineer, how to face the impostor syndrome? https://benoitpasquier.com/2020/09/as-software-engineer-how-to-face-the-impostor-syndrome/ Sun, 06 Sep 2020 08:00:00 +0000 https://benoitpasquier.com/2020/09/as-software-engineer-how-to-face-the-impostor-syndrome/ <p>Shortly stepping back from coding for a week and reading about the community, I realized it how easy it is to be crushed by anxiety: I see so many great things happening every day, things I want to be part of, but at the same time getting anxiety to be good enough. This is my thoughts of how to face the <strong>impostor syndrome</strong>.</p> Advanced testing tips in Xcode https://benoitpasquier.com/advanced-testing-tips-xcode/ Sun, 16 Aug 2020 08:00:00 +0000 https://benoitpasquier.com/advanced-testing-tips-xcode/ <p>In the last couple years, Apple has made some good efforts to improve their testing tools. Today, I&rsquo;ll walk you through some tips to make sure your test suite run at their best capacity.</p> Atomic properties and Thread-safe data structure in Swift https://benoitpasquier.com/atomic-properties-thread-safe-data-structure-swift/ Sun, 02 Aug 2020 08:00:00 +0000 https://benoitpasquier.com/atomic-properties-thread-safe-data-structure-swift/ <p>A recurring challenge in programming is accessing a shared resource concurrently. How to make sure the code doesn&rsquo;t behave differently when multiple thread or operations tries to access the same property. In short, how to protect from a race condition?</p> Deploying your Swift code on AWS Lambda https://benoitpasquier.com/deploying-swift-on-aws-lambda/ Tue, 07 Jul 2020 08:00:00 +0000 https://benoitpasquier.com/deploying-swift-on-aws-lambda/ <p>About a month ago, it became possible to run Swift code on AWS Lambda. I was really interesting to try and see how easy it would be to deploy small Swift functions as serverless application. <em>Let&rsquo;s see how.</em></p> Introduction to MVVM pattern in Objective-C https://benoitpasquier.com/introduction-mvvm-pattern-objective-c/ Sun, 14 Jun 2020 08:00:00 +0000 https://benoitpasquier.com/introduction-mvvm-pattern-objective-c/ <p>Even though the iOS ecosystem is growing further every day from Objective-C, some companies still heavily rely on it. A week away for another wave of innovation from WWDC 2020, I thought it would be interesting to dive back into Objective-C starting with a MVVM pattern implementation.</p> 100 day challenge of data structure and algorithm in Swift https://benoitpasquier.com/100-days-algorithm-data-structure-swift/ Mon, 08 Jun 2020 08:00:00 +0000 https://benoitpasquier.com/100-days-algorithm-data-structure-swift/ <p>Since January, I&rsquo;ve been slowing down blogging for couple reasons: I started doubting about myself and the <a href="https://benoitpasquier.com/2020/03/should-i-quit-blogging/">quality of my content</a> but I also wanted to focus more on some fundamentals I felt I was missing. So I committed to a &ldquo;100 day challenge&rdquo; coding challenge, focused on data structure and algorithm in Swift.</p> Data Structure - Implementing a Tree in Swift https://benoitpasquier.com/data-structure-implement-tree-swift/ Sun, 10 May 2020 08:00:00 +0000 https://benoitpasquier.com/data-structure-implement-tree-swift/ <p>Following up previous articles about common data structure in Swift, this week it&rsquo;s time to cover the Tree, a very important concept that we use everyday in iOS development. Let&rsquo;s dive in.</p> Using Key-Value Observing in Swift to debug your app https://benoitpasquier.com/using-key-value-observing-to-debug-your-app/ Fri, 10 Apr 2020 08:00:00 +0000 https://benoitpasquier.com/using-key-value-observing-to-debug-your-app/ <p>Recently, I was looking into a bug where the UITabBar was inconsistently disappearing on specific pages. I tried different approaches but I couldn&rsquo;t get where it got displayed and hidden. That&rsquo;s where I thought about KVO.</p> Data Structure - Coding a Stack in Swift https://benoitpasquier.com/data-structure-implement-stack-swift/ Thu, 02 Apr 2020 08:00:00 +0000 https://benoitpasquier.com/data-structure-implement-stack-swift/ <p>After covering last week how to <a href="https://benoitpasquier.com/data-structure-implement-queue-swift/">code a Queue in Swift</a>, it sounds natural to move on to the Stack, another really handy data structure which also find his place in iOS development. Let&rsquo;s see why.</p> Data Structure - How to implement a Queue in Swift https://benoitpasquier.com/data-structure-implement-queue-swift/ Sun, 29 Mar 2020 08:00:00 +0000 https://benoitpasquier.com/data-structure-implement-queue-swift/ <p>Recently revisiting computer science fundamentals, I was interested to see how specific data structure applies to iOS development, starting this week one of most common data structure: the queue.</p> Should I quit blogging? https://benoitpasquier.com/2020/03/should-i-quit-blogging/ Tue, 24 Mar 2020 08:00:00 +0000 https://benoitpasquier.com/2020/03/should-i-quit-blogging/ <p>When I started this blog in 2012, it was at first to share solution to technical problem I encountered on my daily work, to give back to the community. Over the years, I extended the content to other projects and ideas I had. Nowadays, I get more and more feedbacks on it, sometimes good, sometimes bad, either way something always good to learn from.</p> Start your A/B testing journey with SwiftUI https://benoitpasquier.com/start-ab-testing-journey-with-swiftui/ Mon, 10 Feb 2020 08:00:00 +0000 https://benoitpasquier.com/start-ab-testing-journey-with-swiftui/ <p>Last year, I shared a solution to tackle A/B testing on iOS in swift. Now that we have SwiftUI, I want to see if there is a better way to implement A/B testing. Starting from the same idea, I&rsquo;ll share different implementations to find the best one.</p> How to make your iOS app smarter with sentiment analysis https://benoitpasquier.com/2020/01/how-to-make-your-ios-app-smarter-with-sentiment-analysis/ Tue, 28 Jan 2020 08:00:00 +0000 https://benoitpasquier.com/2020/01/how-to-make-your-ios-app-smarter-with-sentiment-analysis/ <p>For quite some time now, I&rsquo;ve been developing an interest to data analysis to find new ways to improve mobile app. I&rsquo;ve recently found some time to experiment neural language processing for a very specific usecase related to my daily work, sentiment analysis of customer reviews on fashion items.</p> Localization with SwiftUI, how to preview your localized content https://benoitpasquier.com/localization-swiftui-how-top-preview-localized-content/ Sun, 19 Jan 2020 08:00:00 +0000 https://benoitpasquier.com/localization-swiftui-how-top-preview-localized-content/ <p>With SwiftUI being recently introduced, I was curious if we could take advantage of SwiftUI preview to speed up testing localization and make sure your app looks great for any language.</p> SwiftUI - What has changed in your MVVM pattern implementation https://benoitpasquier.com/swiftui-what-has-changed-in-mvvm-pattern-swift/ Sun, 12 Jan 2020 08:00:00 +0000 https://benoitpasquier.com/swiftui-what-has-changed-in-mvvm-pattern-swift/ <p>Introduced in 2019, Apple made UI implementation much simpler with With SwiftUI its UI declarative framework. After some time experiencing with it, I&rsquo;m wondering today if MVVM is still the best pattern to use with. Let&rsquo;s see what has changed, implementing MVVM with SwiftUI.</p> Data Structure and Algorithm applied to iOS https://benoitpasquier.com/data-structure-algorithm-applied-to-swift/ Thu, 19 Dec 2019 08:00:00 +0000 https://benoitpasquier.com/data-structure-algorithm-applied-to-swift/ <p>When asked about data structure and algorithm for an iOS development role, there is always this idea that it&rsquo;s not a knowledge needed. Swift got already native data structure, right? Isn&rsquo;t the rest only UI components? That&rsquo;s definitely not true. Let&rsquo;s step back and discuss about data structure and algorithm applied to iOS development.</p> How to integrate Redux in your MVVM architecture https://benoitpasquier.com/integrate-redux-in-mvvm-architecture/ Mon, 09 Dec 2019 08:00:00 +0000 https://benoitpasquier.com/integrate-redux-in-mvvm-architecture/ <p>For last couple years, I’ve been experimenting different architectures to understand pros and cons of each one of them. Redux architecture is definitely one that peek my curiosity. In this new post, I’ll share my finding pairing Redux with MVVM, another pattern I’m familiar with and more importantly why you probably shouldn&rsquo;t pair them.</p> Software engineer, it's okay to not have a side project https://benoitpasquier.com/2019/10/software-engineer-its-okay-to-not-have-a-side-project/ Sat, 19 Oct 2019 08:00:00 +0000 https://benoitpasquier.com/2019/10/software-engineer-its-okay-to-not-have-a-side-project/ <p>There is a believe that any software developer must contribute or have a side project to work on. Even if it&rsquo;s great to have, I think there is something bigger at stake doing that.</p> How to build a modular architecture in iOS https://benoitpasquier.com/how-build-modular-architecture-ios/ Mon, 30 Sep 2019 08:00:00 +0000 https://benoitpasquier.com/how-build-modular-architecture-ios/ <p>Over time, any code base grows along with the project evolves and matures. It creates two main constraints for developers: how to have a code well organized while keeping a build time as low as possible. <em>Let&rsquo;s see how a modular architecture can fix that</em>.</p> Analytics - How to avoid common mistakes in iOS https://benoitpasquier.com/common-mistakes-analytics-ios-app/ Tue, 24 Sep 2019 08:00:00 +0000 https://benoitpasquier.com/common-mistakes-analytics-ios-app/ <p>I have been interested in analytics tools for a while, especially when it&rsquo;s applied to mobile development. Over the time, I saw many code mistakes when implementing an analytical solution. Some of them can be easily avoided when developer got the right insights, let&rsquo;s see how.</p> Apps and Projects https://benoitpasquier.com/portfolio/ Sun, 22 Sep 2019 08:00:00 +0000 https://benoitpasquier.com/portfolio/ Over the time, I spent quite some time building different apps and projects. Here is the list of the one that became something. Lighthouse is a webapp written in Swift to test universal link configuration. Driiing, a running companion app to signal runners coming to pedestrians. Appy, an iOS app that takes helps you quit your bad habit. Square is an resizing tool for app icons written in Rust. Japan Direct, an itinerary app for iOS to visit Japan like a local. Events and Talks https://benoitpasquier.com/talks/ Sun, 22 Sep 2019 08:00:00 +0000 https://benoitpasquier.com/talks/ I recently tried to be more active in the iOS community. Becoming speaker and talks to events is my next challenged. Here is the list of talks I&rsquo;ve made so far. My very first one was recently at iOS meetup Singapore in July 2019, talking about scalability of an iOS app along with your team. You can read more about this whole new journey here. I also got chance to be part of iOS Conf SG 2021, an online version of the very popular international event iOS Conf SG. Code Coverage in Xcode - How to avoid a vanity metric for your iOS app https://benoitpasquier.com/code-coverage-xcode-avoid-vanity-metric-ios/ Mon, 26 Aug 2019 08:00:00 +0000 https://benoitpasquier.com/code-coverage-xcode-avoid-vanity-metric-ios/ <p>Since Xcode 7, iOS developers can generate a code coverage for their app: a report showing which area of their app is covered by unit tests. However, this is isn&rsquo;t always accurate, let&rsquo;s see why you should not base your code health only on code coverage.</p> Appy, an iOS app to help you quit your bad habits https://benoitpasquier.com/appy-ios-app-quit-bad-habits/ Wed, 14 Aug 2019 10:00:00 +0000 https://benoitpasquier.com/appy-ios-app-quit-bad-habits/ <p>It has been a while since I wanted to create something helpful to others, not than just another <em>random</em> app. Then I found out there were not so many great sobriety apps, so I launched one. Here is <strong><a href="https://apps.apple.com/us/app/appy-stay-sober-today/id1474450877">Appy</a></strong>, to help you quit your bad habits.</p> How to integrate Sign In with Apple in your iOS app https://benoitpasquier.com/how-to-integrate-sign-in-with-apple-ios/ Mon, 05 Aug 2019 08:00:00 +0000 https://benoitpasquier.com/how-to-integrate-sign-in-with-apple-ios/ <p>With iOS13, Apple is introducing “Sign In with Apple”, an authentication system that allows user create an account for your app based on their Apple ID. Let’s see how to integrate it in your app and be ready for iOS13 launch.</p> How to avoid common mistakes for your first iOS talk https://benoitpasquier.com/how-to-avoid-mistakes-first-ios-talk/ Tue, 30 Jul 2019 08:00:00 +0000 https://benoitpasquier.com/how-to-avoid-mistakes-first-ios-talk/ <p>I have been a bit more quite for the past couple weeks to take a break of my weekly routine of blogging. It&rsquo;s not because I was lazy, but I wanted to take time to digest WWDC. At the same time I had other running projects, one was my first talk at an iOS meetup. Here is couple tips I would have love to hear earlier.</p> First steps in functional reactive programming in Swift with Apple Combine framework https://benoitpasquier.com/first-steps-apple-combine-framework-swift/ Fri, 21 Jun 2019 08:00:00 +0000 https://benoitpasquier.com/first-steps-apple-combine-framework-swift/ <p>One debate over the past year in the iOS ecosystem was the around functional reactive framework like RxSwift or ReactiveCocoa. This year at WWDC2019, Apple took position on it and released their own functional reactive programming framework, here is <em>Combine</em>.</p> iOS Code Review - Health check of your Swift code https://benoitpasquier.com/code-review-health-check-of-swift-code/ Mon, 10 Jun 2019 08:00:00 +0000 https://benoitpasquier.com/code-review-health-check-of-swift-code/ <p>I have been recently asked to review an iOS application to see how healthy was the code base, if it follows the best practices and how easy it would be to add new features to it. If I review some code on daily basis for small pull requests, analyzing one whole app at once is quite different exercise. Here is some guidelines to help doing that analysis.</p> How to implement Coordinator pattern with RxSwift https://benoitpasquier.com/integrate-coordinator-pattern-in-rxswift/ Tue, 04 Jun 2019 08:00:00 +0000 https://benoitpasquier.com/integrate-coordinator-pattern-in-rxswift/ <p>After weeks experimenting different patterns and code structures, I wanted to go further in functional reactive programming and see how to take advantage of it while following Coordinator pattern. This post describes how integrate RxSwift with Coordinator pattern and which mistakes to avoid.</p> ReSwift - Introduction to Redux architecture in Swift https://benoitpasquier.com/intro-redux-in-swift-with-reswift/ Sun, 26 May 2019 08:00:00 +0000 https://benoitpasquier.com/intro-redux-in-swift-with-reswift/ <p>If you are not familiar with it, <em>Redux</em> a Javascript open source library designed to manage web application states. It helps a lot to make sure your app always behaves as expected and makes your code easier to test. <em>ReSwift</em> is the same concept but in Swift. Let&rsquo;s see how.</p> Tools and tips to scale your iOS project along with your team https://benoitpasquier.com/tools-tips-to-scale-ios-project-and-team/ Mon, 20 May 2019 08:00:00 +0000 https://benoitpasquier.com/tools-tips-to-scale-ios-project-and-team/ <p>We often talk about scalability of iOS app but not much about the project itself or the team. How to prepare your project to move from 2 developers to 6? How about 10 or 20 more? In that research, I’ve listed different tools to prepare your team and project to scale.</p> RxSwift & MVVM - Advanced concepts of UITableView with RxDataSources https://benoitpasquier.com/advanced-concepts-uitableView-rxdatasource/ Sun, 05 May 2019 08:00:00 +0000 https://benoitpasquier.com/advanced-concepts-uitableView-rxdatasource/ <p>For the past months, I keep going further in RxSwift usage. I really like the idea of forwarding events through different layers but the user interface stays sometimes a challenge. Today, I’ll describe how to use RxDataSources to keep things as easy as possible.</p> How to use Vapor Server to write stronger UI tests in Swift https://benoitpasquier.com/how-to-use-vapor-server-ui-tests-swift/ Sun, 28 Apr 2019 08:00:00 +0000 https://benoitpasquier.com/how-to-use-vapor-server-ui-tests-swift/ <p>Even if I usually stay focus on the customer facing side of mobile development, I like the idea of writing backend api with all the security that Swift includes. Starting small, why not using Swift Server for our UI Tests to mock content and be at the closest of the <em>real app</em>.</p> How to bootstrap your iOS app to iterate faster https://benoitpasquier.com/how-to-bootstrap-ios-app-to-iterate-faster/ Mon, 22 Apr 2019 08:00:00 +0000 https://benoitpasquier.com/how-to-bootstrap-ios-app-to-iterate-faster/ <p>I love developing new iOS apps and create new products. However, regardless of the project, it often need a team to mix the required skills: design, coding, marketing. Although, this less and less true, so let’s see how to bootstrap your iOS app.</p> RxSwift & MVVM - How to use RxTests to test your ViewModel https://benoitpasquier.com/how-to-use-rxtests-to-test-mvvm/ Mon, 15 Apr 2019 08:00:00 +0000 https://benoitpasquier.com/how-to-use-rxtests-to-test-mvvm/ <p>Not that long ago, I wrote how to pair RxSwift with MVVM architecture in an iOS project. Even if I refactored my code to be reactive, I omitted to mention the unit tests. Today I’ll show step by step how to use RxTest to unit test your code.</p> Down the rabbit hole of iOS design patterns https://benoitpasquier.com/down-rabbit-hole-ios-design-patterns/ Mon, 08 Apr 2019 08:00:00 +0000 https://benoitpasquier.com/down-rabbit-hole-ios-design-patterns/ <p>For years now, the whole iOS community has written content about the best way to improve or replace the Apple MVC we all started with, myself included. MVC, MVVM, MVP, VIPER? Regardless the type of <em>snake</em> you have chosen, it’s time to reflect on that journey.</p> Coordinator & MVVM - Clean Navigation and Back Button in Swift https://benoitpasquier.com/coordinator-pattern-navigation-back-button-swift/ Mon, 01 Apr 2019 08:00:00 +0000 https://benoitpasquier.com/coordinator-pattern-navigation-back-button-swift/ <p>After introducing how to implement Coordinator pattern with an MVVM structure, it feels natural for me to go further and cover some of the blank spots of Coordinator and how to fix along the way.</p> Reversi - An elegant A/B testing framework for iOS in Swift. https://benoitpasquier.com/reversi-ab-testing-framework-ios/ Mon, 25 Mar 2019 08:00:00 +0000 https://benoitpasquier.com/reversi-ab-testing-framework-ios/ <p>Couple weeks ago, I heard somebody talking about A/B testing in iOS and how &ldquo;<em>mobile native A/B testing is hard to implement</em>&rdquo;. It didn’t sound right to me. So I build a tiny framework for that in Swift. Here is <strong><a href="https://github.com/popei69/reversi">Reversi</a></strong>.</p> Dos and Don’ts for creating an onboarding journey on iOS https://benoitpasquier.com/dos-donts-onboarding-ios/ Mon, 18 Mar 2019 08:00:00 +0000 https://benoitpasquier.com/dos-donts-onboarding-ios/ <p>I was recently searching for onboarding journey in iOS, that succession of screens displayed at the first launch of a freshly installed mobile app. But regardless how beautiful the design can be, why so many people are tempted to skip it. I listed things to consider while creating an onboarding journey for your iOS app.</p> Introduction to Coordinator pattern in Swift https://benoitpasquier.com/coordinator-pattern-swift/ Mon, 11 Mar 2019 08:00:00 +0000 https://benoitpasquier.com/coordinator-pattern-swift/ <p>After some times creating different iOS apps following an <a href="https://benoitpasquier.com/ios-swift-mvvm-pattern/">MVVM pattern</a>, I’m often not sure how to implement the navigation. If the View handles the rendering and user’s interactions and the ViewModel the service or business logic, where does the navigation sit? <em>That’s where Coordinator pattern takes place.</em></p> How to create a customer focused mobile app https://benoitpasquier.com/how-to-create-customer-focused-mobile-app/ Mon, 04 Mar 2019 08:00:00 +0000 https://benoitpasquier.com/how-to-create-customer-focused-mobile-app/ <p>Last year, I launched with a friend <a href="https://benoitpasquier.com/japan-direct-ios-app/">Japan Direct</a>, an itinerary app for Japan travellers. Even if the first version came up quite quickly, I kept iterate but always staying focus on customer feedback first. Almost a year later, it’s good time for synthesis, see what worked and how we created a customer focused app.</p> Adaptive Layout and UICollectionView in Swift https://benoitpasquier.com/adaptive-layout-collectionview-swift/ Tue, 26 Feb 2019 08:00:00 +0000 https://benoitpasquier.com/adaptive-layout-collectionview-swift/ <p>Apple introduced in iOS8 trait variations that let developers create more adaptive design for their mobile apps, reducing code complexity and avoiding duplicated code between devices. But how to take advantage of variations for UICollectionView?</p> <p>This post will cover how to setup variations via Interface Builder as well but also programatically, using AutoLayout and UITraitVariation with a UICollectionView to create a unique adaptive design.</p> RxSwift & MVVM - An alternative structure for your ViewModel https://benoitpasquier.com/rxswift-mvvm-alternative-structure-for-viewmodel/ Mon, 18 Feb 2019 08:00:00 +0000 https://benoitpasquier.com/rxswift-mvvm-alternative-structure-for-viewmodel/ <p>For last couple weeks, I’ve worked a lot about how to integrate RxSwift into an iOS project but I wasn’t fully satisfied with the view model. After reading many documentation and trying on my side, I’ve finally found a structure I’m happy with.</p> Create a machine learning model to classify Fashion images in Swift https://benoitpasquier.com/machine-learning-fashion-swift/ Sun, 10 Feb 2019 08:00:00 +0000 https://benoitpasquier.com/machine-learning-fashion-swift/ <p>Since WWDC18, Apple made it way easier to developers to create model for machine learning to integrate iOS apps. I have tried myself in the past different models, one for face detection and create another with Tensorflow to fashion classification during a <a href="https://benoitpasquier.com/image-classification-tensorflow-hackathon">hackathon</a>. Today I’ll share with you how I create a model dedicated to fashion brands.</p> How to integrate RxSwift in your MVVM architecture https://benoitpasquier.com/integrate-rxswift-in-mvvm/ Wed, 06 Feb 2019 08:00:00 +0000 https://benoitpasquier.com/integrate-rxswift-in-mvvm/ <p>It took me quite some time to get into Reactive Programming and its variant adapted for iOS development with RxSwift and RxCocoa. However, being fan of MVVM architecture and using an <em><a href="https://benoitpasquier.com/observer-design-pattern-swift/">observer design pattern</a></em> with it, it was natural for me to revisit my approach and use RxSwift instead. Thats what I’m going to cover in this post.</p> Design pattern in Swift - Delegation https://benoitpasquier.com/delegate-design-pattern-swift/ Mon, 28 Jan 2019 08:00:00 +0000 https://benoitpasquier.com/delegate-design-pattern-swift/ <p>The delegation pattern is one of the most common design pattern in iOS. You probably use it on daily basis without noticing, every time you create a UITableView or UICollectionView and implementing their delegates. Let’s see how it works and how to implement it in Swift.</p> UI testing - How to inspect your iOS app with Calabash and Appium https://benoitpasquier.com/ui-testing-inspect-ios-app/ Mon, 21 Jan 2019 08:00:00 +0000 https://benoitpasquier.com/ui-testing-inspect-ios-app/ <p>Part of the journey in software development is testability. Regarding mobile development, testability for your iOS app goes through UI testing. Let’s see different way to inspect any UI elements and prepare your iOS app for UI automation testing.</p> Don't forget what you've accomplished this year https://benoitpasquier.com/new-year-2019/ Mon, 07 Jan 2019 08:00:00 +0000 https://benoitpasquier.com/new-year-2019/ <p>While wishing a happy new year around me, people helped me realised how many good things happened to me this year. Funny enough, while listing my goals for 2019, I found the matching list for 2018 and here is what really happened.</p> Develop your creativity with ephemeral iOS apps https://benoitpasquier.com/develop-creativity-ios-apps/ Thu, 20 Dec 2018 08:00:00 +0000 https://benoitpasquier.com/develop-creativity-ios-apps/ <p>From my first year studying computer science, I’ve always wanted to do more on my free time and create simple projects that could be useful for others. I won’t lie, I wish I was able to monetize them but regardless the outcome, learning was always part of the journey.</p> Design pattern in Swift - Observers https://benoitpasquier.com/observer-design-pattern-swift/ Wed, 12 Dec 2018 08:00:00 +0000 https://benoitpasquier.com/observer-design-pattern-swift/ <p>During this year, I have blogged quite a bit about code architecture in Swift and I’ve realized that I didn’t explain much about which design pattern to use with it. In a series of coming posts, I will cover different design patterns, starting now with <strong>observer</strong>.</p> Build a visual search app with TensorFlow in less than 24 hours https://benoitpasquier.com/image-classification-tensorflow-hackathon/ Thu, 08 Nov 2018 08:00:00 +0000 https://benoitpasquier.com/image-classification-tensorflow-hackathon/ <p>For a while now, I really wanted to work on a machine learning project, especially since Apple let you import trained model in your iOS app now. Last September, I took part of a 24h hackathon for an e-commerce business, that was my chance to test it. The idea was simple: a visual search app, listing similar products based on a picture.</p> Always keep your skills sharp https://benoitpasquier.com/always-keep-your-skills-sharp/ Sun, 21 Oct 2018 08:00:00 +0000 https://benoitpasquier.com/always-keep-your-skills-sharp/ <p>It has been couple months since my last post and despite the idea, a lot of things kept me busy far from blogging. Looking back, it all articulates around the same idea: why it’s important to always keep your skills sharp.</p> How to detect if your iOS app hits product market fit https://benoitpasquier.com/detect-product-market-fit-ios/ Mon, 27 Aug 2018 08:00:00 +0000 https://benoitpasquier.com/detect-product-market-fit-ios/ <p>Couple months ago, I’ve built an app and released it on the App Store. Since published, I really wanted to see how it lives and understand how to make it grow. Ideally, I wanted to know if there is a product / market fit. In the article, I describe each steps and ideas that helped my app grow and what I learnt from it.</p> The best way to encode and decode JSON in Swift4 https://benoitpasquier.com/encoding-decoding-json-swift4/ Mon, 06 Aug 2018 08:00:00 +0000 https://benoitpasquier.com/encoding-decoding-json-swift4/ <p>Most of mobile apps interact at some point with remote services, fetching data from an api, submitting a form&hellip; Let&rsquo;s see how to use <em>Codable</em> in Swift to easily encode objects and decode JSON in couple lines of codes.</p> Why choosing XCUITest framework over Appium for UI automation testing https://benoitpasquier.com/choosing-xcuitest-over-appium-ui-testing/ Wed, 20 Jun 2018 08:00:00 +0000 https://benoitpasquier.com/choosing-xcuitest-over-appium-ui-testing/ <p>I recently went for a Swift conference and UI automation testing was one of the subject. I already mentioned it with Appium in the past but I think it’s time to go back to it and explain why today I still prefer using Apple’s testing framework instead.</p> Why and how to add home screen shortcut for your iOS app https://benoitpasquier.com/adding-home-screen-action-swift/ Tue, 05 Jun 2018 08:00:00 +0000 https://benoitpasquier.com/adding-home-screen-action-swift/ <p>I recently implemented 3D touch for an app and I was very interested about home screen quick actions. If it can be a good way to improve user experience, it doesn&rsquo;t mean your app always needs it. In this article, I explain how to add home screen shortcut for your app in Swift but mostly why can justify implementing it.</p> What I learn from six years of blogging https://benoitpasquier.com/learning-from-blogging/ Mon, 28 May 2018 08:00:00 +0000 https://benoitpasquier.com/learning-from-blogging/ <p>I recently realised that my first blog post was 6 years ago. It&rsquo;s a good occasion for me to do a little retrospective and share what I learnt from blogging over the years.</p> Error handling in MVVM architecture in Swift https://benoitpasquier.com/error-handling-swift-mvvm/ Tue, 22 May 2018 08:00:00 +0000 https://benoitpasquier.com/error-handling-swift-mvvm/ <p>If you care about user experience, error handling is a big part you have to cover. We can design how an mobile app looks like when it works, but what happen when something goes wrong. Should we display an alert to the user? Can the error stay silent? And mostly how to implement it the best way with your current design pattern? Let’s see our options while following MVVM pattern.</p> From the idea of an iOS app to App Store in 10 hours https://benoitpasquier.com/japan-direct-ios-app/ Tue, 15 May 2018 10:00:00 +0000 https://benoitpasquier.com/japan-direct-ios-app/ <p>The best way to learn and become more creative as a developer is to focus on a side project. A really good friend coming back from Japan came to me with an idea when I needed <em>that</em> side project. This is how we created <strong><a href="https://itunes.apple.com/us/app/japan-direct/id1383391252?ls=1&amp;mt=8">Japan Direct</a></strong>, from the idea to the App Store in almost no time.</p> How to optimise your UICollectionView implementation in Swift https://benoitpasquier.com/optimise-uicollectionview-swift/ Thu, 26 Apr 2018 08:00:00 +0000 https://benoitpasquier.com/optimise-uicollectionview-swift/ <p>For the last couple weeks, I tried to step back on my development to analyse what is time consuming in mobile development. I realised that most of new views are based on same approach, reimplementing an similar structure around a UICollectionView or UITableView.</p> <p>What if I can have a more generic approach where I can focus only on what matters, the user experience. That’s what I tried to explore in this article.</p> Support universal links in your iOS app https://benoitpasquier.com/universal-links-ios/ Wed, 11 Apr 2018 08:00:00 +0000 https://benoitpasquier.com/universal-links-ios/ <p>Last couple weeks, I have traveled with only my iPhone with me and I realised how many apps I daily used still relying on their websites. Even with the right iOS app installed, I had to browse on Safari app to get specific details. That is why it’s so important to support universal links in iOS. Let me show you how.</p> Make the most of enumerations in Swift https://benoitpasquier.com/enumerations-in-swift/ Wed, 14 Mar 2018 08:00:00 +0000 https://benoitpasquier.com/enumerations-in-swift/ <p>Enumerations have changed a lot between Objective-C and Swift. We can easily forget how useful and powerful it can. I wanted to get back to it through simple examples to make the most of it.</p> How to integrate Firebase in your iOS app https://benoitpasquier.com/integrate-firebase-ios-app/ Wed, 07 Mar 2018 08:00:00 +0000 https://benoitpasquier.com/integrate-firebase-ios-app/ <p>Firebase is a set of tools introduced by Google to build better mobile apps. I worked with this many times and even if it’s straight forward to integrate, here are couple advices of implementation to make the most of it.</p> From lean programming to growth marketing https://benoitpasquier.com/lean-programming-to-growth-marketing/ Tue, 27 Feb 2018 08:00:00 +0000 https://benoitpasquier.com/lean-programming-to-growth-marketing/ <p>I recently followed a growth marketing course, introducing mindset and methodology to make a company grow. I learnt a lot from it and since, I try to apply this knowledge on a daily basis. After more reflection on it, a lot of ideas looked very similar to software development job, this is the part I would like to share.</p> Introduction to Protocol-Oriented Programming in Swift https://benoitpasquier.com/introduction-protocol-oriented-programming-swift/ Tue, 20 Feb 2018 08:00:00 +0000 https://benoitpasquier.com/introduction-protocol-oriented-programming-swift/ <p>When I started coding years ago, it was all about object oriented programming. With Swift, a new approach came up, making the code even easier to reuse and to test, <em><strong>Protocol-Oriented Programming</strong></em>.</p> Why you should abstract any iOS third party libraries https://benoitpasquier.com/abstract-ios-third-party-libraries/ Wed, 14 Feb 2018 08:00:00 +0000 https://benoitpasquier.com/abstract-ios-third-party-libraries/ <p>If you have an iOS app, you might have integrated external libraries and tools to help you getting your product ready faster. However your iOS architecture and swift code shouldn’t depend on those libraries.</p> Optimise Xcode build to speed Fastlane https://benoitpasquier.com/optimise-xcode-build-fastlane/ Fri, 09 Feb 2018 08:00:00 +0000 https://benoitpasquier.com/optimise-xcode-build-fastlane/ <p>The best part of continuous integration is the ability to automatically run tests and build apps, ready to be deployed. However, automatic build doesn’t mean smart or optimised build. Here are some tips I collected along the way to speed up delivery process.</p> Unit Testing your MVVM architecture in Swift https://benoitpasquier.com/unit-test-swift-mvvm-pattern/ Fri, 02 Feb 2018 08:00:00 +0000 https://benoitpasquier.com/unit-test-swift-mvvm-pattern/ <p>To be sure new code won&rsquo;t break old one already implemented, it’s best practice to write unit tests. When it comes to app architectures, it can be a challenge to write those tests. Following an MVVM pattern, <em>how to unit test a view and its viewModel?</em> That’s what I would like to cover here using dependency injection.</p> How to implement MVVM pattern in Swift from scratch https://benoitpasquier.com/ios-swift-mvvm-pattern/ Thu, 25 Jan 2018 08:00:00 +0000 https://benoitpasquier.com/ios-swift-mvvm-pattern/ <p>Creating a new app often raise the question of what architecture to choose, which pattern would fit best. In this post, I show how to implement an MVVM pattern around a sample app in Swift.</p> Kronos, an iOS app to make runners love numbers https://benoitpasquier.com/kronos-ios-runners/ Tue, 16 Jan 2018 08:00:00 +0000 https://benoitpasquier.com/kronos-ios-runners/ <p>In 2017, I managed to run about 750 miles (1200 km), it&rsquo;s 250 miles more than the year before. I know it because Strava tracked it for me. I&rsquo;m such a fan of their product than using it becomes part of my routine and my training. Although, during that journey, I always missed numbers that talked to me. That is how I created <a href="https://itunes.apple.com/us/app/kronos/id1332488090">Kronos</a>.</p> Starting your year the right way https://benoitpasquier.com/starting-year-right-way/ Tue, 09 Jan 2018 08:00:00 +0000 https://benoitpasquier.com/starting-year-right-way/ <p>Starting a new year is always exciting. Most of us have new resolutions and a bucket list we want to accomplish for 2018 but it’s quite often that as soon something go wrong, the whole list goes wrong. Here is some advices to keep track on it.</p> Do you need a Today extension for your iOS app? https://benoitpasquier.com/do-you-need-today-extension-ios/ Tue, 19 Dec 2017 08:00:00 +0000 https://benoitpasquier.com/do-you-need-today-extension-ios/ <p>For the last couple months, I observed Today extensions of some of iOS apps I daily use to see when those widgets are useful and how to justify developing one. Here are my conclusions.</p> Face detection in iOS with Core ML and Vision in Swift https://benoitpasquier.com/face-detection-core-ml-vision-ios/ Wed, 06 Dec 2017 08:00:00 +0000 https://benoitpasquier.com/face-detection-core-ml-vision-ios/ <p>With iOS11, Apple introduced the ability to integrate machine learning into mobile apps with Core ML. As promising as it sounds, it also has some limitations, let’s discover it around a face detection sample app.</p> Making five years in three https://benoitpasquier.com/making-five-years-in-three/ Sun, 26 Nov 2017 08:00:00 +0000 https://benoitpasquier.com/making-five-years-in-three/ <p>I always thought a good way to stay motivated and look forward is to have goal you can accomplish in a short term, about 3 to 12 months maximum. It’s at least the way I dealt with my life after being graduated.</p> How to use Javascript with WKWebView in Swift https://benoitpasquier.com/ios-webkit-swift-and-javascript/ Tue, 21 Nov 2017 08:00:00 +0000 https://benoitpasquier.com/ios-webkit-swift-and-javascript/ <p>Embedding web into native apps is a frequent approach to quickly add content into a mobile app. It can be for a contact form but also for more complex content to bootstrap a missing native feature. But you can go further and build a two bridge between Web and Mobile using JavaScript and Swift.</p> Using Charles as SSL Proxy on iOS https://benoitpasquier.com/charles-ssl-proxy-ios/ Tue, 14 Nov 2017 10:00:00 +0000 https://benoitpasquier.com/charles-ssl-proxy-ios/ <p>Most of apps use HTTPS request to access data, and because of SSL encryption, it can be tough to debug it from iOS apps that are already on the App Store. Charles is the perfect tool to help you inspect your HTTPS requests.</p> Create your private CocoaPod library https://benoitpasquier.com/create-your-private-cocoapod-library/ Sun, 15 Oct 2017 10:00:00 +0000 https://benoitpasquier.com/create-your-private-cocoapod-library/ <p>Libraries and external dependencies have always been a good way to avoid developers recreate something already existing. It&rsquo;s also a good way to help each other and leaving something reusable. CocoaPods is the most used tool to manage dependencies around Xcode projects. Let&rsquo;s see how to create your own private pod.</p> How to be what you want to be https://benoitpasquier.com/be-what-you-want-to-be/ Wed, 30 Aug 2017 10:00:00 +0000 https://benoitpasquier.com/be-what-you-want-to-be/ <p>Starting 2017, I decided that this year would be mine. It doesn&rsquo;t mean everything would be given, but I would stay open to new opportunities and stay actor of my life, be what I want to be. Half way, here is time for reflection.</p> Build your Android app with Bitbucket Pipeline and HockeyApp https://benoitpasquier.com/bitbucket-pipeline-and-hockeyapp/ Tue, 30 May 2017 10:00:00 +0000 https://benoitpasquier.com/bitbucket-pipeline-and-hockeyapp/ <p>Configuring a continuous integration can be tricky for mobile apps. Let&rsquo;s see how quick it is to build an Android app with Bitbucket Pipeline and deliver it with App Center app (ex HockeyApp).</p> How to migrate from WordPress to a static website with Hugo and AWS https://benoitpasquier.com/migrate-wordpress-to-hugo/ Wed, 10 May 2017 10:00:00 +0000 https://benoitpasquier.com/migrate-wordpress-to-hugo/ <p>Recently, I got a reminder that my domain name and shared host would eventually expire this summer. I always had a WordPress for my website and thought it was time to move on for something easier to maintain. Here is how I managed to migrate my WordPress blog to a static website with Hugo on AWS.</p> 10 weeks training with running mobile apps https://benoitpasquier.com/10-weeks-training-with-running-mobile-apps/ Mon, 17 Apr 2017 21:40:30 +0000 https://benoitpasquier.com/10-weeks-training-with-running-mobile-apps/ <p>This year, I finally signed up for a marathon and the way I use running apps and their services have clearly changed. Giving the best user experience around those services is essential to make the app useful. Here is my feedback as a mobile developer during my last 10 weeks training.</p> French Election 2017, don't get fooled by surveys https://benoitpasquier.com/french-election-2017/ Mon, 27 Feb 2017 22:51:54 +0000 https://benoitpasquier.com/french-election-2017/ <p>Technology has never been as important as today in politics. Everything is related to numeric data. If we only analyze news around US elections in 2016, it was mostly about email hacks, fake news in daily news feed, or online surveys. Concerned about French elections 2017, I wanted to be a bit more active and do something related the last one: to online surveys.</p> Six months of Android development https://benoitpasquier.com/six-months-of-android-development/ Wed, 25 Jan 2017 14:25:53 +0000 https://benoitpasquier.com/six-months-of-android-development/ <p>In my current role at Qudini, I started as an iOS developer. My main task was to create and improve our mobile products for iOS devices based on what was already done on Android. However I wanted to be more efficient in my job and I thought it could be by impacting more users through Android development. Once our iOS apps were at the same level as the Android one, I push the idea that it would be better I start doing Android too. Here is my feedback after 6 months developing on Android.</p> Feature flag your mobile app with Apptimize https://benoitpasquier.com/feature-flag-mobile-apptimize/ Wed, 16 Nov 2016 22:06:56 +0000 https://benoitpasquier.com/feature-flag-mobile-apptimize/ <p>Recently, I got the chance to integrate feature flags into a mobile app I work on. The idea of feature flag is simple, it lets you enable and manage features in your mobile app remotely without requiring a new release. Let see the benefice of it and how integrate a feature flag solution like Apptimize&rsquo;s one.</p> Xcode script automation for SauceLabs https://benoitpasquier.com/xcode-saucelabs/ Mon, 03 Oct 2016 20:29:31 +0000 https://benoitpasquier.com/xcode-saucelabs/ <p>Couple months ago, I&rsquo;ve tried to set a mobile testing environment with Appium and one of the best tools to execute these tests was <strong>SauceLabs, a cloud platform dedicated for testing</strong>. SauceLabs is pretty easy to use but here is couple tricks to make even easier.</p> Mobile continuous delivery with bitrise https://benoitpasquier.com/mobile-continuous-delivery-bitrise-io/ Mon, 05 Sep 2016 22:10:16 +0000 https://benoitpasquier.com/mobile-continuous-delivery-bitrise-io/ <p>Continuous integration and continuous delivery is something I wanted to do a while ago, specially since Apple accelerated its approval process to publish new apps on its mobile store. It can now takes less than a day to have an update available for your mobile users: <!-- raw HTML omitted -->continuous integration and continuous delivery makes more sense than ever on mobile apps<!-- raw HTML omitted -->.</p> How can a developer do marketing? https://benoitpasquier.com/how-can-developer-do-marketing/ Sun, 07 Aug 2016 02:44:17 +0000 https://benoitpasquier.com/how-can-developer-do-marketing/ <p>Working as a mobile developer, I created multiple apps during last couple years for companies I worked for, and eventually for personal projects. At the beginning, I though the goal for any developer was the release itself: shipping code and moving on, but I quickly found out that it was more frustrating than everything to stop here. That’s how I started thinking about what should be the next step and if a developer can actually do marketing and how.</p> Growth Hacking applied to your LinkedIn profile to get a new job https://benoitpasquier.com/hack-linkedin-profile/ Thu, 14 Apr 2016 19:10:51 +0000 https://benoitpasquier.com/hack-linkedin-profile/ <p>I recently finished <!-- raw HTML omitted -->Growth Hacking Marketing<!-- raw HTML omitted --> by <em>Ryan Holiday</em> and learn a lot of things about it. Some of them remembered me the way I found my job in London and how I tweaked my LinkedIn profile to fit the targeted audience.</p> How to create an iOS app for Sens'it tracker in Swift https://benoitpasquier.com/sensit-ios-swift/ Wed, 30 Mar 2016 22:12:49 +0000 https://benoitpasquier.com/sensit-ios-swift/ <p>Sens’it is small tracker developed by Sigfox and given for free during events to let people test the Sigfox low frequency IoT network. Let&rsquo;s see how to create an iOS app in Swift based on Sens&rsquo;it api.</p> How to keep your privacy in mobile apps https://benoitpasquier.com/privacy-mobile-apps/ Mon, 01 Feb 2016 23:11:54 +0000 https://benoitpasquier.com/privacy-mobile-apps/ <p>Couple years ago, I worked on a mobile app linked to video and audio recording. I quickly see that, once the user agreed for permissions, it can be easy to track personal data without user noticed it. Let see how limit mobile app permissions to maintain user privacy.</p> Appium, when automation testing can be randomly wrong https://benoitpasquier.com/appium/ Thu, 03 Dec 2015 22:40:23 +0000 https://benoitpasquier.com/appium/ <p>Appium is an UI automation testing framework, helping developers to automatically test their app. This tool can be really powerful but my experience with it let me think it&rsquo;s not enough accurate to be used everyday and at its full potential.</p> UI Automation testing on iOS9 https://benoitpasquier.com/uiautomation-ios9/ Mon, 13 Jul 2015 22:21:15 +0000 https://benoitpasquier.com/uiautomation-ios9/ <p>During WWDC2015, Apple announced big stuff, but they also released awesome features for developers. One of them was dedicated to UI Testing. Working around UI Automation test, I&rsquo;ve just discovered last Xcode 7 and how life is going to be easier with their last feature for that.</p> How to work with native iOS and javascript callbacks in Objective-C https://benoitpasquier.com/ios-and-javascript/ Sat, 23 May 2015 18:11:05 +0000 https://benoitpasquier.com/ios-and-javascript/ <p>Recently I worked on a small iOS mobile project around Javascript. I wanted to load web content from iOS with Javascript inside and get callbacks from Javascript into iOS, to save native data and transmit it to an other controller if needed. The second part was also to call Javascript methods from iOS part.</p> AmbiMac, an app creating your own ambilight https://benoitpasquier.com/ambimac/ Wed, 08 Apr 2015 22:58:49 +0000 https://benoitpasquier.com/ambimac/ <p>Philips created few years ago Ambilight, a TV with a dynamic lights on it back. With two friends, we wanted to design an app with a similar function based on connected light bulb during an hackathon. Here is what we have done in 24h hours of code, let&rsquo;s meet AmbiMac.</p> Introduction to sleep analysis with HealthKit with Swift https://benoitpasquier.com/sleep-healthkit/ Tue, 10 Mar 2015 15:49:12 +0000 https://benoitpasquier.com/sleep-healthkit/ <p>HealthKit is a powerful tool if you want to create an iOS mobile app based on health data. However, it&rsquo;s not only for body measurements, fitness or nutrition; it&rsquo;s also sleep analysis. In this HealthKit tutorial, I will show you how to read and write some sleep data and save them in Health app.</p> <p><strong>UPDATE - April 2020:</strong> Originally written for Swift 1.0, then 2.0, I&rsquo;ve updated this post for latest Swift 5.1 version and Xcode 11.3.</p> Dynamic url rewriting in CodeIgniter https://benoitpasquier.com/dynamic-url-rewriting-codeigniter/ Mon, 02 Mar 2015 20:37:46 +0000 https://benoitpasquier.com/dynamic-url-rewriting-codeigniter/ <p>I work with CodeIgniter almost exclusively on API, but sometimes it can help on short-lived websites. Rewrite url is a good thing to know if you want to optimize SEO for your key pages of a website. That’s what I want to show you and how it’s easy to set it up.</p> Le métier de développeur dans les objets connectés https://benoitpasquier.com/developpeur-objets-connectes/ Sun, 08 Feb 2015 18:43:08 +0000 https://benoitpasquier.com/developpeur-objets-connectes/ <p>Pour la fin de mes études, j’ai choisi de rédiger mon mémoire sur les objets connectés et plus précisément sur le développement de services numériques autour de ces objets. Ce travail de fond m’a permis de prendre du recul sur mon travail mais c’était aussi l’occasion de trouver une définition de ce qu’est un développeur d’objet connecté.</p> Majordhome, le projet né durant un startup weekend https://benoitpasquier.com/majordhome-projet-dun-startup-weekend/ Wed, 24 Dec 2014 13:28:53 +0000 https://benoitpasquier.com/majordhome-projet-dun-startup-weekend/ <p>En Octobre dernier, j’avais travaillé sur le <a href="https://benoitpasquier.com/cocktailmaker-objet-connecte/" title="CocktailMaker, l’objet connecté 100% hackathon">cocktailMaker</a>, un objet connecté facilitant la création de cocktails. Voulant pousser le concept un peu plus loin, je me suis inscrit au startup weekend de Novembre organisé à l’EM Lyon pour découvrir les aspects marketing et business qui me manque aujourd’hui. Retour sur ces 54h de travail acharné.</p> Les difficultés autour des objets connectés https://benoitpasquier.com/les-difficultes-autour-des-objets-connectes/ Sun, 02 Nov 2014 19:27:34 +0000 https://benoitpasquier.com/les-difficultes-autour-des-objets-connectes/ <p>Ces temps ci, il y a beaucoup de bruits autour des objets connectés. Tous les jours, on découvre de nouveaux articles sur des objets connectés annoncés sur le marché ou financés sur des plateformes de “crowdfunding”. On a bien moins d’informations sur toutes les difficultés liées autour de ces projets innovants. Voici mes conclusions sur les recherches que j’ai faites à ce sujet.</p> CocktailMaker, l'objet connecté 100% hackathon https://benoitpasquier.com/cocktailmaker-objet-connecte/ Sun, 26 Oct 2014 16:04:54 +0000 https://benoitpasquier.com/cocktailmaker-objet-connecte/ <p>L’année dernière à cette même période, j’ai participé au Fhacktory, ce <a href="https://benoitpasquier.com/fhacktory-un-hackathon-nouvelle-generation/" title="un hackathon nouvelle génération">hackathon nouvelle génération</a> né à Lyon, avec une application mobile dédiée à la chute libre. Cette année, j’ai pu à nouveau monter sur le podium de cet évènement en développement un objet connecté, le CocktailMaker. Retour sur ce week-end 100% hack.</p> Comment Jawbone s'adapte à l'Internet des Choses https://benoitpasquier.com/comment-jawbone-sadapte-a-linternet-des-choses/ Wed, 15 Oct 2014 00:00:58 +0000 https://benoitpasquier.com/comment-jawbone-sadapte-a-linternet-des-choses/ <p>Sur la place des objets connectés, Jawbone est rapidement devenu un pilier du “quantified-self” (auto-mesure) avec ses bracelets UP et UP24. Je vous propose un décryptage des leurs dernières évolutions afin de rester à la pointe du “wearable”.</p> Moto360 ou Withings Activité https://benoitpasquier.com/moto360-ou-withings-activite/ Mon, 07 Jul 2014 09:29:37 +0000 https://benoitpasquier.com/moto360-ou-withings-activite/ <p>De plus en plus de montres connectées font leur apparition, mais d’après moi, la plupart passe à côté de l’essentiel: la montre reste l’un des seuls accessoires masculin, il faut donc la rendre élégante en respectant sa forme historique. C’est pourquoi, je m’intéresse dans cet article principalement aux montres “habillées” et en attendant la sortie de celle d’Apple, je vous propose un comparatif entre la montre connectée de Motorola et celle de Withings, fraichement annoncée.</p> Mes premiers pas vers le Lean Startup https://benoitpasquier.com/mes-premiers-pas-vers-le-lean-startup/ Sun, 01 Jun 2014 19:44:32 +0000 https://benoitpasquier.com/mes-premiers-pas-vers-le-lean-startup/ <p>Ne voulant pas me limiter à mon background technique, j’essaie de plus en plus de développer des notions d’entrepreneuriat dans l’idée d’être plus utile dans mon analyse technique et de continuer la reflexion autour de différents développement d’applications dans une start-up. L’idée est de ne pas se limiter au développement demandé, mais d’essayer d’appréhender toute la chaine de réflexion, à savoir du besoin de clients jusqu’à l’utilisation d’un nouveau service/produit développé et de voir comment celui-ci est utilisé et ce qu’il faut améliorer.</p> <p>Pour cela, et avec les conseils avisés d’un ami , <!-- raw HTML omitted -->Maxime Salomon<!-- raw HTML omitted -->, j’ai commencé à lire <!-- raw HTML omitted --><!-- raw HTML omitted --><!-- raw HTML omitted -->The Lean Startup<!-- raw HTML omitted --><!-- raw HTML omitted --><!-- raw HTML omitted --> de Eric Ries. Ce livre aborde de nombreux sujets autour de l’entrepreneuriat, du marketing ainsi que de développement de produit à proprement parlé. L’idée est de proposer un cycle itératif de développement pouvant permettre de mesurer rapidement différents paramètres pour faire évoluer un produit en fonction de nouvelles données.</p> <p>Etant d’un formation plus scientifique, j’ai ce besoin de mettre en pratique ce dont il est question pour mieux comprendre la solution proposée, j’ai aussi un besoin de me documenter sur les différents termes employés pour ne pas passer à côté du sujet, c’est pourquoi je prends mon temps pour lire ce livre, mais je vous propose mon retour d’expérience sur mes premiers acquis et comment j’essaie de les mettre en pratique.</p> UP24 - Découverte du bracelet connecté de Jawbone https://benoitpasquier.com/up24-decouverte-du-bracelet-connecte-de-jawbone/ Sun, 11 May 2014 21:20:02 +0000 https://benoitpasquier.com/up24-decouverte-du-bracelet-connecte-de-jawbone/ <p>Nous découvrons chaque jour de plus en plus d’objets connectés, ils se divisent en plusieurs catégories comme la santé, la musique, la lumière, etc. Une bonne partie se retrouve aussi dans le tracking d’activité comme le bracelet Jawbone UP. Etant intéressé de connaitre les performances de ces objets connectés dit “wearable”, je vous propose mon retour d’experience sur le bracelet UP24 ainsi que les services proposés autour.</p> <!-- raw HTML omitted --> <!-- raw HTML omitted --> Introduction à Soundcloud https://benoitpasquier.com/introduction-developpement-soundcloud/ Tue, 22 Apr 2014 22:33:20 +0000 https://benoitpasquier.com/introduction-developpement-soundcloud/ <p>Soundcloud est une des plus grosses plateformes de musique indépendante, c’est plus de 200 millions d’utilisateurs pour ce réseau sociale basé sur le partage musicale. Certains artistes ne publient leurs musiques que sur cette plateforme. C’est aussi la place pour des novices qui veulent essayer leurs titres et se faire connaitre. Vous pouvez aussi  y retrouver des discours, des podcasts et tout autres types de contenu audio.</p> <p>Dans cette optique de toujours avoir de la bonne musique, Soundcloud est disponible sur toutes les plateformes (web et mobile) et l’écoute est gratuite. Pour une utilisation encore plus variée de leur service, SoundCloud propose une API ainsi que de nombreux SDK (Javascript, Ruby, Python, PHP, Cocoa et Java). Nous allons voir ensemble comment intégrer SoundCloud dans une application mobile iPhone.</p> Comment réussir son premier entretien https://benoitpasquier.com/comment-reussir-son-premier-entretien/ Tue, 18 Feb 2014 08:00:48 +0000 https://benoitpasquier.com/comment-reussir-son-premier-entretien/ <p>Passer un entretien pour un poste est toujours un peu stressant. Suivant comment ce stress est géré, la personne peut donner une image de quelqu’un qui n’est pas sûre de soi par ses gestes (tremblement, bafouillement, se frotter les mains) ou par ses mots (ne pas finir ses phrases, phrases à rallonge trop complexe, etc). Difficile dans ces cas là de donner la meilleure image de soi pour montrer qu’on est travailleur, motivé et prêt à l’emploi.</p> <p>Je vous propose par mon retour d’experience quelques conseils simples.</p> Spotify et ses outils d'intégration https://benoitpasquier.com/spotify-et-ses-outils-dintegration/ Sat, 08 Feb 2014 14:46:43 +0000 https://benoitpasquier.com/spotify-et-ses-outils-dintegration/ <p>Après avoir travaillé avec les technologies Deezer, nous allons voir quels outils sont proposés par Spotify pour une intégration web ou mobile. Spotify proposant une écoute gratuite sur son client ordinateur et depuis peu sur mobile (parsemé de publicité), il se démarque de Deezer qui nécessite d’avoir un compte Premium pour une utilisation sur smartphone.  L’intégration pour les développeurs est aussi différente, mais à quelle mesure? C’est ce que nous allons voir.</p> Hackathon: ma maison connectėe https://benoitpasquier.com/hackathon-ma-maison-connectee/ Wed, 11 Dec 2013 14:16:38 +0000 https://benoitpasquier.com/hackathon-ma-maison-connectee/ <p>Les objets connectės sont de plus en plus présents chez nous. On y retrouve des produits comme des ampoules, des enceintes audio ainsi que des prises intelligentes. On y retrouve aussi des produits plus innovants comme le pèse personne de Withings, la balle de Sphero, la lampe connectée “holî” ou encore le capteur pour plante de Parrot.</p> <p>C’est dans cette optique là que l’entreprise Direct Energie a organisée un hackathon autour des objets connectés pour présenter différentes solutions autour de la maîtrise d’énergie et des objets intelligents.</p> <p>C’est en tant que support technique sur le produit “holî” et son SDK que j’y ai participé, afin d’aider les développeurs à se familiariser avec l’outil. Ayant fait un hackathon du côté développeur, c’est un nouveau retour d’expérience cette fois ci du côté partenaire.</p> SpriteKit, un framework iOS7 pour jeu video https://benoitpasquier.com/spritekit-librairie-jeu-video-ios7/ Sat, 23 Nov 2013 12:56:53 +0000 https://benoitpasquier.com/spritekit-librairie-jeu-video-ios7/ <p>Au jour d’aujourd’hui, les jeux vidéos sont de plus en plus présent. Avec l’univers du smartphone, il est de plus en plus facile d’embarquer des jeux vidéos avec nous et ce partout.</p> <p>Plusieurs jeux ont eu un tel succès qu’il reste difficile d’ignorer cet utilisation de nos téléphones en tant que console. A n’en citer que quelques-uns: DoodleJump, AngryBird ou encore le fameux CandyCrush.</p> <p>Depuis la sortie d’iOS7, Apple a rajouté un framework de jeu vidéo 2D directement dans son SDK: SpriteKit. Nous allons voir ensemble comment l’utiliser.</p> Fhacktory, un hackathon nouvelle génération https://benoitpasquier.com/fhacktory-un-hackathon-nouvelle-generation/ Fri, 04 Oct 2013 20:40:32 +0000 https://benoitpasquier.com/fhacktory-un-hackathon-nouvelle-generation/ <p>Un hackathon est l’équivalent d’un marathon sur le domaine du développement informatique. Bien connu sous le système de “Startup Weekend”, ce principe a été adapté dans l’informatique au développement de projet en un temps donné. Le but est de monter en un weekend une équipe qui évoluera autour d’une idée et proposera une solution à un problème. J’ai récemment participé à l’un d’entre eux, le Fhactory: un hackathon se définissant “100% hack, 0% bullshit” et voici mon retour d’expérience.</p> À la découverte des outils de Deezer https://benoitpasquier.com/a-la-decouverte-des-outils-de-deezer/ Mon, 16 Sep 2013 08:00:03 +0000 https://benoitpasquier.com/a-la-decouverte-des-outils-de-deezer/ <p>Deezer étant l’une des plus grosse plateforme d’écoute et de partage de musique, il est intéressant de voir comment se servir des différents outils qu’il nous met à disposition à savoir son API de recherche de morceau et ses différents SDK pour une intégration web ou mobile.</p> <p>Nous allons voir ensemble, comment les utiliser, à quelles fins et quelles en sont les limites. Pour le SDK, je ne m’intéresserai qu’à celui pour iOS.</p> iJump, une application iPhone pour les parachutistes https://benoitpasquier.com/ijump/ Fri, 26 Jul 2013 10:04:34 +0000 https://benoitpasquier.com/ijump/ <p>En lançant le portail web de météo <!-- raw HTML omitted -->Weather<!-- raw HTML omitted -->, mon idée était d’en faire un support pour une version mobile. En effet l’intérêt pour des données météorologiques est de rester nomade et suivre son utilisateur. En intégrant différentes notions associées à la chute libre et avec l’aide de la Fédération Française de Parachutisme, voici iJump: l’application mobile pour les parachutistes.</p> La formation au développement mobile https://benoitpasquier.com/la-formation-au-developpement-mobile/ Wed, 03 Jul 2013 07:02:42 +0000 https://benoitpasquier.com/la-formation-au-developpement-mobile/ <p>Il y a maintenant 6 mois, j’ai commencé une formation afin de devenir enseignant sur les languages Cocoa et Objective-C.</p> <p>Cette formation a compris plusieurs étapes, chacune finissant par un examen afin de passer à la suivante:</p> <ul> <li><!-- raw HTML omitted -->Une partie pédagogique au cours de laquelle nous sommes évalués sur notre capacité à communiquer un message, à faire comprendre une technologie, à la gestion de notre temps de parole ainsi qu’à la tenue une classe.<!-- raw HTML omitted --></li> <li><!-- raw HTML omitted -->Une partie technique où l’évaluation se portait exclusivement sur la connaissance des technologies auxquelles je m’étais proposé. Pour ma part, cela m’a permis de revoir les fondements de Cocoa ainsi que de l’historique la société NeXT.<!-- raw HTML omitted --></li> </ul> <p><!-- raw HTML omitted -->Voici mes différents retours sur ma première experience de formateur.<!-- raw HTML omitted --></p> <!-- raw HTML omitted --> Sencha Touch: framework HTML5 pour application mobile https://benoitpasquier.com/sencha-touch-framework-html5-pour-application-mobile/ Mon, 25 Feb 2013 14:56:37 +0000 https://benoitpasquier.com/sencha-touch-framework-html5-pour-application-mobile/ <p><strong>Introduction:</strong></p> <p>Sencha est un framework HTML5 pour créer des application mobiles multiplateformes. L’intérêt de celui-ci est de faire, à partir d’un projet HTML et de code JSON, une même application mobile sur plusieurs plateformes, un gain de temps incroyable si le code s’y tient. Nous allons voir les premiers pas d’une application à partir de Sencha.</p> MVVM Light sous Windows Phone 8 SDK https://benoitpasquier.com/mvvm-windows-phone-8/ Wed, 30 Jan 2013 12:01:19 +0000 https://benoitpasquier.com/mvvm-windows-phone-8/ <p>Le nouveau système d’exploitation Windows 8 va de paire avec la mise à jour de son système sur mobile: Windows Phone 8.</p> <p>Voici une petite introduction à MVVM Light Toolkit, un jeu de composant se basant sur une structure Model-View-ViewModel sur les frameworks XAML/C#,  pouvant être utilisé pour un développement sur Windows Phone 8.</p> Réalisation: Weather, un portail météo pour la chute libre https://benoitpasquier.com/weather/ Thu, 29 Nov 2012 17:44:47 +0000 https://benoitpasquier.com/weather/ <p><strong>Contexte:</strong></p> <p>Ayant récemment été initié à la chute libre, cette discipline est largement dépendante de la météo.</p> <p>Malheureusement, trouver la météo en temps en “temps réel” suivant son centre de saut n’est pas chose aisé. Même à 10km de son centre de saut, la différence météorologique peut être significative quant à la pratique du parachutisme.</p> <p>C’est pourquoi j’ai décidé de developper un portail web permettant de consulter le dernier relevé météo de n’importe quel centre de saut en France, datant de moins de 12h.</p> Intégration de DataMapper dans CodeIgniter https://benoitpasquier.com/integration-datamapper-codeigniter/ Wed, 28 Nov 2012 15:39:53 +0000 https://benoitpasquier.com/integration-datamapper-codeigniter/ <p><strong>Introduction:</strong></p> <p>Un ORM (Object-relational mapping) est utilisé dans la programmation orienté objet afin de créer virtuellement un modèle en se basant sur une base de donnée. Cela évite de devoir écrire les requêtes dans la base de donnée soit même, un vrai gain de temps.</p> <!-- raw HTML omitted --> <!-- raw HTML omitted --> <!-- raw HTML omitted --> <!-- raw HTML omitted --> <!-- raw HTML omitted --> <!-- raw HTML omitted --> <!-- raw HTML omitted --> <!-- raw HTML omitted --> Réalisation: iDevWeb - Mise à jour https://benoitpasquier.com/realisation-idevweb-mise-a-jour/ Thu, 08 Nov 2012 15:19:24 +0000 https://benoitpasquier.com/realisation-idevweb-mise-a-jour/ <!-- raw HTML omitted --> <!-- raw HTML omitted --> <!-- raw HTML omitted --> <!-- raw HTML omitted --> Librairie Restkit et synchronisation de données https://benoitpasquier.com/librairie-restkit-et-synchronisation-de-donnees/ Thu, 20 Sep 2012 19:00:57 +0000 https://benoitpasquier.com/librairie-restkit-et-synchronisation-de-donnees/ <p><strong>Introduction</strong></p> <p>La synchronisation de données en ligne est une pratique courante afin d’avoir un contenu mis à jour à chaque utilisation (applications d’informations, de news et autres).</p> <p>Trouver un moyen simple d’embarquer ces données avant une synchronisation en ligne est intéressant, permettant une utilisation de l’application même si les données ne sont pas à jour.</p> <p>Travaillant en Objective-C sur des applications mobiles pour iphone/ipad, nous allons voir comment utiliser Restkit à ces fins.</p> Quel-camping.fr https://benoitpasquier.com/realisation-quel-camping/ Wed, 25 Jul 2012 11:37:41 +0000 https://benoitpasquier.com/realisation-quel-camping/ <p>Après avoir fini ma première année d’étude en informatique, j’ai eu l’idée de réaliser un site internet pour une première experience professionnelle à mon compte.</p> <p><strong>Des idées à l’étude:</strong></p> <p>Après quelques idées ainsi que des conseils avisés d’un jeune entrepreneur, j’ai décidé de choisir la branche du tourisme et plus précisément le domaine de l’hotellerie de plein air.</p> <p>En effet, ce domaine est peu exploité sur internet alors que le nombre de réservation de séjour en camping continuait d’augmenter.</p> Réalisation: iDevWeb - Gestion de projets web https://benoitpasquier.com/realisation-idevweb-gestion-de-projets-web/ Mon, 14 May 2012 14:48:35 +0000 https://benoitpasquier.com/realisation-idevweb-gestion-de-projets-web/ <p>Quand on est développeur web, il arrive qu’on travaille sur plusieurs projets en même temps et qu’on conserve d’anciens projets sans les supprimer.</p> <p>En utilisant MAMP sous MAC OS X, il faut accéder à l’url exacte du dossier pour pouvoir accéder au site web, il n’existe pas par défaut une page qui indexe les dossiers contenus dans le dossier de développement.</p> <p>C’est là que j’ai eu l’idée de développer un petit portail en php qui listerait les dossiers contenus dans mon dossier de développement, cela éviterait de devoir se rappeler du nom du projet ainsi que du chemin exacte pour y accéder.</p> Réécriture d'urls avec htaccess sous CodeIgniter https://benoitpasquier.com/reecriture-url-avec-htaccess-sous-codeigniter/ Wed, 14 Mar 2012 10:39:03 +0000 https://benoitpasquier.com/reecriture-url-avec-htaccess-sous-codeigniter/ <p>Le principe de réécriture d’urls permet de “transformer” les urls pour référencer plus simplement des pages clés d’un site internet. Pour cela on utilise le fichier htaccess, un fichier caché situé à la racine du dossier de l’application.</p> <p>Nous allons voir comment est géré par défaut les urls dans le framework CodeIgniter et comment les modifier pour éviter de perdre le référencement déjà acquis sur un site web.</p> CodeIgniter et son modèle MVC https://benoitpasquier.com/codeigniter-et-son-modele-mvc/ Sun, 04 Mar 2012 18:21:19 +0000 https://benoitpasquier.com/codeigniter-et-son-modele-mvc/ <p>CodeIgniter est un framework php open source basé sur une architecture MVC.</p> <p><strong>Rappel</strong>:</p> <p><!-- raw HTML omitted -->L’architecture MVC<!-- raw HTML omitted --> (Modèle – Vue – Controller) permet d’organiser plus simplement une application.</p> <ul> <li>Modèle : type de données, objet</li> <li>Vue: interface avec l’utilisateur</li> <li>Contrôleur: traitement des données, gestion des évènements.</li> </ul> <p><!-- raw HTML omitted -->Un framework<!-- raw HTML omitted --> est un kit qui permet de créer la base d’une application plus rapidement et avec une structure plus solide.</p> <p><strong>Présentation:</strong></p> <p>CodeIgniter a pour avantage d’être libre mais surtout d’être plus léger comparé aux autres frameworks php connus. Il possède un “guide utilisateur” (en ligne sur le site officiel et localement dans le dossier téléchargé) plus que complet qui propose de nombreux exemples d’applications. La mise en place est intuitive et aucune configuration n’est nécessaire pour une utilisation simple.</p>