მონაცემთა მდგრადობის გაგება IOS აპლიკაციების განვითარებისას - IT Academy STEP Tbilisi მონაცემთა მდგრადობის გაგება IOS აპლიკაციების განვითარებისას - IT Academy STEP Tbilisi

თბილისი, ჯანო ბაგრატიონის 6

მონაცემთა მდგრადობის გაგება IOS აპლიკაციების განვითარებისას

დეველოპერად მუშაობისას, შესაძლოა, დასაწყსიში ყველაფერი რეალურზე რთულად გამოიყურებოდეს, იქნება ეს UI, ლოგიკა, ფუნქციონალობა თუ მნიშვნელოვანი მონაცემების შენახვა, რომელებსაც ჩვენი მომხმარებელი ყოველდღიურ ცხოვრებაში გამოიყენებს. ამ სტატიაში შევეცდები განვმარტო, თუ რატომ არის მნიშვნელოვანი მონაცემების მდგრადობა iOS-ში და გიჩვენოთ მცირე რაოდენობის მონაცემების შენახვის უმარტივესი გზა User-Defaults-ის გამოყენებით.

რას გულისხმობს მონაცემების მდგრადობა?

აპლიკაციების დეველოპერისთვის მდგრადობის მნიშვნელობის გაგება ძალიან მნიშვნელოვანია. თანამედროვე აპლიკაციების უმეტესობაში რთული გამოწვევაა მონაცემების შენახვის აუცილებლობა. თუ ამას მიაღწევთ, მაშინ ის უზრუნველყოფს უკეთეს და ინტერაქტიულ სამომხმარებლო გამოცდილებას. დავუშვათ, ფორმის შესავსებად იყენებთ აპლიკაციას და უცებ ზარი შემოგივიდათ, რადგან ზარები ტელეფონებისთვის გარდაუვალი შეფერხებებია, თქვენი აპლიკაცია უკანა პლანზე გადავა და იძულებული გახდებით შემოსულ ზარს უპასუხოთ. როცა დაუბრუნდებით აპლიკაციას, ნახავთ, რომ მთლიანი მონაცემები, რაც კი ფორმაში გქონდათ შეტანილი, დაკარგული იქნება. ეს არის ის პრობლემა, რომელიც მონაცემთა მდგრადობის გამოყენებით უნდა გადავჭრათ.

მდგრადობა არის „ეფექტის გაგრძელება მისი მიზეზის გაუქმების შემდეგ“. კომპიუტერულ სისტემაში ან მობილურ ტელეფონებში მონაცემთა შენახვის კონტექსტში, ეს იმას ნიშნავს, რომ მონაცემები უნდა შენარჩუნდეს ჩვენი აპლიკაციიდან გამოსვლის შემდეგ. სხვა სიტყვებით რომ ვთქვათ, მონაცემთა შენახვა მუდმივი პროცესი რომ გახდეს და არაფერი დაგეკარგოთ, საწყისშივე მდგრადი შენახვისთვის უნდა დაიწეროს.

რისთვის გვჭირდება მონაცემების შენახვა ადგილობრივად?

როგორც ზემოთ აღვნიშნე, ზარების ან ნებისმიერი სხვა სახის შეფერხებებმა შეიძლება დაბრკოლება შეგიქმნათ მნიშვნელოვანი ამოცანის შესრულების დროს ნებისმიერ აპლიკაციაში. ნამდვილად მოსაბეზრებელია, როცა შესრულებული სამუშაო გეკარგებათ და მთლიანი მონაცემები გიუქმდებათ. ამიტომ მათი ადგილობრივად შენახვა მოწყობილობის მეხსიერებაში ძალიან მნიშვნელოვანია.

