Programmer | Writer | Traveller → https://thinkdiff.net

iOS Dev

Save time by automating deployment

Credit https://fastlane.tools/ Modified by the Author

If you’re an iOS developer like me, you should use Fastlane to deploy your app fast. It saves time — a lot of time. Over many years I have been using Fastlane to deploy my apps and our company’s app. Today I will guide you on how to set up and use Fastlane to deploy an iOS app to Apple Store faster.

I assume you know, how to deploy an iOS app manually on the App Store.

Fastlane is founded by Felix Krause. The tool is open-sourced. You can use it to automate deployment for both iOS and Android applications in your own machine or using it with other web services for continuous integration. …


Flutter

Learn stateful widget, regular expression, floating button, text fields, etc. in Flutter

Created by the author

In the first part of this series, you learned how to create a basic app in Flutter. There you learned only basic structure, some interactivity and you used only Stateless widgets. In this tutorial, you will develop an Expense App to learn state, stateful widget, regular expression, widget, and some concepts in Flutter.

I tried my best to add minimal features so you could easily understand the building blocks for this app.

You will develop the following app with me:


Programming

One web scraping technique to rule them all

Photo by Madison Yocum on Unsplash | Modified by the Author

Web scraping is the process of gathering data automatically by a computer program from different websites. There are many use cases. Many businesses created solely based on web scarping.

There are different ways to scrape any website using Python. Using the BeautifulSoup library, Scrapy Framework, and Selenium library with a headless web browser.

Using BeautifulSoup or Scrapy Framework, we can easily scrap a normal website where the server generates the HTML files. …


Android Dev

Easy to say but expensive to do

Photo by Daniel Romero on Unsplash and updated by Author

In my last article, I discussed how to reverse engineering an android app. If you did no reverse engineering before just do it to learn how easy it is to reverse an android app to the original source code.

In this article, I will let you know how to protect an Android app from reverse engineering.

If you want to protect your app from reverse engineering free, unfortunately, there is no such tool. What you can do is to make it difficult for the attacker.

There is a detailed article from android developer website where you can know how to do it. You just have to update your project-level file. …


Flutter

The easiest way to manage the global state in a flutter app

By author

Whether you develop a native app or hybrid app, state management is a common issue to address. To manage a global state in a flutter app, Provider is one of the most popular libraries.


Notified when state value changes

Screenshot created by the author

Sometimes it is critical to know when the local state value changed in a SwiftUI view. In one of my applications, I had a text field, and I had to enable the next button if the user inputs something. I also used the local state variable for the purpose.

For demonstration purposes, I just want to show a green text “Green” below the text field when the user enters something.


Which platform should you use to publish programming tutorials?

Screenshot created by the author

I never took content creation as my full-time profession. I am a computer programmer and loves to build software. Two years back in 2018, I started a YouTube channel to publish programming tutorials initially in Bangla language and later in English.

After a few months, I combined my short video tutorials, created a few programming courses, and published them on Udemy.

In September 2020, I become a Medium partner and started monetization for my written tutorials.

Today I want to share with you among Youtube, Udemy, or Medium which platform gives me more money as an occasional programming tutorials content creator. …


Swift

Let me share with you which one I prefer

Image created by the author

Let’s iterate a to get the index and character of each position. Normally in other programming languages like JavaScript or C++, we write code like this:

JavaScript

C++

Output:

0 C
1 o
2 d
3 e

This is a common pattern in many programming languages. The pattern is, you have to count the total number of characters in a string, and using a loop and a variable starting from 0, access all those characters.

If you follow the same pattern in Swift:

You will see the following error:

error: 'subscript(_:)' is unavailable: cannot subscript String with an Int, use a String.Index …


Let me show you some photos and you decide.

Credit: https://www.apple.com/

I am an iOS apps developer for over 10 years. My last iPhone was the iPhone 6 and then I moved to Android devices. I used different android devices and my last one was Samsung Galaxy S10 which died within one and a half years.

Recently I bought the iPhone 12 Pro, and I am really loving my new device. If you say, which feature I like most?

It’s the camera for creating photos and videos.

Well, photography is my hobby. I have been taking photographs since 2009 and I used some heavy weighted DSLRs and mirrorless camera before. I used Canon 5D Mark II, III, Fuji X-T2, Panasonic Lumix G9, Canon G7X II, and now when I travel I use Sony a6600 with 16–55 f/2.8 …


Learn to create custom views to reuse in your SwiftUI based app

Created by the author

When you design your app using SwiftUI, you use the built-in views to create the user interface. But if you want to create a custom view to reuse within your app, using property wrapper you can do it easily.

In this tutorial, you will create a custom view using property wrapper, and you can use it to pass any view, which will show after a red rectangle.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store