
Working as Flutter developer in LTIMINDTREE and have experienced in Mobile applications with Getx , provider , BLOCs state management framework for Flutter, Dart, iOS ,SWIFT and databases like SQL Server. And Actively looking for job opportunities in same field
Consultant-Flutter
CapgeminiFlutter Developer
LTIMindtreeFlutter Developer
Kellton TechFlutter Trainee
Suntec Web ServicesFlutter Developer (iOS)
SAG Infotech.png)
Flutter

Dart
.png)
Firebase

GCP

Provider

Dependency Injection

Clean Architecture

Dio

sql

GCP

Rest APIs

Hive

Firebase Analytics

Agile Methodologies
Baptist Health South Florida Project were we are developing Flutter Web Project with GetIt and Providers for State Management and Hive for localDB and cookies and Used Rest Api's Integration and Material UI components
Working as Digital Engineer for Tata Neu App were we developed Tata Pay Module In Tata Neu App with Mobx Architecture in Flutter and Migrated iOS and Android Apps, Used Sanity.io for CMS and Assets Management
Hi. My name is Keshav Kumar. I work as a software engineer in Flutter for the last 4 years, and I have a total of 5 years of work experience. I am currently working at LTM INT for the last 1 and a half years, and my total experience in Flutter is 4 years, and my total work experience is 5 years in mobile application development. So in this period of time, I have worked on multiple large-scale applications like the Baptist Health Project, which is developing for the web. And also, I have worked on other technologies like mobile applications where we develop Android and applications of different domains like e-commerce, cab-booking applications, flight and hotel-booking applications, and multiples. So, as we know, I started working with Flutter in 2017. So, right now, it's a pretty mature technology. Right now, I have worked on around some of the large-scale applications, which have millions of users, and active users, such as the HSBC life insurance application, which is one of the Middle East applications, used for hotels and flight booking, which is also live now in the App Store and Play Store. And also, the web app is also live, so you can go through them. And right now, I am working on an application for one of the clients of the US in the healthcare domain, which is the Baptist Health with LTM INT. So we are developing a new application that allows patients to book appointments and diagnosis tests so that all the tests required for the treatments can be done. So we created a web application in Flutter with Get It and Provider and other stream management platforms as well. So we use them to build a web app that allows users to book their appointments. And I have worked on multiple state management platforms like Getex, Blocks, Cubz, RXDart, and much more. So I have a pretty good experience with state management in Flutter.
So there are different ways to optimize a Flutter app with network issues when delivering with large payloads. So we try to add one of the features that can show the user that there is some request happening in the background. So we saw a continuous load as far as there is a delay in the network delay in the API response and the upload service. So this way, we manage and some of the ways also that if it's not working in the payload, then we need to show the user the next step of the flow in the user flow. And the API services happen in the background and the user can continue through the application. And this way, we can manage the application data and with large payloads we try to refactor. For example, suppose we are sending a video, then we try to compress the data that we are sending and wrap it in a single object of the request body and try to send it in the network request. And if the request was successful, then it will get updated, and the user can continue using the application.
So Flutter blocks, which is developed by Angelo Felix, is one of my favorite topics. It's the contributor of the filter block package in pub.dev. From the first application I used, I used Flutter blocks. For inking asynchronous data flow in Flutter, we use the Flutter emit methods to return the values that we get from the business logic. We have block listeners, block consumers, and block builders. With block consumers, we can listen to the values and use them to represent the UI. Suppose we need to fetch a list of user data for their personal information. We will try to make an API call and, with the business logic, it will give a response with the state that we have mentioned in the logic. We can use that state in the consumer or listener to get that value. And that value, we can show with the consumer or builder in the UI that the user has that value. If that state is not shown, then we can simply show the user a continuous loader. If we get the state that we are using to represent, then we will show the UI with the data values. In this way, we manage the asynchronous data flow in Flutter applications.
So error handling is one of the most common uses of application development. So, whenever we try to make any request, there are multiple errors that were thrown during the API calls. We had one of the packages, like HTTP and DIO. With the API with network calls, if we get any use request, if we get any error, then it will be shown in the response status code what error we have gotten and what the response is. So, we try to add the responses, which we need to show to the user as per the status code that we get. Suppose we get some unauthorized access, then we will show the user that you don't have the credentials or access to the records, so that we can manage from the HTTP and DIO packages with the status code, what we are getting from the API response. And as per the status code and the response that we are getting, we can show different data or values to the user, what the exception is and why the error is coming. So, in this way, we manage the error handling of API calls in Flutter.
So, when we develop the application, it's really required to make the Flutter code base maintainable and readable so that any developer who can start working on it can understand the code and easily start working on it. So we try to make the code readable by adding comments that explain which code is related to what. And we try to follow modular approaches and design patterns to make the code maintainable. If any part of the code gets affected because of errors or bugs, it won't affect other methods or platforms. In this way, we try to make other modules stable and more readable by using proper name annotations for classes and features. In this way, we try to manage the Flutter code bases and keep a clean code base.
So, the Flutter tools, like, Flutter has its own tools that can be used with Android Studio. So Flutter performance is one of the Flutter tools that we use to understand the execution time of any code or any widgets, how much time it's taking. And what is the memory usage, what is the UI like, how the UI is ending, how much space and time it's taking to build the UI and perform logical operations. And we can also use one of the Firebase analytics, or calytics, to understand if there are any issues happening in the app, to understand the logs, whether the issue is happening in the application when they are running. So this way, the Flutter app's performance were tested. So the Flutter performance app, or Flutter tool, is Flutter performance that is an integrated tool that comes with the Android IDE and Android Studio IDE, which we use to understand and see the performance issues and what the challenges are that we face during the app run when the app is running and debugging.
So, in this way, I try to ensure that the data we are getting from is not to identify. I try to check whether the data which we are getting from the methods that we are calling is correctly marked or not. Then after we verify each state information each time the state changes and check whether the return value is expected or not with the proper UI, settling the UI frames as per the responses we are throwing and check whether the value we are getting is expected or not. If it's expected, then we'll progress in this way so that each and every logic we use to show any change in, to show any logical changes, which will be shown here.
So, this case is where we don't have many resources to utilize and some packages that are easily available with the extensions. So then, we can use them in our application. Suppose some of the third-party packages that are highly reputable and most commonly used. This way, we can use them in our application in the pub's spec dot yml file as dependencies, dev dependencies, and dependencies. That will allow us to use the codes that are there in the packages. Some of the packages we generally use are like HTML statement packages, block providers, and other packages as well, like intl for object comparisons and intl for link language and date/time values, comparisons, and many more. We generally use these in our application to maintain the application smooth and consistent.
Flutter, so whenever we develop a Flutter application, it really takes too much time because at first, it creates an APK file, which is created every first time when we try to run a Flutter application. And it takes too much time. So it's quite painful for a developer to give that much time when you're creating an application. So we have to follow some design principles to make the application light. We can use some common patterns like the dry state, testing. Like, we will try to remove code that's not used anymore in the codebase, and we will make common components so that duplicated code is implemented in multiple files, and we will try to minimize the application's data storage that we use to store user data. These are the ways to make the application asset light and make it execute faster. We will also try to manage the application. We will also try to make performance testing of the application and execution testing so that we will see what issues are coming during the launch time of the application and try to understand what we can do to make it faster by removing some large module logics that are taking too much time and have high time and memory complexity. So in this way, we will try to make the application much faster.
So, I will try to use providers with the Flutter bloc because they have some variables like change notifiers. So whenever we try to defer providers, then we can refer to that block and see what is there. With Aspect, with Aspect because it's a single subscription and multilisteners. So we can see a multilisteners approach so that whenever 1 value gets changed in the block class, we can get that value in other listeners and try to see what data we are getting from 1 block. So this way, it's quite very helpful to manage the states and make it more simple and reliable with Flutter blocs with providers, and it's quite a good approach to make for state management.
So, like, Flutter committee. Flutter committee, I always try to be one of the persons who need to be engaged in this type of contribution where we try to add our views on the different tech that's going on in Flutter. So I also have some repositories on GitHub that have applications developed to show new developers what the responsibilities are, or how they can learn Flutter and understand the technology they're going to learn and understand. Like, it's one of the finest and niche technologies of today's time. So we have to understand them for a better career and also ease application development. So we tried our best to learn and gather more of the best tech from the committee, and we also share our approaches to solve problems on different issues with other developers and contributors.