როცა IOS-ზე ვსაუბრობთ, არსებობს არსებობს აპლიკაციის ციკლი დაწყებიდან დამთავრებამდე, მათ შორის, მომხმარებელი ასრულებს თავის სამუშაოს. როცა აჭერთ home ღილაკს, აპლიკაციები უკანა პლანზე გადადის, ეს იმას ნიშნავს, რომ ის აპლიკაციები, რომლებზეც მუშაობდით, აღარ ჩანს. შეგიძლიათ შეადაროთ კარტის წყობას, სადაც ერთი კარტი მეორეზეა მოთავსებული. კარტი არის აპლიკაცია. როცა თქვენი აპლიკაცია შეწყდება, თქვენ დაკარგავთ მონაცემებს ნორმალურ აპლიკაციებში, რომლებიც გააკეთეთ, იმ შემთხვევაში თუ არ გამოიყენებთ მონაცემთა მდგრადობის მექანიზმს IOS-ზე მონაცემების ადგილობრივად შენახვისთვის მომხმარებლის მოწყობილობაზე.

აპლიკაცია უკანა პლანზე შეიძლება ასრულებდეს დავალებებს ან შესაძლოა დაიხმაროს თქვენი iPhone-ის მეხსიერება. იმ შემთხვევებში, როცა რესურსები ბრუნდება თქვენი აპლიკაციიდან, მაშინ აპლიკაცია წყდება და არ გადადის უკანა პლანზე. IOS აპლიკაციის ციკლი ქვემოთ არის მოცემული.

პრობლემა მაშინ ჩნდება, როცა აპლიკაცია წყდება და ჩვენი მონაცემები ადგილობრივად არ ინახება. აპლიკაციის შეწყვეტა შეიძლება მოხდეს შემდეგნაირად:

ოპერატიული სისტემა ცდილობს დააბრუნოს რესურსები, რადგან მომხმარებელი ცდილობს გამოიყენოს სხვადასხვა აპლიკაცია და მეხსიერების სივრცე საკმარისი აღარ არის.

როცა მომხმარებელი ხურავს აპლიკაციას რაღაც მიზეზით ან შეცდომით.

განახლებების ინსტალაციამ შესაძლოა ნამდვილად შეწყვიტოს თქვენი აპლიკაციის დასრულება.

როცა ოპერაციული სისტემა განახლების პროცესშია.

User – Defaults

ეს არის ერთერთი გზა მონაცემების ადგილობრივი მდგრადობისთვის IOS-ზე. მონაცემების ადგილობრივად შენახვის გზები ასეთია:

1 UserDefaults: მონაცემების მცირე რაოდენობისთვის

2 Coadables: დოკუმენტებში ობიექტების შენახვა

3 Coredata: SQL lite backend მონაცემთა ბაზისთვის ძირითადად ვქმნით დაკავშირებულ მონაცემთა ბაზას.

UserDefaults ერთერთი ყველაზე ადვილი გზა არის ჩვენი მონაცემების ადგილობრივად შენახვისთვის. ეს არის მომხმარებლების default მონაცემთა ბაზის ინტერფეისი, სადაც მონაცემებს ვინახავთ key-value pair ფორმით ჩვენი აპლიკაციის გაშვებასთან ერთად.

Apple-ის მიერ დაწერილი UserDefaults კლასი გვაძლევს პროგრამულ ინტერფეისს defaults სისტემებთან ურთიერთმოქმედებისთვის. Defaults სისტემა საშუალებას აძლევს აპლიკაციას მომხმარებლის უპირატესობებს მოარგოს თავისი მოქმედება. მაგალითად, შეგიძლიათ მომხმარებლებს ნება დართოთ განსაზღვრონ თავიანთი სასურველი საზომი ერთეულები ან მედიის ხელახლა ჩართვის სიჩქარე. აპლიკაციები ინახავენ ამ უპირატესობებს პარამეტრების ჯგუფზე მნიშვნელობების მინიჭებით მომხმარებლის Defaults მონაცემთა ბაზაში. პარამეტრებს მიმართავენ როგორც defaults-ებს, რადგან ისინი გამოიყენება აპლიკაციის default დგომარეობის განსაზღვრისთვის სტარტაპის დროს ან მაშინ, როცა ის ჩვეულებრივ მოქმედებს. დაწვრილებითი ინფორმაციისთვის წაიკითხეთ Apple documentation.

მოდით მაგალითში ვნახოთ თუ რისი გაკეთება შეგვიძლია UserDefaults-ის გამოყენებით Swift ენაზე კოდირების დროს.

