Programmist
Arassa Dart we Flutter ulanyp dürli platformalar üstünde işleýän faýl paýlaşmak üçin programmany döretdim
3 minut alar
Kärimiň ýoluna ilkinji basan ädimlerimden bäri süýnüp gelýän egrem-bugram ýodalaryndan, dürli tehniki päsgelçiliklerden doly bolan bir wakany size gürrüň bermekçi. Meniň ýaşlygymyň ýaş wagtynda ilki React Native tehnologiýany özleşdirmek bilen tanyşyp, köp platforma niýetlenen ulgamlaryň gazanynda gyzyp, gaýnap (ýanyp, bişip) başladym.
Şonuň üçin tä şu güne çenli hemme platformalara kanagtlandyryjy bolan çözgütleri gözlemegi hut bir platforma üçin düzülen çözgütlerden ilki öwrenmegi wajyp diýip hasap edýärin. Flutter-iň içgin gurluşugy gowy düzülendigi we programmistleriň tejribesinden tipiki ýüze çykyp biljek ýagdaýlary göz öňüne tutulandygy bilen programmistleriň belli çözgüt bolmadyk ýagdaýlara düşjegiň ähtimallygy aza düşüp barýar. Emma, bilesigeliji akyllar hemişe ylymyň düýbüniň gözleginde. Menem şu bir düýpleriniň birinde ylgap barýarkam birden täsin pikire geldim - Flutter üsti bilen ýakyn aragatnaşyk ulgamlarynda faýl we tekst paýlaşmak üçin niýetlenen mobil programmany düzmek.
Bu taslamanyň üstünde işlemek islegimden içim gijäp duranam bolsa-da, işimdäki bolan jogapkärçilik hemişe öňde bolmalydygyna hem düşünýärdim. Bu sebäpli, işimden daşary bolan wagtymy programmaň düzmegine haýyrly bolup biljek çeşmeleriň düýbüne çüňüp seýrek bolan maglumaty bölekleýin ýygnap taslamaň üstünde zähmet çekdim. Şunuň bilen, programmanyň aýratynlygy özli-özinde däl-de ugrunda ýygnalynan maglumat hazynasyndadyr. Umuman, programmanyň ençeme görnüşlerini çykaryp, düzedip, biçip, täzeden tikip alanyň bilen gurulyş prossesi 2-3 ýyla çekildi, emma, iň soňky görnüşini täzeden ýazanym 2 hepde-de tamamlandy. ("Indie" programmalaň ykbaly)
Aýdyp geçen tejribe hazynamdan käbir maglumatlar:
- Operasiýa Ulgamyna görä üýtgeýän faýl dolandyryş ulgamlary. Gynansak-da, Flutter we Dart öz arassa bolan görnüşinde UNIX-a meňzeş bolan adaty ýumuşlara ýetik umumylaşdyrylan faýl dolandyryş ulgamyny Dart wirtual enjamy üsti bilen ýeke hödürleýär. Emma, programmanyň içki gizlenen bukjasynyň daşyndan ulanyjyň rahatlygyny ýönekeýleşdirmek maksady bilen enjamyň ygtyýarlygy tarapyndan çäkli bolan böleklerinde faýllary ýazyp we dolandyrmak zerurlygy ýüze çykdy. iOS operasiýa ulgamynda buny ýerine ýetirmek - çölli itiň aňsadynyň jigisi (degişme). Emma, Android-a sähelçe (ýok, köp!) DARTgynlaşdyrdy (degişme). Android faýl dolandyrmak temasynda gadymy 2011-nji ýylyň makalalaryndan düýnki okuwçylaryň blog düzmelerine çenli geçip kese ýykylypdym. Ahyrynda, haýsy usuly saýlanym barada indiki makalalarymda gürrüň bererin.
- Men adaty faýl paýlaşmak programmalary kän halap duramok. Sebäbi, adaty programmalar hemme deňdeşleriň enjamlarynda ýüklenen görnüşini talap edýärler, p2p ýa-da aýratyn ýazylan protokol üsti bilen işleýärler. Bul ýaly programmalaryň ýene birini çykarmak maňa ýakmady. Meň obamda tekeri täzeden oýlap tapman biz HTTP protokoly saýlaýarys. Ýagny, siz bu programmany ýükläp biri bilen faýl ýa tekst paýlaşjak isleseňiz, siziň deňdeşleriňize programmany ýüklemek zerurlygy ýok, olar (birnäçe ulanyjy) siziň döredilen ugradyjyňyzy web brauzera girizip, paýlaşan faýllaryňyzy şol web brawzerdan alyp bilerler. Dart web serwerler barada, Dart isolýatlary barada hem ýygnan maglumatymy geljekgi makalalarymda hem beýan ederin.
- Operasiýa ulgamyna garamazdan funksiýalary umumylaşdyrmak. Käwagt, öz perfeksionist häsiýetimi gysyp, funksiýalary ulgamlara görä deňleşdirmegiň bilen ulanyjyň rahatlygynyň orta arasyny saýlamaly hem bolýardym. Ahyrynda, hödürlenen funksiýalary deňleşdirmegi başaryp bildim, mundan hem daşary, goldanýan platformalaryň sanyny hem köpeltdim. Ýazylan kod çeşmesi Android, iOS, Windows, Linux, MacOS ulgamlarynda ýerini ýetirilip bilse-de, şu wagtlyk-ça, programma diňe Android enjamlary üçin Google Play üsti bilen ýükläp bilersiňiz. Beýleki ulgamlara niýetlenen programma bazarlara ýüklemegi akkaunt dolandyrmak sebäpli biraz soňa çekiler.
Şu setirlere çenli okap lezzet alanyňyza umyt edýärin. Ýakyn geljekde Sharelines programma barada ýazýan makalalar toplumynda tehniki jikme-jiklikleri bilen sizi çuňňur tanyşdyraryn.
Makalaň iňlis dilindäki görnüşi: https://medium.com/@keamansaryyev/lan-file-sharing-app-using-only-dart-and-flutter-92529a1e6df0
"Google Play"-dan "Sharelines" programmany ýükläp bilersiňiz: https://play.google.com/store/apps/details?id=com.marblejungles.sharelines