How to create your own app?
Hi everyone, I have a question about creating an app. More specifically, it's about creating a social media app. How can I create something like this so that it also runs on different operating systems, such as iOS, Android, etc. Why do I need HTML? How do I create the designs? Once I have app designs, how do I combine them to create a functioning app? How can I test the code or the app itself? What tools or programs should I use? Every answer brings me a step closer to my goal 😉
There are several possibilities:
Significant differences between these methods lie in the effort (to build and maintain alternative apps per system, for example, can cost more effort than to build on a single shared code base) and the later user experience (for example, with a native app you have better access to functions of the mobile terminal). In all applications that are not played through a web browser, you should also consider that you need a corresponding developer account per system/store you want to publish the app. To publish iOS apps, you need a macOS system.
Whether you need HTML depends on which of the above methods you ultimately decide. If you want to create a web application, HTML is the language you use to describe the content structure of your graphical interface. In some frameworks, you can also meet HTML or approximate modifications of HTML (e.g. JSX at React).
Conceptually, it’s up to you. The classically known graphics programs (Adobe Photoshop, Gimp) or UX Creation software (e.g. Adobe XD, Figma, InVision) are well suited for this.
In practical implementation, the Framework/Development Kit will provide you with appropriate means (e.g. UIKit for iOS, QML at Qt, Jetpack Compose at Android).
A few options:
The entire theme field Software tests is quite extensive, which is why I have been in focus and will not start a trip. There are many literature you can read about.
Specifically for development, a suitable development environment (IDE) or a well-configurable code editor (such as brackets, sublime text or VS code) is recommended. Which one is suitable depends once again on the tool (operating system of your development system, programming language and framework/SDK) you decide to work with.
For development with Swift, Xcode is probably the best choice for Android (Kotlin/Java) it is Android Studio or the JetBrains IDE. For Flutter/Dart or React you can upgrade Visual Studio Code accordingly, for Qt there is the QtCreator. In web development, I would suggest looking at Visual Studio, Visual Studio Code or Eclipse.
The most important first step is a good planning of such a project. Start by describing your target (which purpose is the app? Which target group should they use? Which user groups and applications are available?). So you get a better idea of what you actually need (technical) and have starting points to go further into the depths.
An example: You want to build a shop application that allows payment via certain providers (Apple Pay, PayPal, etc.). It could be derived from the fact that it would be advantageous to use a shop system, since on the one hand it already decreases several functional implementations and on the other hand allows a dynamic management of the contents).
Instead of starting directly with the implementation phase, I would also recommend that you first dedicate yourself to learning the required programming language(s) and then follow the respective framework/SDK. This is, as far as you can anticipate, nothing that can be negotiated in a few days.
One of the most programming languages and frameworks/SDKs can find official documentation (on the web) as well as fixed literature. Learning platforms like PluralSight or Udemy offer video courses and the JetBrains Academy provides excellently elaborate learning paths.
Finally, in order to be able to proceed with the construction of the app, you should feel at least halfway safe in the practical handling of object-oriented programming, because this concept is usually built up. Set up a technical code implementation plans (sketches, UML diagrams, etc.) that describe the exact sequence of individual applications and the general app structure. The better you plan ahead, the easier (and potentially more stable) the implementation becomes. Test individually completed program parts also within the development phase. In this respect, it makes sense to work modular/component-based.
Thanks, everything answered 👍