ar
Feedback
Droid Hub✨

Droid Hub✨

الذهاب إلى القناة على Telegram
213
المشتركون
لا توجد بيانات24 ساعات
+37 أيام
+330 أيام
أرشيف المشاركات
کاهش عمق Indentation (تو رفتگی) با استفاده از Early Return در کاتلین. پ.ن) Early Return به معنای خروج از یک تابع قبل از رسیدن
+1
کاهش عمق Indentation (تو رفتگی) با استفاده از Early Return در کاتلین. پ.ن) Early Return به معنای خروج از یک تابع قبل از رسیدن به انتهای آن است

photo content

گاهی اوقات نیاز داریم بررسی کنیم که آیا یک کامپوزبل در حالت Preview اجرا می‌شود یا خیر. این موضوع به ویژه زمانی که Preview دچ
گاهی اوقات نیاز داریم بررسی کنیم که آیا یک کامپوزبل در حالت Preview اجرا می‌شود یا خیر. این موضوع به ویژه زمانی که Preview دچار مشکل شده باشد، مفید است؛ زیرا می‌توانیم منطق مربوط به Preview را از منطق اصلی اپلیکیشن جدا کنیم. با استفاده از LocalInspectionMode می‌توانیم این کار را به راحتی انجام دهیم. با این روش، منطق مربوط به حالت Preview را داخل بلاک اول و منطق واقعی برنامه را در بلاک دوم قرار می‌دهیم:
if (LocalInspectionMode.current) {
    // اینجا کامپوزبل‌های مخصوص به حالت Preview را قرار دهید
} else {
    // اینجا کامپوزبل‌های اصلی اپلیکیشن را قرار دهید
}

یه زمانی ۸۰ درصد مشکلات ویویی ما با این post و یه delay حل میشد.
یه زمانی ۸۰ درصد مشکلات ویویی ما با این post و یه delay حل میشد.

علتی که برای این تفاوت پرفورمنس مطرح می‌شود این است که دولوپر در استفاده از Parcelable باید به صورت دستی فرآیند marshaling و unmarshaling را مدیریت کند. این باعث می‌شود که Parcelable بهینه‌تر باشد، چون داده‌ها دقیق‌تر و بدون سربار اضافی که در serialization وجود دارد، تبدیل می‌شوند. از سوی دیگر، serialization به صورت خودکار و عمومی‌تر است که منجر به تولید اطلاعات متا و سربار اضافی در فرایند تبدیل آبجکت‌ها می‌شود، که همین موضوع سرعت کمتری به همراه دارد.

یکی از چیز هایی که برای من جالبه تفاوت پرفورمنس بین serialization و parcelable هست که در بعضی از benchmark ها گفته شده که par
+1
یکی از چیز هایی که برای من جالبه تفاوت پرفورمنس بین serialization و parcelable هست که در بعضی از benchmark ها گفته شده که parcelable میتونه تا 2 برابر سریع تر باشه. + هر دو تکنیک serialization و parcelable برای marshaling و unmarshaling آبجکت ها به کار می روند. در واقع marshaling فرایندی است که در آن یک آبجکت parcel شده به ارایه ای از بایت ها تبدیل می‌شود و unmarshaling فرایندی است که ارایه ای از بایت ها به یک آبجکت parcel تبدیل میشوند.

موزیک رو یه برنامه نویس بنام سمیکس خونده و صدای developer گفتن اول ویدیو برای استیوبالمر مدیر عامل سابق مایکروسافت هست.

When you review the code of other developers.

https://medium.com/@stefanus.ayudha/context-common-mistake-in-jetpack-compose-61991f067d19 + به صورت مطلق نمیتونید بگید که یک mistake هست، شاید بهتره بگیم در تناقض با برخی از اصول مهندسی نرم افزاره

گوگل دنبال کسی میگرده که Kotlin Multiplatform بلد باشه 😁 https://www.google.com/about/careers/applications/jobs/results/97063624790418118

