Atomic Design is a very widespread topic nowadays within the front-end community, but while looking at several projects, I realized that there is still a lot of personal opinion on its implementation, and here I list some points that caught my attention throughout the years.
This article is not a tutorial on how to create your applications but it is intended to share my interpretation on how to best use this amazing methodology. Continue Reading
This post isn’t about a brand new discussion. I’ve seen this topic later on Twitter, blog posts, tech conferences – like FloripaJS – in my city, as well as other social networks. So I felt I could bring some of my thoughts about it, because I’ve worked as a Full-stack developer for a long time, and am I living a lie?
In the last year, the term Blockchain has grown beyond a niche vocabulary and made itself known in news all around the world, closely tied with the all time high of Bitcoin. It has sparked a discussion around Blockchain’s applications beyond the financial world, and about the breakthroughs it could bring to something fundamental to human relations: trust.
Technology remains a heavily male-dominated area, even after decades of extensive efforts to promote female participation. But women can and should have more recognition and representativeness.
Known as one of today’s key technological hubs, Silicon Valley also stands out for the hardships faced by the women who work there.
Unfortunately, what we see today is still a reflection of the past.
As companies grow, it’s common to see directors facing the challenge of managing different processes which can get more complex due to customer’s increase. First-time managers often have to cope with areas such as people management, finances, marketing, operations, etc and the easiest way to deal with that amount of info is using the classical spreadsheets.
They certainly have their value and can even be a great solution depending on the application. However, online services can definitely bring a higher degree of automation, uniformity, speed and ease to the various operational processes in a business. Once one is able to do so, much space is open to other key activities. Here is a list of 11 online services and tools to enhance directors’, managers’ and assistants’ routines.
Automated database migrations have been a convenient way of dealing with schema changes for a long time in Django. It’s been only 3 years since migrations have been incorporated into Django but South had been the de-facto solution since 2008.
The same way an ORM allows us to forget about SQL when writing queries to the database, migrations make sure we don’t write a single ‘ALTER TABLE’ in our schema changes. Some may argue that’s bad: we “lose control” over a critical part of our infrastructure, we don’t know how to write SQL anymore when needed, we’re not sure how that operation is really translated into SQL, etc, etc. Ok, these points are actually valid. However, Django migrations module is more than just a way of automatically generating and applying SQL statements, it’s also a transparent API to write your own database changes in Python. It comes with wheels for those who need it (or trust enough) and tools for those who like to get their hands dirty.
Serverless. The new hype buzzword is taking over the development universe, promising big savings in infrastructure for applications and less deployment headaches to developers. In an agile world, shipping scalable software with budget constraints has become a big puzzle: one that Serverless may solve.
Today I’m going to give you an overview of its history, basic concepts, providers, frameworks, benefits and drawbacks. One thing, though: personally, I don’t like the term Serverless, as it was coined by the Serverless Framework, but now it stuck and everybody is using it. What can I do?
The dev team at Cheesecake Labs has been using VIPER for iOS and Android mobile app development for over one year and we just love this clean architecture!
This article summarizes our best practices on the VIPER architecture, using code examples from our VIPER boilerplate. The code samples used here are in Swift, but all concepts mentioned may be applied to an Android project developed with VIPER, either using Java or Kotlin.
When we start the development of a product, there is always a desire to make it as perfect as possible: fulfilling client’s expectations, offering a good learning opportunity to the developer and delivering a system with high maintainability and scalability.
As the code base grows, keeping it problem-free becomes a harder challenge. Testing manually each module of the application can take so much time that developers may become unproductive.
Starting as an Android developer and later working with iOS as well, I had contact with several different projects’ architectures – some good and some bad.
I was happily using the MVP architecture for Android until I met – and worked eight months with – the VIPER architecture in an iOS project. When I came back to Android, I decided to adapt and implement VIPER on it, despite some other devs suggesting it wouldn’t make sense to use an iOS architecture on Android. Given the fundamental difference between Android and iOS’ frameworks, I had some questions about how useful would VIPER be for Android. Would it be doable and worth the effort? Let’s start with the basics.