{"id":2239,"date":"2018-12-17T21:43:29","date_gmt":"2018-12-17T18:43:29","guid":{"rendered":"http:\/\/mekanikelektriktesisat.com\/?p=2239"},"modified":"2018-12-17T21:43:29","modified_gmt":"2018-12-17T18:43:29","slug":"bence-native","status":"publish","type":"post","link":"https:\/\/benga.pro\/index.php\/2018\/12\/17\/bence-native\/","title":{"rendered":"Bence Native&#8230;"},"content":{"rendered":"<p>Amat\u00f6rce bir s\u00fcredir iOS i\u00e7in Xcode&#8217;da Objective C kullanarak ufak tefek yaz\u0131l\u0131mlar geli\u015ftirmekteydim. Zaman zaman mekanik ve elektrik tesisat i\u015fleriyle ilgili, zaman zamansa farkl\u0131 konularda oluyordu bu yaz\u0131l\u0131mlar. Yazd\u0131klar\u0131m\u0131 Appstore&#8217;da kullan\u0131c\u0131larla payla\u015f\u0131yordum. Her\u015fey iyi g\u00fczeldi ama bir s\u0131k\u0131nt\u0131 vard\u0131. Ayn\u0131 yaz\u0131l\u0131m\u0131 Android kullan\u0131c\u0131lar\u0131na ula\u015ft\u0131rmak i\u00e7in Android Studio&#8217;da Java kullanarak tekrar yazmak gerekmekteydi. Bu da ayn\u0131 i\u015fi farkl\u0131 yollardan iki kere yapmak demekti.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\" size-full wp-image-2242 aligncenter\" src=\"http:\/\/benga.pro\/wp-content\/uploads\/2019\/12\/ios.png\" alt=\"ios\" width=\"336\" height=\"336\"><\/p>\n<p>Bu sorunuma bir \u00e7are bulmak i\u00e7in biraz ara\u015ft\u0131rma yapt\u0131\u011f\u0131mda &#8220;cross-platform&#8221; terimiyle kar\u015f\u0131la\u015ft\u0131m. Bu sorunu ya\u015fayan tek ki\u015fi ben olmad\u0131\u011f\u0131mdan insanlar, tek kodlamayla t\u00fcm ortamlarda (iOS, Android, Windows Phone, Blackberry, vs.) \u00e7al\u0131\u015facak farkl\u0131 platformlar olu\u015fturmu\u015flar ve ad\u0131na da \u00e7apraz platform manas\u0131na gelen &#8220;cross platform&#8221; ad\u0131 vermi\u015fler. B\u00f6ylece bir yaz\u0131l\u0131mc\u0131 istedi\u011fi bir \u00e7apraz platformda tek&nbsp; kod yaz\u0131yor, bu kodu derledikten sonra hem Appstore&#8217;da hem de Play Store&#8217;da kullan\u0131c\u0131lara sunabiliyor.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-2244\" src=\"http:\/\/benga.pro\/wp-content\/uploads\/2019\/12\/crossplatform1.png\" alt=\"crossplatform1.png\" width=\"600\" height=\"400\"><\/p>\n<p>Bu durum tam da benim sorunuma \u00e7are oluyordu. Bu anlamda Xamarin \u00f6nce ilgi alan\u0131ma girdi. Visual Studio ve ilgili dosyalar\u0131n\u0131 indirdim ve kurdum. Biraz kurcalay\u0131nca yaz\u0131l\u0131m geli\u015ftirirken bazen Objective C&#8217;ye bazen Java&#8217;ya ihtiya\u00e7 oluyordu. Yazd\u0131\u011f\u0131m kodun iOS&#8217;taki \u00e7al\u0131\u015fmas\u0131n\u0131 g\u00f6rmek i\u00e7in yine bir Mac bilgisayara ve Xcode&#8217;a gerek oluyordu. Koca Xamarin hakk\u0131nda olumsuz bir \u015fey s\u00f6ylemek haddimi a\u015far ama bana uygun gelmedi.<\/p>\n<p>Sonras\u0131nda React Native konusuna biraz dald\u0131m ama o da biraz kar\u0131\u015f\u0131k geldi.<\/p>\n<p>En sonunda Phonegap ile yolum kesi\u015fti. Epey bir s\u00fcre bu platformda u\u011fra\u015ft\u0131m. Html ve Javascript kullanarak t\u0131pk\u0131 bir web uygulamas\u0131 yap\u0131yormu\u015f gibi kolayca kodlama yap\u0131yor, phonegap web sitesindeki hesab\u0131ma girerek kodumu derliyor ve o anda ekranda \u00e7\u0131kan karekodu okutarak uygulamam\u0131 telefonuma y\u00fckl\u00fcyor, kontrol ediyordum. Asl\u0131nda ba\u015fta olduk\u00e7a kolay geliyordu. Ama zamanla geli\u015ftirdi\u011fim yaz\u0131l\u0131mlar\u0131n\u0131n web uygulamas\u0131 havas\u0131nda oldu\u011funu, native uygulama havas\u0131n\u0131 vermedi\u011fini g\u00f6rd\u00fcm. Kullan\u0131c\u0131 aray\u00fczleri de yetersiz geliyordu. Ayr\u0131ca phonegap, ayl\u0131k 10 dolar para istiyor ve 25 yaz\u0131l\u0131ma kadar hak veriyordu. Derken bu platformdan da so\u011fudum.<\/p>\n<p>Sonu\u00e7ta \u015funu g\u00f6rd\u00fcm ki bir ta\u015fla iki ku\u015f vurulmuyor. Hem ucuz, hem performansl\u0131 hem native olsun diyorsan\u0131z yaz\u0131l\u0131m\u0131 iOS ve Android i\u00e7in ayr\u0131 ayr\u0131 yazmak en iyisi. D\u00fc\u015f\u00fcn\u00fcyorum da zaten yaz\u0131l\u0131mda kullan\u0131lacak olan ve haz\u0131rlamas\u0131 vakit alan g\u00f6rseller ve veritaban\u0131 her iki platform i\u00e7in de fark etmeyecek.<\/p>\n<p>Bu yaz\u0131da de\u011findi\u011fim konu ile ilgili olarak g\u00fczel derleme yap\u0131lm\u0131\u015f olan bir siteye <a href=\"https:\/\/medium.com\/ideas-experiences\/%C3%A7apraz-platform-cross-platform-mobil-uygulama-geli%C5%9Ftirme-ara%C3%A7lar%C4%B1-1122b8755e90\">buraya<\/a> t\u0131klayarak ula\u015fabilirsiniz.(&nbsp;<a title=\"CaprazUygulamaGeli\u015ftirmeAra\u00e7lar\u0131\" href=\"https:\/\/mekanikelektriktesisatdotcom.files.wordpress.com\/2018\/12\/CaprazUygulamaGeli\u015ftirmeAra\u00e7lar\u0131.pdf\">CaprazUygulamaGeli\u015ftirmeAra\u00e7lar\u0131.pdf)<\/a><\/p>\n<p>Peki iOS mu? Android mi? E\u011fer her iki platformda da yaz\u0131l\u0131m yapmak i\u015finize gelmiyorsa ve bir se\u00e7im yapmak istiyorsan\u0131z herhalde Android&#8217;i se\u00e7mek daha do\u011fru olacakt\u0131r. \u00c7\u00fcnk\u00fc T\u00fcrkiye&#8217;de ak\u0131ll\u0131 telefon\/tablet kullan\u0131c\u0131lar\u0131n\u0131n %78&#8217;i Android, %20si iOS (Di\u011fer i\u015fletim sistemleri ise %2) kullanmaktad\u0131r.&nbsp; D\u00fcnya \u00fczerinde de durum pek farkl\u0131 de\u011fildir. Android&#8217;in kullan\u0131m oran\u0131 a\u00e7\u0131k ara fazlad\u0131r.,<\/p>\n<p>Sonu\u00e7ta d\u00f6nd\u00fck dola\u015ft\u0131k yine k\u00fcrk\u00e7\u00fc d\u00fckkan\u0131na geldik. En g\u00fczeli iOS i\u00e7in Xcode&#8217;u, Android i\u00e7in Android Studio&#8217;yu kullanarak ayr\u0131 ayr\u0131 kodlar\u0131 yazmak&#8230;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone  wp-image-2243\" src=\"http:\/\/benga.pro\/wp-content\/uploads\/2019\/12\/android_wallpaper5_2560x1600_1.jpg\" alt=\"android_wallpaper5_2560x1600_1.jpg\" width=\"558\" height=\"557\"><\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Amat\u00f6rce bir s\u00fcredir iOS i\u00e7in Xcode&#8217;da Objective C kullanarak ufak tefek yaz\u0131l\u0131mlar geli\u015ftirmekteydim. Zaman zaman mekanik ve elektrik tesisat i\u015fleriyle ilgili, zaman zamansa farkl\u0131 konularda oluyordu bu yaz\u0131l\u0131mlar. Yazd\u0131klar\u0131m\u0131 Appstore&#8217;da kullan\u0131c\u0131larla payla\u015f\u0131yordum. Her\u015fey iyi g\u00fczeldi ama bir s\u0131k\u0131nt\u0131 vard\u0131. Ayn\u0131 yaz\u0131l\u0131m\u0131 Android kullan\u0131c\u0131lar\u0131na ula\u015ft\u0131rmak i\u00e7in Android Studio&#8217;da Java kullanarak tekrar yazmak gerekmekteydi. Bu da ayn\u0131&hellip;&nbsp;<a href=\"https:\/\/benga.pro\/index.php\/2018\/12\/17\/bence-native\/\" rel=\"bookmark\"><span class=\"screen-reader-text\">Bence Native&#8230;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":3583,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"neve_meta_sidebar":"","neve_meta_container":"","neve_meta_enable_content_width":"","neve_meta_content_width":0,"neve_meta_title_alignment":"","neve_meta_author_avatar":"","neve_post_elements_order":"","neve_meta_disable_header":"","neve_meta_disable_footer":"","neve_meta_disable_title":"","_themeisle_gutenberg_block_has_review":false,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-2239","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-genel"],"_links":{"self":[{"href":"https:\/\/benga.pro\/index.php\/wp-json\/wp\/v2\/posts\/2239","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/benga.pro\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/benga.pro\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/benga.pro\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/benga.pro\/index.php\/wp-json\/wp\/v2\/comments?post=2239"}],"version-history":[{"count":0,"href":"https:\/\/benga.pro\/index.php\/wp-json\/wp\/v2\/posts\/2239\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/benga.pro\/index.php\/wp-json\/"}],"wp:attachment":[{"href":"https:\/\/benga.pro\/index.php\/wp-json\/wp\/v2\/media?parent=2239"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/benga.pro\/index.php\/wp-json\/wp\/v2\/categories?post=2239"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/benga.pro\/index.php\/wp-json\/wp\/v2\/tags?post=2239"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}