


Die Webentwicklung wurde auf mobile Entwicklung umgestellt. So habe ich es gemacht
Ich habe meine berufliche Entwicklungskarriere als Webentwickler mit PHP begonnen. Bald darauf wechselte ich zum .NET-Ökosystem und setzte die Webentwicklung mit C# und dem ASP .NET MVC-Framework fort. Bis vor kurzem habe ich nur Web-Apps erstellt...
Vor ein paar Monaten habe ich angefangen, mobile Apps mit Android und iOS zu entwickeln, und dank Xamarin kann ich dann immer noch C# verwenden. Der Grund, warum ich diesen Artikel geschrieben habe, besteht darin, meine Gefühle nach dieser Änderung mitzuteilen.
Warum ich diese Entscheidung getroffen habe
Sie fragen sich vielleicht, warum ich mich entschieden habe, von der Webentwicklung zur mobilen Entwicklung zu wechseln. Weil ich etwas Neues machen und neue Fähigkeiten erlernen möchte, obwohl ich noch viel über Webprogrammierung lernen muss.
Ich denke, dass mobile Apps eine glänzende Zukunft haben, obwohl es bereits viele Apps in Online-Shops gibt. Es kommen jedoch neue mobile Geräte wie Smartwatches, die den Entwicklern neue Möglichkeiten bieten. Dies ist eine großartige Gelegenheit zu lernen, wie man Anwendungen für mobile Geräte erstellt.
Ganz zu schweigen davon, dass das Unternehmen, für das ich derzeit arbeite, zufällig die Möglichkeit hat, neue Android- und iOS-Anwendungen in meiner Lieblingssprache (C#) zu entwickeln. Warum also nicht diese Gelegenheit nutzen?
Neues Programmiermodell
Ich weiß, dass sich die Art und Weise des Programmierens ändern wird. Dies habe ich aus einem Projekt namens Windows Phone gelernt, das ich zuvor erlebt und an der Entwicklung mobiler Anwendungen beteiligt war . Aber ich war nicht bereit für das, was ich tun würde, und glaubte nicht, dass ich es sein könnte.
Im Gegensatz zu Anwendungen auf Websites, die einen bestimmten Lebenszyklus haben, können Sie auf eine Anfrage nicht einfach mit einer Antwort antworten. Fast alles, was ich über das Erstellen von Webanwendungen gelernt habe, hilft mir nicht weiter – das Paradigma ist völlig neu.
Asynchrone Programmierung ist in diesem Bereich obligatorisch, da die Anwendung ins Stocken gerät, wenn alles auf dem Benutzeroberflächen-Thread (UI-Thread) ausgeführt wird. Ich wollte schon immer meine Fähigkeiten in diesem Bereich verbessern und habe einen tollen Weg gefunden, dieses Ziel zu erreichen.
Die Trennung der Belange ist ebenfalls anders. Es gibt keinen Model View Controller (MVC) mehr, sondern es wird das Model View ViewModel (MVVM)-Muster verwendet. Obwohl ich es verwendet habe (in WPF und Windows Phone), ist es nicht auf dem gleichen Niveau und ich muss noch viel lernen.
Natürlich müssen Sie auch einen Simulator verwenden, um die Anwendung zu testen. Jedes Mal, wenn Sie testen möchten, müssen Sie den Simulator erstellen und bereitstellen. Sie können die Seite nicht einfach aktualisieren, um die Änderungen zu sehen. Die Rückkopplungsschleife ist lang und dauert meist mehrere Minuten, sodass das Debuggen langsam und kritisch ist.
Verlassen Sie Ihre Komfortzone
Ich habe vor etwa zwei Monaten mit der Arbeit an der App begonnen und es gibt noch viel zu lernen. Ich musste mich mit zwei Ökosystemen (Android und iOS) auseinandersetzen, mit denen ich keine Erfahrung hatte, zwei Frameworks, von denen ich nichts wusste (Xamarin und MvvmCross) und einigen Geschäftsanforderungen, die nicht einfach zu erfüllen waren. Glücklicherweise weiß ich zumindest, wie man C# verwendet.
Jetzt kämpfe ich jeden Tag mit vielen Dingen, die ich bedenken muss. Die wichtigsten sind einige „Wie mache ich das?“ im Zusammenhang mit meiner neuen Entwicklungsumgebung. Es gibt auch viele „Was wäre, wenn?“-Fragen: „Was ist, wenn das Netzwerk nicht verfügbar ist“, „Was ist, wenn diese Lösung zu langsam ist?“, „Wie kann man den Kunden das beste Erlebnis bieten?“…
Manchmal kann ich den ganzen Tag über nichts produzieren. Um ehrlich zu sein, fühle ich mich dann wirklich nutzlos und ein Betrüger – da ich bei der Arbeit nichts Wertvolles produzieren kann Sie bezeichnen sich als professionellen Softwareentwickler?
Nun, ich denke, dieses Gefühl ist, als würde man seine Komfortzone verlassen und sich auf dem Höhepunkt und im Tal der Lernphase befinden.
Lernrate mit Höhen und Tiefen
Gib nicht auf
Aber ich bin nicht der Einzige, der den Wechsel vornimmt, ich bin nicht allein in diesem Kampf. Jeder im Team muss sich dem gleichen Lernaufwand stellen, Senior-Entwickler und Junior-Entwickler gleichermaßen.
Wenn ich jetzt auf meine Reise in den letzten zwei Monaten zurückblicke, wird mir klar, dass ich immer noch verschiedene Mängel habe und noch ein langer Weg vor mir liegt, aber ich habe auch viel gelernt, so wie ich es jetzt tue Ich bin mit den Konzepten der asynchronen Programmierung und diesen MVVM-Mustern relativ vertraut.
Wenn ich ein professioneller Mobilentwickler werden möchte, muss ich noch weiter lernen, meine Reise fortsetzen, die Fähigkeiten erlernen, die mir fehlen, und Werte schaffen, die den Erwartungen der Kunden entsprechen. Auch wenn mir mein Job von Zeit zu Zeit unglücklich macht, bereue ich es nicht, denn es ist eine großartige Gelegenheit zum Lernen. Egal wie lange es dauert, ich werde Erfolg haben.

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Cockpit ist eine webbasierte grafische Oberfläche für Linux-Server. Es soll vor allem neuen/erfahrenen Benutzern die Verwaltung von Linux-Servern erleichtern. In diesem Artikel besprechen wir die Cockpit-Zugriffsmodi und wie Sie den Administratorzugriff von CockpitWebUI auf das Cockpit umstellen. Inhaltsthemen: Cockpit-Eingabemodi Ermitteln des aktuellen Cockpit-Zugriffsmodus Aktivieren des Verwaltungszugriffs für das Cockpit über CockpitWebUI Deaktivieren des Verwaltungszugriffs für das Cockpit über CockpitWebUI Fazit Cockpit-Eingabemodi Das Cockpit verfügt über zwei Zugriffsmodi: Eingeschränkter Zugriff: Dies ist die Standardeinstellung für den Cockpit-Zugriffsmodus. In diesem Zugriffsmodus können Sie vom Cockpit aus nicht auf den Webbenutzer zugreifen

Zu den Vorteilen von C++ in der Webentwicklung gehören Geschwindigkeit, Leistung und Low-Level-Zugriff, während zu den Einschränkungen eine steile Lernkurve und Anforderungen an die Speicherverwaltung gehören. Bei der Auswahl einer Webentwicklungssprache sollten Entwickler die Vorteile und Einschränkungen von C++ basierend auf den Anwendungsanforderungen berücksichtigen.

PHP gehört zum Backend in der Webentwicklung. PHP ist eine serverseitige Skriptsprache, die hauptsächlich zur Verarbeitung serverseitiger Logik und zur Generierung dynamischer Webinhalte verwendet wird. Im Vergleich zur Front-End-Technologie wird PHP eher für Back-End-Vorgänge wie die Interaktion mit Datenbanken, die Verarbeitung von Benutzeranfragen und die Generierung von Seiteninhalten verwendet. Anschließend wird anhand konkreter Codebeispiele die Anwendung von PHP in der Backend-Entwicklung veranschaulicht. Schauen wir uns zunächst ein einfaches PHP-Codebeispiel zum Herstellen einer Verbindung zu einer Datenbank und zum Abfragen von Daten an:

Um C++ für die Webentwicklung zu verwenden, müssen Sie Frameworks verwenden, die die Entwicklung von C++-Webanwendungen unterstützen, z. B. Boost.ASIO, Beast und cpp-netlib. In der Entwicklungsumgebung müssen Sie einen C++-Compiler, einen Texteditor oder eine IDE und ein Webframework installieren. Erstellen Sie einen Webserver, beispielsweise mit Boost.ASIO. Verarbeiten Sie Benutzeranfragen, einschließlich der Analyse von HTTP-Anfragen, der Generierung von Antworten und deren Rücksendung an den Client. HTTP-Anfragen können mithilfe der Beast-Bibliothek analysiert werden. Schließlich kann eine einfache Webanwendung entwickelt werden, z. B. mithilfe der cpp-netlib-Bibliothek zum Erstellen einer REST-API, zum Implementieren von Endpunkten, die HTTP-GET- und POST-Anforderungen verarbeiten, und zum Verwenden von J

Implementierungsschritte: 1. Überwachen Sie das Scroll-Ereignis der Seite. 2. Stellen Sie fest, ob die Seite nach unten gescrollt wurde. 3. Laden Sie die nächste Seite mit Daten. 4. Aktualisieren Sie die Scroll-Position der Seite.

Go erstellt interaktive Webanwendungen, die im Browser ausgeführt werden. Schritte: Erstellen Sie ein Go-Projekt und eine main.go-Datei und fügen Sie einen HTTP-Handler hinzu, um Nachrichten anzuzeigen. Fügen Sie Formulare mit HTML und JavaScript für Benutzereingaben und -übermittlungen hinzu. Fügen Sie die Handhabung von POST-Anfragen in Ihrer Go-Anwendung hinzu, empfangen Sie Benutzernachrichten und geben Sie Antworten zurück. Verwenden Sie FetchAPI, um POST-Anfragen zu senden und Serverantworten zu verarbeiten.

Die C++-Webentwicklung erfordert die Beherrschung der Grundlagen der C++-Programmierung, Netzwerkprotokolle und Datenbankkenntnisse. Zu den notwendigen Ressourcen gehören Web-Frameworks wie cppcms und Pistache, Datenbankkonnektoren wie cppdb und pqxx sowie Hilfstools wie CMake, g++ und Wireshark. Durch das Erlernen praktischer Fälle, wie z. B. das Erstellen eines einfachen HTTP-Servers, können Sie Ihre Reise zur C++-Webentwicklung beginnen.

C++ hat großes Potenzial in der mobilen Entwicklung, weil es eine große Entwicklergemeinschaft und umfangreiche Lernressourcen hat; eine effiziente Speicherverwaltung und Low-Level-Steuerung, die eine hervorragende Leistung bieten, die einmal geschrieben und auf Android, iOS und Windows ausgeführt werden kann; Wird häufig für die Entwicklung von Spiele-Engines verwendet. Funktionen mit geringer Latenz und Ressourcenverwaltung erfüllen die Anforderungen von Hochleistungsspielen.
