Writing a mobile app, what language?
From simple to complex, it can be divided into three levels:
Simple solution: HTML5
In fact, it is to encapsulate the web page into an app. the programming language is the web page three-piece suite: HTML + CSS + Javascript
There are a variety of tools and frameworks, such as Cordova, uni, etc.
This approach is the easiest way to realize the "App", and it is also the easiest way to write a mobile app.
This way to realize the "App" is the easiest, and cross-platform, for iOS and Android to do a set on the line. The price is weak functionality and low performance, in other words, "stuck".
Medium solution: native cross-platform frameworkThis type of program on top of iOS and Android to realize a set of native framework. Flutter and ReactNative are popular native cross-platform frameworks. The Cocos2D, Corona SDK for games can also be counted in this class.
This type of program to achieve App difficulty is medium, because cross-platform, a development, iOS and Android can run. Functionality and performance is also medium, not as good as native apps, but much better than HTML5 ones.
Complex solution: native development
Directly develop a set of native apps on each of iOS and Android.
iOS can use Objective C or Swift.
Android can use Java or Kotlin.
Let's go to a chart, which is simple, but clear:
Flutter is recommended, simple.
I used to write my own 7-day hotel check-in program with android natively, but it was still hard to write for Android, unlike now when it's getting easier to get started.
FlutterFlutter is an open source mobile application development toolkit developed by Google for developing apps for Android, iOS, Windows, Mac, Linux, Google Fuchsia.
Flutter apps are written in the Dart language, which is a new language, but not too difficult, so you should be able to get started quickly by searching online for tutorials.
Flutter effect
Here is a simple app that I modeled after the tutorial last month, the effect is as follows:
Click "Next" to switch to the next, click "Pre" to switch to the previous, and click "Reset" to slide all the way down.
My daughter loves the Reset effect in the middle, haha.
I hope this answer helps.
Now the official version of Flutter has come out, native performance, Android iOS multi-platform support, Google's big factory endorsement, you can be more assured of learning. The programming language used is Dart, which can be seen as a version of Java with syntactic sugar, and it is easier to learn, so if you want to do a mobile app, you can consider using it.
If you're just doing it for fun, we recommend H5 development, and the development tool is HBuilder or HBuilderX.
First of all, I'd like to explain what IOS and Android are.
IOS is just the operating system, it's Apple's operating system.
If you want to develop an app that runs on IOS, the popular languages are Object-C and Swift.
Android is also an operating system, and it is a mobile operating system developed by Google based on the Linux kernel.
If you want to develop an app that runs on Android, the popular language is still JAVA.
If you want to really do an app, it's not just a language, it's more involved, so here's the recommended learning route.
Learning route:
1: first learn js, and then learn html, css.
Learning these can be on the rookie tutorials or W3School website.
Development tools using vscode or Notepad++ can be.
2: Understand Mui commonly used components (official website: /mui/ui/),
familiar with the commonly used API (official website: webapi development, the recommended reasons, java is currently the mainstream, .net webapi simple and easy.
java development tools IntelliJ IDEA, .net development tools vs.
4: data storage using mysql.
Additional note: If you want to do professional development APP, it is still recommended that the client with java development, ios APP with swift development.
Of course, now in order to a set of code for multiple platforms, the use of H5 development of professional APP there.
Will be able to officially jack code to realize their own simple APP.
End of answer, thanks. I'm the big pie in the sky who only talks about code.
Then of course the first choice is h5 shell. Regarding the language, I would recommend PHP. With further study, you can learn uinapp one-click multi-terminal. h5, small program, app, small program support multiple platforms on the shelves, micro letter jittery tone paypal baidu, I hope to help you
There are currently three types of app development: native app, hybrid app, webapp.
Native app: android needs java language, ios need objec t-c, wp need of .net language. This kind of app user experience is the best, performance is also the best, the development cost is high, the development cycle is long, an app needs to develop more than one language version;
Mixed app: need h5, javascript, understanding of each hybrid framework, such as appcan, hbulider, phonegap, etc., and encapsulated middleware. This development method of user experience, performance is not as good as native, but his development cycle is short, low development costs, the developer skills mastery is relatively high, the development of a set of programs can be compatible with multiple devices;
webapp: the need for h5, javascript language, can not call the underlying device, the effect of the user experience is second to none, the development of a simple, low development costs, development short cycle, can be compatible with multiple devices.
In summary, the three types of development have their own advantages and disadvantages, according to the specific needs of the project to choose their own development language and development scenarios.
uniapp to understand, multi-application. app if you want to consider Android and Apple, but learn two learning costs are relatively high. With uniapp it is solved.
Now small and medium-sized enterprises are gradually adopting the cross-platform development model of high efficiency and low cost as an individual is the development of a good choice You asked iOS and Android is the native development of the need for different development languages and frameworks to learn the cost of learning is also very high Since you said that you are a white If you use the native development may have to spend about a year and a half to begin to start
The use of cross-platform development only requires a little html, css, JavaScript, and then a little bit of learning. You only need to learn html, css, JavaScript, and then choose a cross-platform development framework, such as react, flutter, or uniapp. Cross-platform means that the apps you write in this set of code can be run on different platforms, such as iOS and Android. But in fact, many of them can be compiled to run on all kinds of apps, so it's very convenient.
I recommend uniapp, which is based on vue, to help you get started. uniapp a cross-end development framework based on vue I myself have used this development of many projects is indeed very fast also provides the ability to native rendering do not do games and other software basically no problem community plug-ins market is also very lively basically have a problem can be solved very quickly I hope to be able to help you.
According to the development method can be divided into native development, hybrid development, webapp development, different development methods to learn the programming language is not the same, the following we come to a one by one to analyze:
First, the native development
Native development of the programming language is mainly for the IOS operating environment for the programming language for Swift or Orange. Programming language for Swift or Object c, Android environment for Java or Kotlin, WP environment for NET. native development of the highest operating efficiency, the best user experience, but need to learn the programming language of different platforms, the learning threshold is higher.
Second, hybrid development (pseudo-native development)
Hybrid development technology mainly uses a special set of rendering engine to render the UI interface and interaction, according to the rendering engine can be categorized into html and dart, and its programming language is mainly Javascript or Typescript, Dart.
At present, the html-based rendering engine can be divided into html and dart. p>
At present, the development framework based on html rendering has react native, weex, uniapp, and the development framework based on dart is only flutter.
Mixed development due to the invocation of native controls to render UI, so the loading and experience is similar to native, the learning cost is relatively low, as long as you know js, choose a framework development Or learn the dart language for flutter development.
Third, webapp development
webapp development mainly uses the browser controls in the native environment to load the html page on the server, the actual app is a customized browser app, so as long as you will be html, you will be able to develop the webapp, because the app internal loads a remote web page, so the loading speed and experience is the worst.
The above is my personal summary, there are wrong welcome to point out, thank you.
I use c#, in addition to microcontroller with c, cad CATIA, multimedia main Adobe, it does all, do not need to performance of the view mixed dom code.