رفتن به مطلب

ارسال‌های توصیه شده

برای دریافت سورس و کتابخانه های موردنیاز b4a، در کانال ما عضو شوید
کانال هرروز یا یک روز درمیون با سورس های رایگان b4a بروزرسانی میشود
https://t.me/programmingwithb4a
https://splus.ir/basic4android_langueg
https://eitaa.com/basic4androidlan

این سوالی است که خیلی از برنامه نویسان قبل از شروع برنامه نویسی اندروید، میپرسند.
🔑 در این مقاله میخوام به این سوال پاسخ بدم.


✴️ به طورکلی، اینکه کدام زبان برای برنامه نویسی اندروید مناسب تر است را واقعا خود برنامه نویس مشخص میکند و من فقط در این پست مزایا و معایب
هرزبان را میگم و این برنامه نویس است که انتخاب میکند با کدام یک بنویسد. پس با من همراه باشید.

>>B4A<<
ابزاری ساده و در عین حال قدرتمند برای برنامه نویسی اندروید است و دومین زبان برای برنامه نویسی اندروید شناخته میشود.
بیسیک فور اندروید یک زبان مبتنی بر شیءگرایی و رویداد محور است.

*شیءگرایی:
یک الگوی برنامه نویسی است که نرم افزار را به مجموعه ای از اشیاء ( object ) تقسیم میکند.
حالا با تعریف کردن فرایندش بهتر متوجه شیءگرایی میشوید. در این فرایند 
ابتدا یک کلاس تعریف میکنید.
یک کلاس متشکل از توابع و فانکشن های زیادی است. ( همان Sub در b4a )
در این کلاس متغیرها و توابع متعددی ( بسته به نیاز برنامه نویس ) وجود دارد.
این کلاس ها درحقیقت مغز اپلیکیشن هستند که تمام منطق برنامه و پراسس ها در آن ها انجام میشود.
حالا وقتی این کلاس نوشته شد و آماده شد، میتوانید از ویژگی هایی که دارد استفاده کنید

مثلا
Type Car (Color As String, Speed As Int)
نام car اسم کلاس ما هست

Dim myCar As Car
myCar.Initialize
myCar.Color = "آبی"
myCar.Speed = 120
و این ها هم ویژگی هاش

اگه توی خود b4a بخوایم کلاس بسازیم باید اینگونه صداش بزنیم
حالا همین کلاس ها با استفاده از جاوا برای محیط b4a ساخته میشن و برنامه نویس به عنوان کتابخانه به پروژه اضافش میکنه و با ساخت متغیری از اون کتابخانه ها
و صدا زدن اون متغیر، میتواند به توابع و متغیرها و ویژگی های اون کلاس ها دسترسی داشته باشد.

*رویدادمحور:
اگر بخوام خیلی ساده توضیح بدم، میتونم بگم زبان رویداد محور زبانی هست که برنامه منتظره تا کاربر کلیکی رو انجام بده.
در زبان های رویداد محور، نیازی نیست مثلا برای نوشتم مثلا رویداد کلیک دکمه، بیاید و دستورات عریض و طویلی بنویسید، کافیه اون رو به برنامه
اضافه کنید و رویداد کلیک اون رو صدا بزنید. خود IDE دستورات پس زمنیه رو برای نوشتن رویداد کلیک، آماده میکنه

*بیسیک فو اندروید یک زبان بسیار ساده برای برنامه نویسی اندروید و بسیار مناسب کسانی است که تازه میخواهند برنامه نویسی را شروع کنند. البته خیلی هم گول سادگی این زبان را نخوردید، چرا که
بعده ها که برنامه هاتون پیشرفته تر بشه، با سختی ها و پیچیدگی هایی همراه میشود.
اما به طور کلی از پیچیدگی و عریض و طویل بودن جاوا در b4a خبری نیست.

* با استفاده از basic4android بسیار سریع میتوانید اپلیکیشن های خود را برنامه نویسی کنید. البته طبعا درمورد اپ های پیچیده تر، این سرعت کمتر میشود
و **** کلمه فیلتر شده **** گاهی هم به دلیل اینکه مثلا فلان ابزار در b4a وجود ندارد، کمی نوشتن اون ابزار و استفاده ازش سخت میشود و مجبورید از کدهای زیادی استفاده کنید.
اما در اکثر موارد اینطور نیست.

* به طور کلی، رابط کاربری و گرافیکی b4a بسیار راحت تر از اندروید استدیو و اکلیپس است. تمرکز IDE B4A بیشتر روی توسعه سریع نرم افزار است.

* این پلتفرم، به دلیل ساگی، بسیار پرطرفدار بوده و جامعه کاربری فعالی دارد

* برگ برنده پنهان B4A استفاده از دستورات جاوا و کاتلین در پلتفرم Basic4android است.