შეგვიძლია შევქმნათ URL-ი, key-value pair, bools, doubles, floats, integers. ვთქვათ წერთ კოდს როგორც:

Defaults.set(value: Float, forKey: String) და float value-ს ანიჭებთ 3-სმაგნიტოფონის აპლიკაციისთვის და key-ს ანიჭებთ „myVolume“-ს როცა ასე აკეთებთ, შემდეგ ყოველთვის შეგიძლიათ გამოიყენოთ შენახული მონაცემები  და ყოველთვის დააყენოთ ამ კონკრეტული მთავარი მნიშვნელობის მოცულობა.

განხორციელება ქვემოთ არის მოცემული:

The any? მონაცემების ტიპი დაბლოკა object მეთოდმა როგორც ქვემოთ არის მოცემული. შეგიძლიათ collections-ების შენახვაც  UserDefaults-ის გამოყენებით.

ალბათ ხედავთ, რომ მასივის მნიშვნელობა დაბრუნდა UserDefaults-ის გამოყენებით. ნაცრისფერი ყუთი გვატყობინებს, რომ default key სახელი არის სტრინგი და არის მასივის ტიპი, ხოლო დაბრუნების ტიპი სინამდვილეში არის არჩევითი მასივი ანუ of type [any]?და შეგიძლიათ ნებისმიერი ტიპის ფორმა მისცეთ as! [datatype] -ის გამოყენებით.

ამის მსგავსად შეგიძლიათ მოიქცეთ ბიბლიოთეკებისთვისაც.

შენიშვნა: key-ის სწორად დაწერას დიდი მნიშვნელობა აქვს, რადგან მისი კოდირება რთულია, ისინი ისე უნდა დაწეროთ, როგორც მითითებულია, როცა დიდ პროექტებზე მუშაობთ. ინფორმაცია შეასრულებს ცალკეული მუდმივას დეკლარირებას და ეს შეამცირებს ბეჭდვის შეცდომებს. მაგალითად:

let myDictionarykey = “data”

დასკვნა

როცა მონაცემების რაოდენობა დიდია, ისინი უმართავი ხდება. ამის მიზეზი ის არის, რომ UserDefaults-ი არ არის მონაცემთა ბაზა, ის უნდა გამოიყენოთ როგორც მონაცემთა ბაზა. რადგან UserDefaults-ის მიერ შენახული მთლიანი მნიშვნელობა ინახება .plist ფაილში და სინამდვილეში იტვირთება აპლიკაციასთან ერთად და იქ ინახავს მთლიან მონაცემებს, ამან შესაძლოა ატვირთვის პროცესი მნიშვნელოვნად შეანელოს და თუ იმ ფაილში მცირე ზომის მონაცემებს მოიძიებთ, მაშინაც კი როცა ამ მონაცემების ამოღება დაგჭირდებათ, მოწყობილობამ ან სიმულატორმა მაინც მთლიანი მონაცემები უნდა ატვირთოს, როცა ამის საჭიროება არ იქნება. ამით ჩვენი აპლიკაციის ეფექტურობა ძალიან დაზარალდება, როცა მას გამოიყენებთ დიდი მონაცემებისთვის და მხოლოდ როგორც მონაცემთა ბაზას.

ჩვენთან სტეპ აკადემიაში თქვენ გაქვთ შესაძლებლობა მიიღოთ ხარისხიანი ცოდნა და უზარმაზარი გამოცდილება! შემოგვიერთდით აკადემიაში!

მსოფლიო ბრენდი IT აკადემია STEP

დაგვიკავშირდით ეხლავე !

თბილისი,

ჯანო ბაგრატიონი #6
+995 (32) 215-55-51
+995 (32) 215-50-05

შემოგვიერთდით აკადემიაში!

დარეკეთ ან დარეგისტრირდით ეხლავე, ჩვენი კვალიფიციური სპეციალისტები დაგიკავშირდებიან უმოკლეს დროში

რეგისტრაცია

სახელი, გვარი*
ტელეფონი*
E-mail*
სად გაეცანით ინფორმაციას ღია კარის დღის შესახებ?*


ახალი ამბები