7 گويش اپ نويسي اندرويدنرم افزار نويسي
مدام از آن حوزه هايي ميباشد كه زماني از خارج به آن نگاه مي كنيم، غامض و مملواز گويش هاي گوناگون براي شغل هاي گوناگون به لحاظ مي رسد، مخصوصا درصورتيكه داده ها متفرق اي هم درباره آن داشته باشيد ممكن ميباشد قضيه غامض خيس هم بشود. يادم مي باشد زماني ميخواستم نرم افزار نويسي اندرويد را آغاز كنم، تعداد لهجه هايي كه با استعمال از آنان مي شد نرم افزار هاي اندرويد ايجاد كرد، زياد بودند.براي همين تعيين يكياز اين لهجه ها براي آغاز نرمافزار نويسي به يك پرسش تعالي براي اينجانب تبديل گرديده بود. يعني وسواس داشتم كه شايسته ترين لهجه اپليكيشن نويسي اندرويد را در ميان اين كليه آيتم متعدد تعيين كنم تا شايسته ترين كوشش را داشته باشم.
پس از يك سري سال متوجه شدم اين پرسش در ذهن اكثر عده اي كه در مرحله آغاز ميباشند، وجود داراست: “كدام لهجه اپليكيشن نويسي اندرويد را گزينش كنيم؟”. طراحي اپليكيشن به همين ادله درين نوشته قصد داريم همگي لهجه هايي كه مي توانيم با آن ها نرم افزار اندرويد بسازيم را معرفي، نظارت و مقايسه كنيم تا تصميم گيري براي ما شل خيس بشود.
در صورتي طاقت قرائت تمامي اين نوشته را نداريد، بصورت خلاصه درباره گويش هايي مانند جاوا، كاتلين، سي شارپ، سي پلاس پلاس، پايتون، خصوصيت هاي آن ها، مقايسه گويش ها و نكته هايي براي تعيين ريلكس خيس سخن كرديم. ليست عنوان ها در فريم پايين معلوم مي باشند. با اپليكيشن چي همپا باشيد.
Javaزبان جاوا، لهجه نرمافزار نويسي قانوني و دوستداشتني ترين گويش اپليكيشن نويسي اندرويد ميباشد. فعلا، اكثر نرم افزار نويس هاي اندرويد از جاوا استعمال ميكنند. رايا پارس اكثر نرم افزار هاي جان دار در برنامه استور با اين لهجه درج شده اند و از طرف گوگل بيشترين دفاع را اخذ ميكند. ضمن همگي اينها، لهجه جاوا دارنده يك جامعه بسيار قوي و گران قدر ميباشد كه مي توانند در همگي ايرادات شمارا ياري نمايند (اين رو هم بگم كه حقيقتا بايستي با اشتباهات متعددي رمز و كله بزنيد).به هر حالا گويش جاوا براي يادگيري اشخاص مبتدي ممكن ميباشد پاره اي دشوار باشد. اين گويش دارنده مفاهيم غامض اي مانند متدهاي خالق، Null Pointer Exception، همزماني پردازش امرها، Checked Exception و غيره ميباشد. همينطور با اضافه شدن كيت گسترش اپليكيشن اندرويد (Android SDK)، عدم وضوح هاي اين گويش بيشتر هم خواهند شد.
با وجود تمامي اينها، جاوا گويش فوق العاده اي ميباشد كه با به كار گيري از آن مي توانيد لذت بي نقص اپليكيشن نويسي اندرويد را شعور فرمائيد. البته ممكن ميباشد براي اشخاص مبتدي پاره اي عدم وضوح داشته باشد و بعضي وقت ها جديد امور ترجيح مي دهند با يك گويش بي آلايش خيس استارت نمايند و آنگاه جاوا را حافظه بگيرند. ولي به لحاظ اينجانب براي صرفه جويي در وقت خوب ميباشد كه هرچه سريع خيس فعاليت با جاوا تحت عنوان يك لهجه اپ نويسي اندرويد را استارت نمائيد.
Kotlinكاتلين يكي گويش هاي كراس پلتفرم براي اپليكيشن نويسي ميباشد كه ممكن ميباشد جايگزين جاوا بشود. همينطور در سال 2017، كاتلين تحت عنوان دومين گويش نرم افزار نويسي اندرويد قانوني بوسيله گوگل معرفي شد. كاتلين مي تواند به وسيله ماشين مجازي جاوا (JVM) اعمال بشود و مشابهت هاي متعددي به جاوا داراست.
صرفا تفاوت عمده كاتلين با جاوا اين ميباشد كه خصوصيت هاي اضافه گويش جاوا مانند Null Pointer Exception ديگر در آن وجود ندارند. همينطور نياز به استعمال از نقطه ويرگول (Semicolon) در انتهاي هر فرمان دراين لهجه نيست. بصورت خلاصه، گويش كاتلين براي يادگيري مبتدي ها بسيار سهل وآسان خيس ميباشد و همينطور قادر است يك نقطه ورود به دنياي نرمافزار نويسي اندرويد باشد.
C Plus Plusگويش سي پلاس پلاس يكياز گويش هاي اپ نويسي اندرويد ميباشد كه براي توسعه و گسترش مستقر اندرويد (NDK) به كارگيري مي شود. ولي اين نكته را مي بايست بدانيد كه با سي پلاس پلاس نميتوانيد يك نرم افزار بي نقص اندرويد بنويسيد.application اين گويش براي طراحي نصيب هايي از نرم افزار با گويش مستقر اندرويد به فعاليت برده ميشود. اين خصوصيت سبب ساز ميگردد بتوانيم در مواقعي كه نياز داريم، از لايبرري هاي سي پلاس پلاس استعمال كنيم.
گويش مستقر اندرويد، يعني زباني كهاين سيستم ادله در سطوح ذيل با آن فعاليت ميكند، سي پلاس پلاس ميباشد. به همين ادله، براي بسط نرم افزار با اين لهجه، بايستي از كيت پيشرفت مستقر يا اين كه Native Development Kit استعمال مي شود. اين كيت براي طراحي نصيب هايي از نرم افزار كه نياز به كوشش بسيار بالا دارا هستند (مانند بازي هاي هنگفت ) و نياز ميباشد منابع سيستم را بيشتر در اختيار گرفتن كنيم، همت دارااست.
هرچند سي پلاس پلاس يك لهجه نرمافزار نويسي اندرويد كار كشته ميباشد و سعي بالايي داراست، ولي طراحي آن بسيار ايراد خيس از جاوا بوده و انعطاف بسيار كمتري داراست. همينطور به جهت عدم وضوح هاي زياد، ممكن ميباشد با ارور ها و باگ هاي بيشتري روبرو بشويد. پس در اكثر مفاد خوب ميباشد كه از گويش جاوا يا اين كه كاتلين به كارگيري فرمائيد.
C Sharpگويش سي شارپ مشابهت هاي بسيار متعددي به جاوا داراست و از اين لحاظ يكي موردها ايده آل براي نرمافزار نويسي اندرويد ميباشد. همينطور مانند گويش جاوا، سي شارپ ها دارنده زباله عده كن (Garbage Collector) ميباشد كه سبب استعمال با صرفه خيس از مموري دستگاه و پايين آمدن Memory Leak ميگردد. ضمن اينها، سي شارپ سينتكس بي آلايش خيس و تروتميز تري نسبت به جاوا داراست كه فعاليت كردن با آن تحت عنوان لهجه نرم افزار نويسي اندرويد را خيلي معمولي خيس ميكند.
در قبلي، يكي نقاط ضعف لهجه سي شارپ اين بود كه فقط ميتوانست روي دستگاه هاي ويندوزي اعمال بشود و با كادر ورك دات نت به عمل برده مي شد. ولي با به كارگيري از دور و اطراف نرمافزار نويسي Xamarin، كه يك راهحل كراس پلتفرم با به كار گيري از زيرساخت هاي سيستم ارائه اعطا كرد، اين نقص حل شد. با به كارگيري از Xamarin شما مي توانيد نرم افزار هاي مستقر اندرويد بنويسيد و بعد اين كدها را روي پلتفرم هاي گوناگون هم منتشر فرماييد.
Pythonهرچند اندرويد بصورت ساكن از پايتون جانبداري نميكند، ولي پايتون ميتواند تحت عنوان گويش اپليكيشن نويسي اندرويد استعمال شود. اما براي اين شغل بايستي از ابزارهاي متعددي به كارگيري نمائيد كه كدهاي پايتون را به پكيج هاي اندرويد تبديل نمايد كه روي دستگاه هاي اندرويد اعمال ميشوند.
يكياز اين ابزار ها، Kivy ميباشد كه يك كتابخانه متن گشوده پايتون ميباشد و قادر است براي پيشرفت نرم افزار هاي تلفن همراه استعمال شود. اين ابزار از اندرويد هم هواخواهي ميكند و ميتواند فرآيند بسط نرمافزار را سريع خيس نمايد. ولي اشكالي كه وجود دارااست اين ميباشد كه نميتوانيد از خصوصيت هاي مستقر اندرويد استعمال فرمائيد، زيرا Kivy بصورت مستقر در اندرويد پناه نمي شود.
Lua (Corona)Corona اسم يك گوشه و كنار نرم افزار نويسي ميباشد كه قادر است با به كار گيري از لهجه اپليكيشن نويسي Lua، نرم افزار هاي اندرويد بسازد. اين فضا اپ نويسي دو سبك تلاش دارااست: Corona Simulator و Corona Native. از Corona Simulator براي تشكيل داد نرم افزار هاي اندرويد بصورت بي واسطه به كار گيري ميشود، ولي Corona Native پروژه ها را با اندرويد استوديو يك پارچه ميكند كه از اين شيوه مي توانيد به خصوصيت هاي ساكن اندرويد هم دسترسي داشته باشيد.
هرچند Lua نسبت به جاوا محدوديت دارااست، البته يادگيري آن معمولي خيس از لهجه جاوا مي باشد. ولي اين گويش اپليكيشن نويسي اندرويد دارنده قابلي ها و افزونه هاي منحصربهفرد درآمد زايي ميباشد كه مي تواند تجارب ايجاد كرد نرم افزار هاي اندرويد را تغيير و تحول بدهد. معمولا Corona براي ايجاد كرد نرم افزار هاي گرافيكي يا اين كه بازي به كار گيري مي گردد البته بضاعت و توان هاي آن محصور بدين حوزه ها وجود ندارد.
HTML, Css, Javascriptخطا نميكنيد، نرم افزار هاي اندرويد مي توانند با استعمال از Html,Css,Javascript ساخته شوند. براي اين عمل بايستي از قاب ورك PhoneGap كه بوسيله Apache Cordova پناه ميگردد به كار گيري فرمائيد. اين كادر ورك به شما ياري ميكند از مهارت هاي بسط اينترنت براي ايجاد كرد نرم افزار هاي هيبريد به كارگيري فرمائيد كه ميتوانند بوسيله يك WebView داخل نرم افزار هاي اندرويد اكران داده بشوند.
هرچند Adobe PhoneGap ميتواند بخش اعظمي از شغل هاي شالوده اي نرم افزار هاي اندرويد را پوشش بدهد، البته به كدنويسي بسيار كمتري نياز داراست (ولي به جز جاوا اسكريپت). اما از آنجايي كه براي ساختن نرم افزار هاي عالي نياز به سعي و كدنويسي بسيار زياد داريد، عالي ميباشد از گويش هاي ديگر باطن اين ليست استعمال نماييد (و اما در شرايطيكه دوست داريد تحت عنوان يك پيشرفت دهنده اندرويد شناخته گرديد خوب ميباشد از لهجه هاي تخصصي استعمال فرمائيد).
نكته هايي براي تعيين شل خيس
مدام زماني آيتم ها زياد مي شوند، مراحل تعيين و تصميم گيري براي ما مشقت بار خيس مي گردد. پس قادر خواهيم بود با تحقيق نكته ها و قوانيني كه براي ما مطلوب خيس ميباشند، تني چند از اين آيتم ها را كلا حذف كنيم تا تعيين ريلكس تري داشته باشيم.
نكته نخستين: بخش اعظمي از اين لهجه ها از حيث ساختاري، شي گرا مي باشند. شي گرايي يك مضمون خاص در اپليكيشن نويسي ميباشد كه ميتوانيد با تفحص اين نوشتهي علمي درباره آن داده ها بيشتري استحصال فرماييد: “شي گرايي چيست؟”. به اين ترتيب هنگامي شما در حين يادگيري يك گويش نرم افزار نويسي اندرويد، اين مضمون را حافظه بگيريد، ميتوانيد به راحتي يادگيري ساير لهجه ها را هم آغاز نماييد (ولي در صورتي به اونها نياز داشتيد). پس مطمئن باشيد يادگيري يك گويش خاص شمارا زنداني نميكند، بلكه رويه را براي يادگيري هاي بيشتر گشوده ميكند.نكته دوم: مي توانيد براي تعيين لهجه اپ نويسي مطلوب، اين مورد را در حيث بگيريد كه قرار ميباشد با كدام فضا اپ نويسي (IDE) فعاليت فرماييد. براي شناخت بيشتر با IDE ها، اين نوشتهيعلمي را بازرسي نمائيد: “IDE هاي رفيعتر براي اپ نويسي اندرويد”. به عنوان مثال اندرويد استوديو اينك از گويش هاي جاوا، كاتلين و سي پلاس پلاس حمايت ميكند.نكته سوم: مي توانيد استاندارد ها را دنبال فرمائيد. همان گونه كه در بخش هاي قبل هم گفتيم، استاندارد ترين گويش هاي اپليكيشن نويسي اندرويد، اكنون جاوا، كاتلين (و سي پلاس پلاس براي نرمافزار نويسي Native) مي باشند. با تعيين اين گويش ها ميتوانيد از داكيومنتيشن هاي آموزشي گوگل براي اپ نويسي اندرويد استعمال فرمائيد. همينطور دسترسي به منابع براي لهجه هاي ساكن (يا اين كه همون استاندارد) روي هر پلتفرم بيشتر و قادر خيس ميباشد.نكته چهارم: يك كدام از ميزان هاي تعيين، قادر است كراس پلتفرم بودن باشد. IDE هايي براي تشكيل داد نرم افزار هاي گوشي وجود داراهستند كه ميتوانيد يكبار نرم افزار را باطن آنها كدنويسي نماييد و براي مثال براي پلتفرم هاي اندرويد و iOS خروجي هاي اختصاصي خويش را بگيريد. نرمافزار Xamarin بضاعت اين فعاليت را دارااست كه از لهجه سي شارپ به كارگيري ميكند. (اما مدام شغل به همين راحتي جلو نميره، بعضي اوقات با استعمال از همين ابزار ها هم بايستي براي هر پلتفرم نرم افزار رو مجدد نويسي كنين).نكته پنجم: جامعه مو جود قادر است يكي ميزان هاي كاركشته براي گزينش گويش اپ نويسي اندرويد باشد. در يك كدام از نوشته ي علمي هاي تارنما درباره اين پرسش كلام كرديم: “آيا اپليكيشن نويسي اندرويد طاقت فرسا ميباشد؟”. دراين نوشته ي علمي اشاره شد كه اصلي ترين حمايتي كه در حوزه اپليكيشن نويسي وجود دارااست، جامعه يا اين كه Community كار كشته اين پلتفرم ميباشد. مي توانيد با كاوش در وب درباره جامعه جانور براي زباني كه قصد گزينش آن را داريد استيناف نمائيد و تصميم بگيريد.نكته ششم: مشاهده كرد بي نقص به دنياي نرم افزار هاي اندرويد داشته باشيد. يعني هيچ زمان انديشه نكنيد كه ايجاد كرد نرم افزار صرفا و تنها مرتبط با فرانت اند ميگردد، يك بخش بسيار اصلي به اسم بك اند وجود دارااست كه خوب ميباشد خودتان هم بلد باشيد آن را بسازيد. براي شناخت با فرانت و اند و بك اند اين نوشتهعلمي را تفحص نماييد: “فرانت و بك اند چيست؟”. پس مطمئنا براي تشكيل داد و تنظيمات صحيح سمت سرور برنامه، به لهجه هاي بيشتري كه شايد دراين نوشتهي علمي وجود نداشته باشند هم نياز داشته باشيد. بدين ترتيب عالي ميباشد مدام ذهن خويش را براي يادگيري گشوده نگه داريد
برچسب: رايا پارس، طراحي اپليكيشن،
ادامه مطلب