Hey guys, I learned the basics (OOP, data structures & some algorithms) with Python, but now I want to learn iOS development. I am considering to learn Swift, but I am afraid how the native mobile development will die out because of the cross-platform frameworks and reviews. My idea is to learn web development first and then learn React Native, and after all of that, finally Swift. What do you think about this roadmap? Should I just learn Swift first due to the pros of the native apps?
If asking about employment opportunities, native will never die out. There will always be opportunity for work in native mobile applications. There are also many advantages of using native over cross platform such as always having access to the latest APIs and developer libraries that may not be available to cross-platform without some native development involved or can wait until someone develops a bridge for you.
If you are asking about what you should develop with first? It really depends. React-Native is great for building proto-types or basic MVP application that doesn't require any of the latest and greatest features Apple has to offer at the moment. But if you're asking what to learn? I would say native will always give you a larger advantage as it will give you a good foundation in mobile development and provide you access to the latest native libraries. It is also a useful skill that can give you an edge in cross-platform mobile like react-native because you will most definitely encounter a situation where you will have to go down to the to native side to extend functionality or utilize APIs that are not yet out of the box.
The decision comes down to your goals and needs.
If you want to be able to create any kind of iOS app, simple or complex, learn Swift. It's indispensable if you're building specialised apps like video editing, augmented reality, machine learning or anything that uses iOS-specific APIs such as App Clips.
But if you just want to create apps that make HTTP requests and display static content such as text or basic video and music, React Native would do just fine, and you can publish the same code to Android. This is a no-brainer choice if you're on a low budget.
And if you know both, you can use both in the same app. You can add React Native screens or components inside a Swift app.
Mobile Native Development Apps will never die. Cross Plataform like React Native only exists to save time and costs for startups mainly, which is extraordinary, and indispensable often of course. But when the App get popular enough, it will probably will move to Native Development. Several improvements.
Can anyone help me decide what's best for app development or even android Oreo development? I'm in a state dilemma at the moment. I want to do Android programming, not necessarily web development. I have heard a lot of people recommend one of these, and it seems that both the tools can do the job. Which language would you choose?
I assume that you mean Flutter by Dart. I have over 6 years experience programming in Android SDK, but about 1,5 month in Flutter. So far I think that Flutter is the future for mobile development. Flutter SDK is much better designed. Ecosystem of libraries seems having much higher quality. I would even say that android opensource libs are having really poor quality. Many times I am wondering how can garbage like that have so many stars at GitHub. Android SDK is hard to compose so you reinvent even basic things on and on, which is totally different story at Flutter. Lolcycle? Both are having good documentation. I quess apps in Flutter can be done in 1/3 of time compared to develop AndroidSDK and iOS, its design is that much better and contemporary. As of language comparison - Kotlin is better, but the difference is not that important. Go from one language to other is no problem. Dart is being updated with new features.
I've selected Flutter and Dart for my side projects and never regretted. Dart learning curve is easy after any OOP language . Flutter as a framework is also has a low entry threshold. I've already started development after a week of learning. Pros for me: code can be build for Android and IOS devices (for ios you need mac or VM), apps written in Dart have great performance on each of these platforms, flexibility. Cons: if you want to build a product as a business and want to hire a new Flutter Developer in the future it can be a problem as the framework and language is not popular for the moment.
I have worked in mobile development since 2010. I have experienced myself on various techs including Native SDK (Android), React Native (from 2016) and Flutter (2018). Almost the apps nowadays can be built using cross-platforms frameworks like React Native or Flutter. I suggest you start with Flutter. Flutter SDK is designed well to speed up your development and it still keeps the quality for your apps. If you're familiar with OOP languages (Java, C#...), switching to Dart is really quick and easy. Of course, sometimes you will need to dive deep into native parts but almost the cases you don't need. Good luck!
It depends on what is the purpose of your app development. Do you want to make one app that shares the codebase for both iOS and Android? If yes, then Dart is the way to go. Does your app include interacting with hardware features like camera, Bluetooth, if yes, then go for native Android for better performance? Dart is good for simpler UI apps where you just do basic crud operations over the network and show data but if you need richer UI experience go with native.
Well. Flutter is just a Framework (just like Django btw.) and it uses Dart as a programming language. Django is kind of solving a different problem than Dart. Dart is intened for use in Front End Applications and Django is a Framework for Back-End Web Development.
So if you want to program Flutter Apps (although i wouldn't recommend it for any serious web development yet since Flutter web isn't very mature yet) i would recommend you just lern Dart.
From a management and hiring perspective, I recommend Flutter (Dart). It provides native solutions to both mobile platform ( (Android and IOS) while having the same knowledge. Hiring managers look at this as an advantage since a developer can provide solutions for both platforms whit the same knowledge. The Flutter framework is growing and there is a lot of resources to ground your knowledge and start experimenting. Dart is also a great language that covers most E2E necessities, so again, no further need of learning one language for FE and another for BE and services. It is my belief that Dart will surpass Kotlin soon, and will leverage to Python and Java in the upcoming year.
Sign up to add or upvote prosMake informed product decisions
Sign up to add or upvote consMake informed product decisions
What is Dart?
What is Objective-C?
Need advice about which tool to choose?Ask the StackShare community!
Sign up to get full access to all the companiesMake informed product decisions
Sign up to get full access to all the tool integrationsMake informed product decisions
The performance of Swift is almost the same as that of C++, which is considered the fastest in algorithm calculation arithmetics. Apple had this idea in mind and worked to improve the speed of Swift. For example, Swift 2.0 has beaten C++ in several computation algorithms, such as Mandelbrot algorithm. Objective-C is slower because it contains C API legacy.
Swift is faster than Objective-C, because it removed the limitations of C language and has been improved with the help of advanced technologies that were unavailable when C was developed. As mentioned by Apple, Swift was originally designed to operate faster.
Despite the fact that languages are different, they both integrate, and work with Cocoa and Cocoa Touch APIs, for all Apple platforms. Therefore, a regular app-user would not recognize the difference in operating speed between Objective-C vs Swift. Speed also depends on a programmer’s level and capabilities, since a slow app can be written in Swift as well.
Its performance approaches the one of C++ which is considered the fastest algorithm calculation arithmetics. And Apple strives to improve the speed of Swift. Learn more here https://mlsdev.com/blog/51-7-advantages-of-using-swift-over-objective-c
Basically, the trajectory was we had our iOS app, which started out native, right? It started as a native app, and then we realized you have to go through a review process and it’s slow, and at a very early stage, it made sense for us to make it a wrapped web view. Basically, the app would open, and it would be a web view inside of it that we could iterate on quickly and change very rapidly and not have to wait for app store view process to change it. It wasn’t totally a native experience, but it was as actually a pretty good experience and lasted for a very long time and was up until recently the foundation of our current mobile web experience, which is different from our app situation. So for a long time, basically, our app store iOS Instacart app was a wrapped web view of just our store, a condensed version of our store, which meant that we could add things. We could change sales. We could change the formatting. We could change the UI really fast and not have to worry about the app store review process.
This all changed about a year ago, I would like to say, at which point it became a totally native app. We felt comfortable enough with the product and all the features that we made it a native experience and made it a fully featured app.
iPhone app, a new born language, it may good but the IDE, xcode is bad compare with Visual Studio. It just like a baby. playground can only use without connect to other library...you can not do a simply refactor of renaming a variable. You can go to definition and find reference, but you can not go to implementation....I should write them on xcode not here basically it is not the fault of swift, but it tightly to it, unless you want to use a notepad to write it.
While the majority of our stack is now using Swift, we still love Objective-C in many cases, especially low-level software manipulation, where it's just easier. It doesn't hurt that a lot of iOS/OS X Libraries out there are written in it either.
We like to go native with iOS development, and Objective-C has been the only game in town until recent introduction of Swift. We're keeping an eye on Swift, but we aren't giving up on the [old way:to do:things]!
Most of our newer apps are written completely in swift, with our older ones and some special cases using a mix of Swift and Objective-C, but with Swift 2, the language is pretty much a must-use. "guard" is <3.
Flutter is coded with Swift v.2.3 and can be run with Xcode v.8.2.1. To launch in Xcode 9.3, the code needs to be migrated to Swift 4.1
Most of the app code was gradually rewritten in Swift for better performance and code maintenance.
Our native iOS app is built on Swift, and most of the basic function is still written in Swift
PrometheanTV provides SDKs for IOS devices including support for the Objective-C language.