xamarin做地图应用
You are starting your developer career and see mobile apps as the future of software; you are not wrong, and Xamarin is the best way to begin.
您正在开始您的开发人员职业,并将移动应用视为软件的未来; 您没看错,Xamarin是最好的开始。
移动应用 (Mobile Applications)
Software development for a mobile device is different from web applications or desktop applications. Programming languages change with different platforms, iOS development utilizes a different framework than Android.
移动设备的软件开发与Web应用程序或桌面应用程序不同。 编程语言随平台的不同而变化,iOS开发使用的框架与Android不同。
This might seem overwhelming at first, not knowing where to begin, what platform to choose, or what framework within a platform, but don’t worry, Microsoft has your back with Xamarin.
乍一看,这似乎令人不知所措,不知道从哪里开始,应该选择哪个平台,或者平台内的框架,但是请不要担心,Microsoft支持Xamarin。
Xamarin (Xamarin)
Xamarin as described by Microsoft is “an open-source app platform for building modern & performant iOS and Android apps with C# and .NET.”
微软所描述的Xamarin是“一个开放源代码的应用程序平台,用于使用C#和.NET构建现代,高性能的iOS和Android应用程序。”
This means that with a single code in C#, you can have an Android and iOS app, all in one, essentially reducing the development time and process in half or more. Instead of learning Swift for iOS and Java for Android, you can just learn C# and build your app as if it was native to both.
这意味着只需使用C#编写一个代码,您就可以拥有一个Android和iOS应用程序,这一切合而为一,从而将开发时间和过程减少了一半甚至更多。 无需学习iOS的Swift和Android的Java,只需学习C#并构建自己的应用即可,就像两者都是本机一样。
I still advise for later stages in your developer career, to adhere to one platform and go in-depth to make better, more powerful apps, but as a beginner, Xamarin offers more than you could need.
我仍然建议您在开发人员职业生涯的后期阶段,坚持使用一个平台并深入开发更好,更强大的应用程序,但是作为一个初学者,Xamarin提供的功能超出了您的需求。
C# is a programming language that will be familiar to many for it being part of the C family. Most programmers’ first language is C, and rightly so, it is accessible and powerful, with many uses still today. C# is the same, it’s accessible, constantly updated due to Microsoft’s intent to make It, and .NET, a mainstream platform.
C#是一种编程语言,由于它是C系列的一部分,因此很多人都会很熟悉。 多数程序员的第一语言是C,正确的说,它是可访问且功能强大的,至今仍在许多用途。 由于Microsoft打算将C#和.NET作为主流平台,因此C#相同,可访问,并且不断更新。
Xamarin provides services within the .NET framework like Azure (which is Microsofts Cloud services) and libraries that are common on mobile apps like NuGet.
Xamarin在.NET框架内提供诸如Azure(这是Microsoft的云服务)之类的服务,以及在NuApp之类的移动应用程序中常见的库。
.NET (.NET)
.NET is a framework gaining a lot of traction lately, due to its many services and constant updates. It’s a group of tools and libraries most developers need in one package. Here are some benefits of using it.
.NET由于其许多服务和不断的更新而成为近来备受关注的框架。 这是大多数开发人员在一个程序包中需要的一组工具和库。 这是使用它的一些好处。
Robust
强大的
Secure
安全
Maintained
保持
Support for different languages
支持不同的语言
This framework makes development easy and controlled. It is very polished, so bugs and crashes related to the framework are few.
该框架使开发变得容易且可控。 它非常优美,因此与框架相关的错误和崩溃很少。
If this speaks to you, you might be thinking “How do I start?”, that is with Xamarin.Forms.
如果您这样说,您可能会想到“如何开始?”,即使用Xamarin.Forms。
Xamarin表格 (Xamarin.Forms)
Xamarin.Forms is an “open-source cross-platform framework for building iOS, Android, & Windows apps with .NET from a single shared codebase”. This is the feature that makes Xamarin outstanding. Once you know how to program on C# and have some acquaintance with .NET, you can start with Xamarin.Forms.
Xamarin.Forms是一个“开源跨平台框架,用于从单个共享代码库中使用.NET构建iOS,Android和Windows应用程序”。 这就是使Xamarin脱颖而出的功能。 一旦您知道如何使用C#编程并熟悉.NET,就可以从Xamarin.Forms开始。
When I started with this feature, I already had a background of developing in ASP.NET, so I highly recommend those who have the same background to give this a chance; it will feel intuitive and natural.
当我开始使用此功能时,我已经具有ASP.NET的开发背景,因此,我强烈建议那些具有相同背景的人给这个机会。 会感觉直观自然。
If you are new, then don’t feel intimidated by the menus and features, most likely, if you’re trying mobile development you are probably already accustomed to some IDE, maybe even Visual Studio, so it shouldn’t be so hard to find where to start; The number of youtube tutorials and Udemy courses is amazing. Also, Microsoft has great documentation of all the tools, systems, and features within the platform; it’s a great habit for a programmer to read the documentation of the working platform.
如果您是新手,那么就不要被菜单和功能所吓倒,最有可能的是,如果您正在尝试移动开发,那么您可能已经习惯了某些IDE,甚至是Visual Studio,因此,使用它应该不难找到从哪里开始; YouTube教程和Udemy课程的数量惊人。 此外,Microsoft还拥有有关平台内所有工具,系统和功能的详尽文档; 程序员阅读工作平台的文档是一个好习惯。
发展概况 (Development Overview)
Model View ViewModel is the design pattern for Xamarin, and while not being extremely different from other patterns, it does offer a more comprehensive approach to development inside the framework.
模型视图ViewModel是Xamarin的设计模式,虽然与其他模式没有太大不同,但它确实为框架内的开发提供了更全面的方法。
Visual Studio is the IDE you’ll be using, and in my personal opinion it’s one of the best ones out there; with professional design and aesthetics (typical of Microsoft’s software), it provides a developing experience that allows your programming skills to shine.
Visual Studio是您将要使用的IDE,在我个人看来,它是最好的IDE之一。 凭借专业的设计和美学(通常是Microsoft软件),它提供了开发经验,使您的编程技能大放异彩。
Also to run the app you’ll need either to plug your phone to your device, or use an emulator. If you want to test on the iOS side of things, you’ll need an iOS device of some sort, like a Mac. When using an emulator, it goes without saying that a good PC will be needed, because loading times on some emulators are horrible.
另外,要运行该应用程序,您需要将手机插入设备或使用仿真器。 如果要在iOS方面进行测试,则需要某种类型的iOS设备,例如Mac。 使用仿真器时,不用说需要一台好的PC,因为在某些仿真器上的加载时间太可怕了。
You’ll start programming the many pages of the app, of course in typical fashion, Frontend for the UI and UX, and Backend for the services and systems. Something you can add to your database is Cloud services with Azure; Azure is easy to implement with the other Microsoft services, and since nowadays almost all apps contain some sort of online or Cloud capabilities, it’s a good idea to consider Azure.
当然,您将开始以典型的方式对应用程序的许多页面进行编程,其中UI和UX使用Frontend,服务和系统使用Backend。 您可以添加到数据库中的是Azure的云服务。 Azure易于与其他Microsoft服务一起实施,并且由于当今几乎所有应用程序都包含某种在线或云功能,因此考虑使用Azure是一个好主意。
Once you begin developing, you’ll notice that some commands might be needed on each specific project, maybe a feature implemented requires to add a sentence on the android specific project or a library that works perfectly on Android might not work on the iOS project. Here are where some of the nuances of Xamarin.Forms begin, you may need to learn some platform-specific commands and features.
一旦开始开发,您会注意到每个特定项目可能需要一些命令,也许所实现的功能需要在android特定项目上添加一个句子,或者在Android上完美运行的库可能不适用于iOS项目。 这是Xamarin.Forms的一些细微差别开始的地方,您可能需要学习一些特定于平台的命令和功能。
For Xamarin.Forms to develop two apps at once, it adds some restrictions and feels tight in some regards, for example, the UI can be tailored to your design, but not in an extensive way, there are some plugins for it like Syncfusion that can help, but don’t expect a lot of freedom in design.
对于Xamarin.Forms一次开发两个应用程序,它增加了一些限制,并且在某些方面感觉很紧张,例如,可以针对您的设计量身定制UI,但不能以广泛的方式进行,有一些像Syncfusion这样的插件可以提供帮助,但不要期望设计有很大的自由度。
A great thing is that Xamarin supports a lot of Google’s APIs, so there are many features you can add to your app.
Xamarin很棒,因为它支持许多Google的API,因此您可以将许多功能添加到您的应用中。
The more experience using the framework, the more you’ll get out of it.
使用该框架的经验越多,您将从中获得更多的收益。
试试看 (Give It a Try)
Xamarin is really good for newcomers to app development and can be a powerful tool for experienced teams; if time is an issue, Xamarin will cut down development times in a considerable manner. It has some issues and limits, as all frameworks do, but try it out and maybe you’ll end up killing two birds with one stone.
Xamarin非常适合新手进行应用程序开发,并且可以成为经验丰富的团队的强大工具; 如果时间是一个问题,Xamarin将大大缩短开发时间。 就像所有框架一样,它有一些问题和局限性,但是尝试一下,也许最终会用一块石头杀死两只鸟。
Thank you for reading this article, I hope you found this useful.
感谢您阅读本文,希望对您有所帮助。
翻译自: https://medium.com/dev-genius/start-to-develop-mobile-apps-with-xamarin-9dce30cb0825
xamarin做地图应用