5 새 Xamarin 프로젝트에 NuGet 패키지를 설치해야 함

첫 번째 프로젝트를 시작하는 것은 약간 압도적일 수 있습니다. 내 말은, 나wrote nearly 3,000 words가 무엇을 선택해야 하고 각 옵션이 무엇을 의미하는지에 대한 모든 부분을 분석한다는 것입니다. 아, 그리고 내 . 내 프로젝트에서 코드 작성을 시작하기 전에 configure my projects에 약간의 시간을 투자한 다음 처음부터 생산성을 높이는 데 도움이 되는 필수 NuGet 패키지를 설치합니다.

예, Xamarin.Forms 및 Xamarin.Essentials가 새 프로젝트에 "기본적으로"포함되어 있는 것은 사실이지만 놀라운 커뮤니티 구성원이 제공하는 놀라운 라이브러리의 세계가 있습니다. 제가 개발한 에버 앱의 핵심인 제가 가장 좋아하는 패키지를 소개하려고 합니다. 자, 시작하겠습니다.

MVVM 도우미 🎉



내가 처음 2개의 NuGet 패키지를 작성했기 때문에 약간 편견이 있을 수 있지만 매우 중요한 요소라고 생각합니다. 첫 번째는 MVVM Helpers(Refractored.MvvmHelpers)로, 처음부터 앱을 만드는 데 도움이 되는 멋진 클래스와 유틸리티가 포함된 모든 앱에서 작동하는 초소형 라이브러리입니다. 여기에는 다음과 같은 것들이 포함됩니다.

  • ObservableObject: INotifyPropertyChagned의 간단한 구현

  • BaseViewModel : 필요한 유일한 기본 뷰 모델입니다. INotifyPropertyChanged와 Title, SubTitle, Icon, IsBusy, IsNotBusy, CanLoadMore와 같은 기본 속성을 구현합니다.

  • ObservableRangeCollection : 데이터 그룹을 관리하기 위해 항목을 키/값 쌍 ObservableCollection으로 그룹화하는 가장 좋은 방법입니다.
  • AsyncCommand: ICommand!의 비동기 버전입니다.

  • 이제 프로젝트를 시작하고 다음과 같이 코드를 작성할 수 있습니다.

    public class MonkeyViewModel : BaseViewModel
    {
        public MonkeyViewModel()
        {
            Title = "Monkeys";
        }
    
        public ObservableRangeCollection<Monkey> Monkeys { get; } = new ();
    
        AsyncCommand doStuffCommand;
        public AsyncCommand DoStuffCommand => doStuffCommand ??= new AsyncCommand(AsyncMethod);
    
        string name;
        public string Name
        {
            get => name;
            set => SetProperty(ref name, value);
        }
    
        public Task AsyncMethod()
        {
            return Task.CompletedTask
        }
    }
    


    원숭이 캐시 🐵



    이 멋진 작은 캐싱 라이브러리를 사용하면 정해진 시간 동안 데이터 개체를 쉽게 저장할 수 있습니다. 예를 들어 몇 분 동안 웹 결과를 캐시할 수 있습니다. file system , SQLite 또는 LiteDB 과 직접 통합되므로 다음과 같은 코드를 작성할 수 있습니다.

    public async Task<T> GetAsync<T>(string url, int minutes = 3)
    {
        var json = string.Empty;   
    
        if (!Barrel.Current.IsExpired(url))
        {
            json = Barrel.Current.Get<string>(url);
        }
        else
        {
            json = await client.GetStringAsync(url);
            Barrel.Current.Add(url, json, TimeSpan.FromMinutes(minutes));
        }
    
        return JsonConvert.DeserializeObject<T>(json);
    }
    


    와우, 3줄의 코드로 데이터 캐싱! :)

    팬케이크뷰 🥞



    내 앱은 . 아름다운 그라디언트, 카드, 맞춤형 둥근 모서리 등으로 앱에 새로운 생명을 불어넣습니다. 제 말은 이 아름다운 것을 보세요:

    PancakeView NuGet

    🦈🌪



    좋아요, 기술적으로 Sharpnado는 더 작은 라이브러리의 묶음이지만 Sharpnado에서 멋진 것이 너무 많기 때문에 선택하고 선택할 수 있습니다.

    첫 번째는 Jean-Marie Alfonsi ... 어디에나 둘 수 있는 완전 맞춤형 탭입니다!

    Sharpnado.Tabs

    그런 다음 이 있습니다. 모든 보기에 아름다운 그림자를 추가해야 한다는 것을 알고 있기 때문입니다.

    Sharpnado.Shadows

    , TaskLoaderViewHorizontalListView 을 포함하여 사용 가능한 과잉이 있으므로 이는 시작에 불과합니다. 이 라이브러리가 필요합니다!

    MaterialFrame 🧰



    이 이니셔티브는 Xamarin 팀의 공식 패키지이지만 커뮤니티와의 긴밀한 협업이기 때문에 정말 기쁩니다. 이 도구 키트는 Xamarin.Forms를 사용한 모바일 개발을 위한 컨트롤, 애니메이션, 동작, 변환기 및 효과의 컬렉션입니다. Xamarin.Forms를 사용하여 iOS, Android 및 UWP 앱을 빌드하는 일반적인 개발자 작업을 단순화하고 시연합니다. 테스트를 위한 Xamarin Community Toolkit 단계이지만 다음과 같은 놀라운 기능으로 가득 차 있습니다.
  • 토스트
  • 스낵바
  • 아바타뷰
  • MVVM 도우미(내 라이브러리의 멋진 항목)
  • C# 마크업 확장
  • 훨씬 더!

  • NuGet is still in pre-release

    더 많은 너겟



    다음은 완전히 확인해야 하는 권장 NuGet 패키지 중 일부에 불과합니다. 체크 아웃해야 하는 훨씬 더 멋진 커뮤니티 라이브러리가 있으며 제 목록 에 선별된 목록이 있습니다!

    좋은 웹페이지 즐겨찾기