I’ve been working on a lot more UI testing in the past few years, but never really believed in the UI XCTest framework by Apple, nor the third-party framework options available in the open-source community. In my opinion, UI tests are slow, unreliable, and a time investment for developers that is most of the time…
Building Feature Flags Using Property Wrappers
A feature flag is a simple concept, basically having a key/value pair where the key is a feature name and the value a boolean indicating if the feature is enabled or not. It is a good practice to put your features behind a feature flag, especially on mobile where the software is distributed, not deployed.…
Schema Validation In Postman
To every frontend engineer who integrated APIs in the past, we all, at least once, experienced bugs with unexpected responses from an API call. Detecting those issues during development can be frustrating and time-consuming, especially if a lot of integration work has been done already. It can also be hard to reproduce if the API…
My Experience As Lead Engineer Working On Backend
For the past year and a half, I had the opportunity to work on an incredible project for a major retailer brand as the lead engineer on the team. I got involved in mobile development, backend development, and team management. During this period of time, we went through different stages; from discovery to production and…
Another Interpretation of Clean Architecture with VIP
Introduction For a long time, I experimented and worked with the VIPER architecture and wrote blog articles about the pros and cons based on my experience in production applications. VIPER is great, with many benefits: it follows the Clean Architecture principles, provides you with a codebase that is future proof for business requirements updates or…
First Impressions on CoreML
Apple announced a new machine learning framework called CoreML during WWDC 2017. It allows developers to import custom machine learning models to their application, and run them locally and safely on the device through an easy-to-use API. With CoreML, you can now very easily provide features powered by machine learning algorithms with minimal effort. In…
Learnings from #LeadDev 2017
This post is co-authored with Max Mamis, Senior iOS Engineers at Prolific Interactive. At Prolific, we’re big on learning new skills. Usually we take that to mean technical skills but in February, myself and fellow engineer Max Mamis, attended the The Lead Developer Conference in Manhattan to improve our leadership skills. We learned a lot…
Architecting for Reusability @ Brooklyn Swift Meetup
I had the chance to give a talk at the Brooklyn Swift Meetup in March at Etsy about Architecting for Reusability, and how we approached code sharing and reusability at Prolific Interactive. During this talk, I went through two different scenarios of code reusability for multi-brand projects. I gave insight on how we refactored a…
A Functional Approach to Validation using Protocol Oriented Programming
I wrote an article about how I took a functional approach to implement some UITextField validation. In this article I detailed how the functional approach helped me defining small functions easy to use and test. After thinking about the implementation I realized that the code worked great but was only available for UITextField. It wasn’t…
A Functional Approach to UITextField Validation
It is very common for an app to validate user input and provide instant feedback when something is typed incorrectly. In this article, I will walk through the implementation I worked on to validate a text field’s string. I decided to attempt a functional approach and found a solution that is reusable and scalable for…
You must be logged in to post a comment.