به طور کلی، اگر شخصی هستید که برنامه نویسی را تازه شروع کرده و یا نمیخواهید خود را درگیر کدهای عریض و طویل کنید، بیسیک فور اندروید، گزینه عالی برای این کار است.

>>JAVA<<

یک زبان برنامه نویسی شیءگرا است. این زبان خیلی مشابه زبان C++ است. اما مدل شیءگرایی آسان تری دارد.
جاوا درحقیقت زبان اصلی اندروید محسوب میشود و شما با هرزبانی برنامه نویسی کنید، آخرسر باید به جاوا تبدیل شود و بعد قابلیت اجرایی پیدا کند.
حال به سراغ ویژگی های جاوا برای برنامه نویسان میرویم:

* جاوا زبان رسمی اندروید است و به نسبت b4a سرعت اجرای بالاتری دارد.
همچنین چون زبان رسمی اندروید هست، به همین دلیل پشتیبانی گوگل از این زبان، بسیار قدرتمند است.
به دلیل این پشتیبانی و ویژگی هایی که جاوا دارد و نزدیک بودنش به اندروید، به همین دلیل پروژه های خیلی پیشرفته رو باید با جاوا برای اندروید پروگرام کرد تا خروجی بهینه ای داشته باشد.

* جاوا به دلیل اینکه از سمت گوگل پشتیبانی میشود و همچنین از بیسیک فور اندروید قدیمی تر است، به همین دلیل منابع بادگیری و کتابخانه ها و ابزارهای زیادتری را در 
اختیار دارد.

* جاوا به همه API های اندروید دسترسی دارد، درحالی که B4A به همه APIها دسترسی ندارد و یا به صورت مستقیم دسترسی ندارد.

* با این که جاوا، برنامه نویس را بیش از B4A درگیر برنامه نویسی میکند، اما انعطاف پذیرتر از بیسیک فور اندروید است.

* در مقایسه با B4A زبان Java بازار کار بهتری دارد.

📣 در ادامه میخواهیم به معایب هریک از این زبان ها بپردازیم:

>>B4A<<

* محدودیت در کتابخانه ها و ابزارها به نسبت جاوا

* برای پروژه های حرفه ای و یا تیمی کمتر استفاده میشود

* گوگل به شکل رسمی از این زبان پشتیبانی نمیکند

* از همه API های اندروید پشتیبانی نمیکند

* انعطاف پذیری کمتری نسبت به جاوا دارد

* بازار کار ضعیف

>>JAVA<<

* پیچیدگی بسیار برای برنامه نویس

* زمان بر بودن برای توسعه اپلیکیشن های ساده

حالا با توجه به این ویژگی ها و معایب، این شما هستید که انتخاب میکنید تا با کدام زبان برنامه نویسی کنید.

تهیه و تنظیم   
مرتضی صباغی  
MR.B4A
 
🛑 محصولات 
MR.B4A
https://sourcecity.ir/user/mortezab4a/

 
#b4a #basic4android #source_code #programming #android #b4x #MR_B4A
#Java_or_B4A

#بیسیک_فور_اندروید #سورس_کد #برنامه_نویسی #اندروید #برنامه_نویسی_اندروید   
#جاوا_یا_بیسیک_فور_اندروید #بهترین_زبان_برنامه_نویسی

لینک ارسال
به اشتراک گذاری در سایت های دیگر

درود 

در حال حاظر بیشترین زبان استفاده برای توسعه اندروید زبان کاتلین هست. حتی xml هم دیگه داره از دور خارج میشه و به سمت استفاده از JetpackCompose میره. 
کلا همه چیز یکپارچه داره کاتلین میشه حتی گریدل خود اندروید استودیو

لینک ارسال
به اشتراک گذاری در سایت های دیگر

16 ساعت قبل، محمدرضا شاهپیری گفته است:

درود 

در حال حاظر بیشترین زبان استفاده برای توسعه اندروید زبان کاتلین هست. حتی xml هم دیگه داره از دور خارج میشه و به سمت استفاده از JetpackCompose میره. 
کلا همه چیز یکپارچه داره کاتلین میشه حتی گریدل خود اندروید استودیو

سلام

استاد JetpackCompose  چه مزیتی به نسبت xml داره؟

لینک ارسال
به اشتراک گذاری در سایت های دیگر

22 ساعت قبل، MR.B4A گفته است:

سلام

استاد JetpackCompose  چه مزیتی به نسبت xml داره؟

یکی از بزرگترین مزیتهاش Declarative بودنش هست. فقط میگی چی میخوام خودش میسازه برات
اما توی xml باید اول توی xml تعریفش کنی بعد بیای توی کاتلین پیداش کنی بعد تازه مثلا ستاپش کنی

دیگه همه چی یکپارچه اس 

