Android Programlama
tr·@monomyth·
0.000 HBDAndroid Programlama
https://i.hizliresim.com/d7NrJ7.jpg Programlama dilleri birer alettir. Aletler eskir, değiştirilir ama sorunlar var olmaya hep devam eder. Bu yüzden bir aleti iyi kullanmayı öğrenmek yerine, mevcut sorunu iyi anlayıp ona olabildiğince farklı ve hızlı çözümler üretmeyi öğrenmek daha mantıklı geliyor. Bu yüzden biraz işin arka planda kalmaya mahkum bırakılmış kavramları üzerine bir şeyler yazmaya çalışacağım. Sınav öncesi tekrar olur bana da :) # Android Nedir? <hr> Öncelikle gündelik hayatımızın bir parçası olan android kavramını tanıyarak işe başlamak lazım sanırım. Android; Google öncülüğündeki **Open Handset Alliance** adlı organizasyon tarafından mobil cihazlar için geliştirilen, **Linux 2.6** çekirdeğine dayanan, açık kaynak kodlu özel bir Linux dağıtımıdır. Eğer Open Handset Alliance üyelerini merak ediyorsanız bu listeden ulaşabilirsiniz. # Native Uygulama / Hybrid Uygulama <hr> Android uygulamaları native ve hybrid *(native olmayan)* olmak üzere iki sınıfa ayrılırlar. Native uygulama; söz konusu sistemin kendi dili olarak kabul edilen dille yazılmış, cihazın donanım/işletim sistemi özelliklerine tam anlamıyla erişebilen uygulamalardır. Yani **IOS** için **Swift** veya **Objective-C** ile yazılan uygulamalar native olarak değerlendirilirken, Android için Java ile yazılan uygulamalar native olur. Ayrıca native uygulamalar internet bağlantısı olmadan da çalışabilirler. Native olmayan hybrid uygulamalar ise kendi içinde üçe ayrılırlar. **Cross Platform**, **Dedicated Web Application** ve **Generic Mobile Web Application** şeklinde. Bu üçünün ortak paydası ise platformun kendi doğal dili ile yazılmamış olmalarıdır. # Dalvik ve ART Sanal Makineleri <hr> Android üzerinde çalışan native uygulamalar Dalvik veya DVM adlı tümüyle Android'e özgü bir Java sanal makinesi sayesinde çalıştırılır. Android 4.4 versiyonunda Dalvik'e alternatif olarak ART isimli yeni bir sanal makine daha platforma katıldı. Yani Dalvik ve ART mobil cihazlar için özel olarak tasarlanmış ve bilgisayarlara oranla çok daha düşük donanım kaynakları olan mobil cihazlarda dahi yüksek verimle çalışabiliyorlar. ART (Another Runtime) KitKat versiyonunda Dalvik'e alternatif olarak sunulmuştur. ART, **Garbage Collection** ve **Debugging** gibi konularda Dalvik'e göre daha gelişmiş özelliklere sahiptir. - [Image Source](https://wall.alphacoders.com/big.php?i=128256)
👍 monomyth, anomaly, hatemelpop, kenan1989, damla, dailycute, me-do, dontstopmenow, redpill, cryptoctopus, fermond, mhmegh, thethreehugs, webresultat, raj1511, driftingvoice, videogeek, steeminator3000, jpederson96, gardeningabc, everythink, grandpere, aboutyourbiz, ffodie, phogyan, followbtcnews, melinda010100, adnanrabbani, badol1994, prazxs, tonygreene113, mila00, esaug, rusinho027, afifa, damzxyno, odibezeking, intellectualsoul, samstickkz, kayyam09, noly, jaka87, ladybirdec, crypto-pontiff, omeratagun, emrebeyler, themanualbot, wuzupin, ryankofi, yvonneinoregon, marvel1206, mandirapoddar, stylo, anadolu, limnade, zoltarian, habercitr, byn-yesilbag, forkonti, vfrolovs, kranik, sndbox, lgm-1, mindfreak, voronoi, sandbox, curazao, hansikhouse, indiantraveller, pedrhenrique, somethingburger, myego13, gokcehan61, by-yesilbag, stmtazerbaijan, steemed-proxy, bkocak, anjiheft, osmanbugra, hakanyaman, misalen, enesozcann, kutayeen, xlaxter, chaosdrow, enflow, kalvas, hightouch, hmkme, hakan8686, natureofbeing, alkmaar,