اما strong skipping چیه و چرا by default فعال شده؟ همانطور که در مقاله ی پرفورمنس در کامپوز (بررسی در زمان کامپایل) مطرح کردیم هر کامپوزبل فانکشنی که تمام آرگومان های ورودی آن stable باشد به عنوان skippable در نظر گرفته میشود. skippable بودن به smart recomposition کمک میکند و از recompose شدن اضافی توابع جلوگیری میکند. اما وجود صرفا یک آرگومان unstable سبب میشود تا skippable بودن تابع نقض شود. اما اکنون در نسخه 2.0.0 از کامپایلر قرارداد بالا تغییر کرده است: تمام کامپوزبل فانکشن های که restartable هستند حتی با وجود آرگومان unstable به عنوان skippable در نظر گرفته میشوند و میتوانند smart recomposition را به درستی انجام دهند. (این به پرفورمنس کامپوز کمک زیادی می کند)
نکته : تمام کامپوزبل فانکشن ها به صورت پیشفرض restartable  هستند یعنی تونایی recompose شدن را دارند مگر ان که با انوتیشن NonRestartableComposable مارک شده باشند
همچنین در مقاله مطرح کرده بودیم که تمام لامبدا ها stable هستند مگر در صورتی که درون آن ها یک آرگومان unstable وجود داشته باشد، برای حل این مشکل سابقا آن هارا در بلاک remember میپوشاندیم اما اکنون با فعال شدن Strong skipping mode خود کامپایلر لامبدا ها را با remember call به صورت پیشفرض می پوشاند.

در کامپوز کامپایلر ورژن 2.0.0 امکانی با نام ComposeFeatureFlag اضافه شده است که شامل key هایی است که می تواند رفتار هایی را د
در کامپوز کامپایلر ورژن 2.0.0 امکانی با نام ComposeFeatureFlag اضافه شده است که شامل key هایی است که می تواند رفتار هایی را در سطح کامپایلر تغییر دهد. به طور مثال از نسخه 2.0.0 امکان Strong skipping mode به طور پیشفرض فعال است و به کمک ComposeFeatureFlag زیر میتواند آن را در سراسر پروژه غیر فعال کرد:
composeCompiler {
   featureFlags = setOf(
        ComposeFeatureFlag.StrongSkipping.disabled()
    )
}

یه مستند جالب از success story کاتلین که با چهره های محبوبی هم مصاحبه کردن https://youtu.be/E8CtE7qTb-Q?si=gqs2bfZn9But7sIo

android interview pdf.pdf5.32 KB

photo content

؟
Anonymous voting

بعد از یه مرخصی طولانی امروز این کد رو دیدم به نظرتون استفاده از context به این نحو کار درستی هست؟
بعد از یه مرخصی طولانی امروز این کد رو دیدم به نظرتون استفاده از context به این نحو کار درستی هست؟

بعد از roman elizarov، هادی حریری هم از jetbrains داره میره. Hadi is VP of Developer Advocacy and Head of Open Source Ecosyst
بعد از roman elizarov، هادی حریری هم از jetbrains داره میره. Hadi is VP of Developer Advocacy and Head of Open Source Ecosystem Department at JetBrains, where he oversees a number of core projects to the company, including Kotlin. He has been in the IT industry for over three decades and is a renowned international keynote speaker, having participated in industry events worldwide. https://blog.jetbrains.com/author/hadi-hariri-jetbrains-com/

Deprecation is everywhere

androidx.pdf:pdf-viewer:1.0.0-alpha01 has been finally released.✅ https://developer.android.com/jetpack/androidx/releases/pdf#1.0.0-alpha01 + PdfViewerFragment is currently supported only on Android V (SDK 35) versions. Support for older Android versions will be added in upcoming releases. + Zooming: Pinch in and out to adjust zoom levels for a comfortable reading experience as well as double tap for a quick zoom in/out to the default state. + Navigation: Scroll in the default/zoomed state. PdfViewerFragment provides a quick scrubber for fast scrolling between pages. + Text actions: Long tapping on text selects it, allowing users to use options like Copy and Select all on the current page. + Password-protected documents: PdfViewerFragment provides a dialog box for the user to enter the password and open the document. + Navigable hyperlinks: Users can navigate to Web URLs or bookmarks by tapping on hyperlinks within the PDF. -- Edit mode is not yet supported in PdfViewerFragment