یه مورد دیگه هم اینه که سیستم رندر کلا عوض شده و دیگه مثلا خبری از TextView و مثلا LinearLayout و اینا نیست کلا همه چیز جدید و مدرنه و ساختارش یه جورایی شبیه react شده و همه چی روی Canvas رسم میشه که به مراتب سریعتره

در کل بهتره همیشه با تکنولوژیهای جدید خودمونو به روز کنیم. مخصوصا اگه از سمت تیم توسعه دهنده اون محصول باشه

لینک ارسال
به اشتراک گذاری در سایت های دیگر

22 ساعت قبل، محمدرضا شاهپیری گفته است:

یکی از بزرگترین مزیتهاش Declarative بودنش هست. فقط میگی چی میخوام خودش میسازه برات
اما توی xml باید اول توی xml تعریفش کنی بعد بیای توی کاتلین پیداش کنی بعد تازه مثلا ستاپش کنی

دیگه همه چی یکپارچه اس 

یه مورد دیگه هم اینه که سیستم رندر کلا عوض شده و دیگه مثلا خبری از TextView و مثلا LinearLayout و اینا نیست کلا همه چیز جدید و مدرنه و ساختارش یه جورایی شبیه react شده و همه چی روی Canvas رسم میشه که به مراتب سریعتره

در کل بهتره همیشه با تکنولوژیهای جدید خودمونو به روز کنیم. مخصوصا اگه از سمت تیم توسعه دهنده اون محصول باشه

من استاد اینطور نتیجه میگیرم که شما بین جاوا و کاتلین، کاتلین رو انتخاب میکنید

اما آیا برای برنامه نویس، نوشتن برنامه با کاتلین ساده تره یا b4a ؟

در این که کاتلین حرفه ایه هیچ شکی نیست، اما واقعا b4a هم برگای برنده خودشو داره.

نظره شما چیست؟

لینک ارسال
به اشتراک گذاری در سایت های دیگر

23 ساعت قبل، MR.B4A گفته است:

اما آیا برای برنامه نویس، نوشتن برنامه با کاتلین ساده تره یا b4a ؟

قطعا با b4a به مراتب ساده تره.

23 ساعت قبل، MR.B4A گفته است:

در این که کاتلین حرفه ایه هیچ شکی نیست، اما واقعا b4a هم برگای برنده خودشو داره.

نظره شما چیست؟

برگ برنده که نداره به اون صورت. حتی شما شی گرایی رو هم نمیتونید توش پیاده کنید تقریبا. نه interface داره نه abstraction نه کتابخونه قدرتمندی داره برای multithreading از اون طرف لیوتهای پیشفرضش به شدت کند و غیر استاندارده. هر چیز قدرتمندی اول باید توی جاوا یا کاتلین پیاده شه و بعد توی b4a استفاده بشه که تایم و هزینه زیادی میگیره

اما تو کاتلین شما قدرت مانور بی انتها دارید. از coroutineگرفته تا flow ها و extention function ها و higher order functions و خود jetpack compose 

کلا مقایسه کردنشون درست نیست. جاوا رو میشه مقایسه کرد اما b4a هیچ توان رقابتی نداره واقعا. برای کارهای بزرگ و با کیفیت مناسب نیست

لینک ارسال
به اشتراک گذاری در سایت های دیگر

23 دقیقه قبل، محمدرضا شاهپیری گفته است:

قطعا با b4a به مراتب ساده تره.

برگ برنده که نداره به اون صورت. حتی شما شی گرایی رو هم نمیتونید توش پیاده کنید تقریبا. نه interface داره نه abstraction نه کتابخونه قدرتمندی داره برای multithreading از اون طرف لیوتهای پیشفرضش به شدت کند و غیر استاندارده. هر چیز قدرتمندی اول باید توی جاوا یا کاتلین پیاده شه و بعد توی b4a استفاده بشه که تایم و هزینه زیادی میگیره

اما تو کاتلین شما قدرت مانور بی انتها دارید. از coroutineگرفته تا flow ها و extention function ها و higher order functions و خود jetpack compose 

کلا مقایسه کردنشون درست نیست. جاوا رو میشه مقایسه کرد اما b4a هیچ توان رقابتی نداره واقعا. برای کارهای بزرگ و با کیفیت مناسب نیست

استاد من خودم این موضوع رو متوجه نشدم که میگید لیوتش کنده یعنی چی؟!
واقعا من کندی توی اجرا نمیبینم یا شایدم متوجه نشدم.

میشه لطف کنید توضیح بدید؟

شما میتونید یه مثال برای coroutine بزنید که واقعا به درد برنامه نویس بخوره؟

و در نهایت، استاد برنامه نویسی با b4a خیلی آسونه و واقعا این پیچیدگی هایی که گفتید رو نداره. حداقل این برگه برندشه.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .
توجه: مطلب ارسالی شما پس از تایید مدیریت برای همه قابل رویت خواهد بود.

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
  • اضافه کردن...