Saturday, June 27, 2020

My first flutter app on Playstore but rejected on AppStore

It's been a month to learn flutter and I really like the idea of designing user interface. No heavy storyboard in Xcode. No more many xml that is on Android Studio. But everything is using dart class. Design and code logic. That's painful for me is bloc pattern that I used. It's good for MVVM pattern I think but I need to create three dart class to handle one screen one bloc. But fortunately It worked on Android and iOS and that's cool.

Okay the app that I created it's called "Helper for Instagram". Basically it helps you to repost, download photo or video and copy caption, hashtag and username and selectable caption. It gives you to "history" to show you what link you have inserted and "save" for favourite post that you want to save. And they will be in app as long as you don't uninstall the app.

For Android the size of the app is 10 MB that I think it's very good because it's native. But for iOS it's 30 MB. It's not bad though. If you're in debug the size will reach almost 100 MB and as I read on the internet it's fine. Debug size certainly is more than Release size. I have ads for my app and app in purchase three of them. I made it to have expierence more, it's usually I only have one in app in purchase. But that's awesome in flutter there's package called "in_app_purchase" and I amazed I can easily add one more.

Monday, June 1, 2020

My Impression about Learning Flutter from scratch

It's a busy month for me to learn new stuff. I'm hungry for knowledge about flutter things haha. I have already learned about android and iOS native long time ago. And it's still awesome to learn. It's been a great long journey though. Now I maybe have learned anything about flutter about two weeks. Learning it from video tutorial is awesome. Don't worry what you learned, it will make your skill more sharp when you learn it everyday. 

First, I confused when to start to learn flutter. That's why I tried to learn directly from flutter documentation. But I need real world example flutter project from case study. That's when I found a good tutorial and easy to understand. It's Flutter course from londonappbrewery. It's free actually because of google. 

But if you need to grasp all of flutter course bootcamp you need to spend 10 bucks. It's very good I think you will learn flutter until Flutter State Management. It's important aspect to create project using flutter. You need to handle state for your apps. It's different from iOS and Android native. If you need to change something directly when your apps is running. You can't make UI changed without using states eventhough your variables changed in console.

Friday, May 15, 2020

Create Button Auth Facebook FBLoginButton Full Width

In my app Dog Master, I have authentication to log in from two platform that are Google and Facebook. Basically I used the login button that is created by Google Firebase and Facebook. These two button are in different width. As you know the google button sign in is easy to be designed in storyboard. But Facebook it's fixed width if we want to make it full width in each edge of screen, it would make space padding.

In this post, I don't talk about how to auth with facebook. But for additional information I used authentication with Firebase auth. It's easy to use if you follow the tutorial given by Firebase documentation. If you have any issue about it maybe I can help you. Just comment below this post.

As you can see above screenshoot image, the facebook login button is basically only the facebook icon and "Continue with Facebook" text. Without blue background behind it. I customized it using UIView and I added tap handler to click FBLoginButton. I created this button on UITableViewCell, so it's basically same with UIViewController. 

Saturday, May 9, 2020

Review Skeleton View for iOS Swift 5

Happy day guys, I hope you are happy and calm. In this tutorial, I'm gonna talk and show to you how Skeleton View works. Many apps nowdays are using it. It's like a common way to load something that's not finished yet. You can use it for loading text or image. And I think it's very good UX. Not jut bored loading spinner by default.

You can use Sekeleton View for UIImageView or UILabel. That's what I used for my app and I will show you later. Before I used Toast-Swift to handle loading. The code is pretty simple though but I still used it for loading stuff. I usually calls this code "self.view.makeToastActivity(.center)" to show loading spinner on center of screen. And After load API finished I hide the loading spinner using self.view.hideToastActivity(). Just like this.

And If you use UITableView, you need to implement SkeletonTableViewDataSource to give Skeleton an idea how to react spesific UITableViewCell through cell identifier. And If you don't it implement it, it's not working I have tried and that's confusing me a little while.

Thursday, April 30, 2020

Create UICollectionView Like Instagram When Exploring Photos

Hello guys, I hope you're doing well. I was doing research about how to make my UICollectionView like Instagram. As you can see on picture above. I have time to search on the internet but somehow I want to custom it by myself. I mean I don't want to use framework.

After I finished my custom UICollectView, I found IGListKit framework for building fast and flexible lists. But I haven't used it Because I think it's not for custom layout UICollectionView. But if I have much time maybe I will try to use that framework. I think it's cool to use framework that's built by iOS Instagram Developer.

What I want to share is a  custom class UICollectionViewLayout called SavedCollectionViewLayout. Because I used this class to show my saved collection photos. But you can edit the name as you want, no problem at all. But I think there's a room for improvement this class. If you have any idea to improve this code. Tell me. I'm glad I have someone to improve my code quality.