Hacker News

Appleના .car ફાઇલ ફોર્મેટમાં ઊંડાણપૂર્વક ડાઇવ કરો

Appleના .car ફાઇલ ફોર્મેટમાં ઊંડાણપૂર્વક ડાઇવ કરો આ અન્વેષણ તેના મહત્વ અને સંભવિત પ્રભાવની તપાસ કરીને ઊંડાણમાં જાય છે. મુખ્ય ખ્યાલો આવરી લેવામાં આવ્યા છે આ સામગ્રી અન્વેષણ કરે છે: મૂળભૂત સિદ્ધાંતો અને સિદ્ધાંતો વ્યવહારુ...

1 min read Via dbg.re

Mewayz Team

Editorial Team

Hacker News

એપલના .કાર ફાઇલ ફોર્મેટમાં ઊંડાણપૂર્વક ડાઇવ કરો

Appleનું .કાર ફાઇલ ફોર્મેટકમ્પાઇલ્ડ એસેટ કેટેલોગ રિસોર્સ માટે ટૂંકું — એ બાઈનરી કન્ટેનર છે જેનો ઉપયોગ એપલ તેના પ્લેટફોર્મની સમગ્ર ઇકોસિસ્ટમમાં એપ્લિકેશન સંપત્તિને પેકેજ, ઑપ્ટિમાઇઝ અને ડિલિવર કરવા માટે કરે છે. આ ફોર્મેટને સમજવું એ કોઈપણ iOS, macOS, tvOS અથવા watchOS ડેવલપર માટે મહત્ત્વપૂર્ણ છે જેઓ પાતળી, ઝડપી અને વધુ સારી રીતે ઑપ્ટિમાઇઝ કરેલી એપ્લિકેશનો મોકલવા માગે છે.

.કાર ફાઇલ બરાબર શું છે અને Apple શા માટે તેનો ઉપયોગ કરે છે?

જ્યારે તમે Xcode પ્રોજેક્ટ બનાવો છો, ત્યારે તમારા Assets.xcassets કૅટેલોગને Asset Catalog Compiler (actool) દ્વારા દ્વિસંગી .car ફાઇલમાં કમ્પાઇલ કરવામાં આવે છે જે તમારા એપ બંડલની અંદર મોકલવામાં આવે છે. રનટાઇમ પર છૂટક PNG, PDF, અથવા HEIC ફાઇલો વિતરિત કરવાને બદલે, Apple દરેક વસ્તુને આ સિંગલ, સ્ટ્રક્ચર્ડ બાઈનરીમાં બંડલ કરે છે.

આ ડિઝાઇન પાછળની પ્રેરણા ઇરાદાપૂર્વકની અને સ્તરવાળી છે. કમ્પાઇલર બિલ્ડ સમયે ઘણા ઑપ્ટિમાઇઝેશન કરે છે જે કાચી ઇમેજ ફાઇલો સાથે અશક્ય હશે:

  • GPU-ઓપ્ટિમાઇઝ ટેક્સચર કમ્પ્રેશન — છબીઓ ASTC અથવા PVR જેવા ફોર્મેટમાં પૂર્વ-રૂપાંતરિત છે જેનો GPU સીપીયુ ડીકોડિંગ ઓવરહેડ વિના સીધો ઉપયોગ કરી શકે છે.
  • સ્કેલ ફેક્ટર સ્લાઇસિંગ — @1x, @2x, અને @3x વેરિઅન્ટ્સ લક્ષ્ય ઉપકરણની સ્ક્રીનની ઘનતાના આધારે સંગ્રહિત અને સર્વ કરવામાં આવે છે.
  • એપ થિનિંગ ઇન્ટિગ્રેશન — એપ સ્ટોર ડાઉનલોડિંગ ડિવાઇસ માટે અપ્રસ્તુત એસેટ વેરિઅન્ટને બહાર કાઢે છે, જેનાથી ઇન્સ્ટોલનું કદ નોંધપાત્ર રીતે ઘટે છે.
  • કલર સ્પેસ મેનેજમેન્ટ — ડિસ્પ્લે P3, sRGB અથવા વિસ્તૃત કલર સ્પેસ માટે યોગ્ય હોય તે રીતે અસ્કયામતોને ટેગ અને કન્વર્ટ કરવામાં આવે છે.
  • નામિત રંગ અને પ્રતીક આધાર — SF સિમ્બોલ્સ અને સિમેન્ટીક કલર ટોકન્સ ઉકેલવામાં આવે છે અને રાસ્ટર ડેટાની સાથે એમ્બેડ કરવામાં આવે છે.

મુખ્ય આંતરદૃષ્ટિ: .કાર ફોર્મેટ માત્ર એક કન્ટેનર નથી — તે એક સક્રિય ઑપ્ટિમાઇઝેશન પાઇપલાઇન છે. હેવી લિફ્ટિંગ કમ્પાઈલ સમયે થાય છે જેથી રનટાઈમ એસેટ લોડિંગ લગભગ તાત્કાલિક બની જાય છે, જે એક મુખ્ય કારણ છે કે મૂળ એપલ એપ્સ વેબ-આધારિત વિકલ્પો કરતાં સમકક્ષ અસ્કયામતો ચલાવતા હોય છે.

.કાર ફાઇલનું આંતરિક માળખું કેવી રીતે ગોઠવાય છે?

Apple એ ક્યારેય .car દ્વિસંગી ફોર્મેટ માટે સત્તાવાર સ્પષ્ટીકરણ પ્રકાશિત કર્યું નથી, પરંતુ સમુદાય દ્વારા રિવર્સ એન્જિનિયરિંગ પ્રયાસો - સૌથી વધુ નોંધપાત્ર રીતે એસેટ કેટેલોગ ટિંકરર અને ThemeEngine જેવા પ્રોજેક્ટ્સ - તેના લેઆઉટને નોંધપાત્ર રીતે મેપ કર્યા છે.

ટોચના સ્તરે, .car ફાઇલ એ BOM (બિલ ઑફ મટિરિયલ્સ) ફાઇલસિસ્ટમ પર બનેલ છે — એ જ ફોર્મેટ એપલ ઇન્સ્ટોલર પેકેજો માટે વાપરે છે. તે BOM વૃક્ષની અંદર, તમને ઘણી નામવાળી સ્ટ્રીમ્સ મળશે:

RENDITIONS સ્ટ્રીમ એ સૌથી મોટી અને સૌથી મહત્વપૂર્ણ છે, જેમાં એક અનન્ય રેન્ડિશન કી દ્વારા અનુક્રમિત વાસ્તવિક છબી અને ડેટા પેલોડ્સનો સમાવેશ થાય છે. KEYFORMAT સ્ટ્રીમ તે કી માટે સ્કીમાને વ્યાખ્યાયિત કરે છે, રૂઢિપ્રયોગ (iPhone, iPad, Mac), સ્કેલ, ડિસ્પ્લે ગમટ અને દેખાવ (લાઇટ, શ્યામ) જેવા એન્કોડિંગ લક્ષણો. FACETKEYSDB અને FEATUREFLAGS સ્ટ્રીમ્સ અનુક્રમે નામવાળી સંપત્તિઓ અને ક્ષમતા ફ્લેગ્સ વિશે મેટાડેટા ધરાવે છે. વધુ તાજેતરના SDK સંસ્કરણોમાં ઉમેરવામાં આવેલ EXTENDED_METADATA સ્ટ્રીમ, સ્થાનીયકૃત પ્રતીક નામો અને ચલ-પહોળાઈના પ્રતીકો જેવી વસ્તુઓને સમર્થન આપે છે.

દરેક પ્રસ્તુતિ પેલોડ પોતે સંરચિત છે — તે પિક્સેલ પરિમાણો, રંગ સ્થાન, કમ્પ્રેશન પ્રકાર અને પછી કાચો સંકુચિત ડેટાનું વર્ણન કરતું હેડર ધરાવે છે. રાસ્ટર છબીઓ માટે આ LZFSE-સંકુચિત કાચા પિક્સેલ્સ હોઈ શકે છે; પીડીએફ વેક્ટર માટે તે મૂળ પીડીએફ બાઇટ્સ છે; ડેટા અસ્કયામતો માટે તે ગમે તે દ્વિસંગી બ્લોબ છે જે તમે સંગ્રહિત કરો છો.

.કારની સામગ્રીનું નિરીક્ષણ કરવા અને કાઢવા માટે વિકાસકર્તાઓ કયા સાધનોનો ઉપયોગ કરી શકે છે?

કાર ફાઈલો દ્વિસંગી સંકલિત હોવાથી, તમે તેને ફક્ત પૂર્વાવલોકન અથવા ફાઈન્ડરમાં ખોલી શકતા નથી. Apple ખાનગી ફ્રેમવર્ક દ્વારા અમુક અધિકૃત સપાટી વિસ્તાર પ્રદાન કરે છે, પરંતુ વ્યવહારુ નિરીક્ષણ માટે તમે સામાન્ય રીતે તૃતીય-પક્ષ ટૂલિંગ માટે પહોંચો છો.

એસેટ કેટલોગ ટિંકરર (ગુઇલહેર્મ રેમ્બો દ્વારા) એ સૌથી વધુ ઉપયોગમાં લેવાતું GUI સાધન છે — તે તમને કોઈપણ .car ફાઇલમાંથી વ્યક્તિગત સંપત્તિઓને બ્રાઉઝ, પૂર્વાવલોકન અને નિકાસ કરવા દે છે. એક્સટ્રેક્ટ એ એક કોમ્યુનિટી કમાન્ડ-લાઇન યુટિલિટી છે જે સંકલિત કેટલોગમાંથી છૂટક ફોલ્ડર માળખું પુનઃનિર્માણ કરે છે. એપલનો પોતાનો assetutil આદેશ, Xcodeની ટૂલચેન સાથે મોકલવામાં આવે છે, જે ચોક્કસ ઉપકરણો માટે મેટાડેટા અને ફિલ્ટર કૅટેલોગની ક્વેરી કરી શકે છે. ઊંડા દ્વિસંગી નિરીક્ષણ માટે, સામુદાયિક વ્યાકરણ ફાઇલ સાથે તેને સમન્વયિત કરો! જેવા સાધનો BOM માળખું બાઇટ બાય બાઇટ ચલાવી શકે છે.

💡 DID YOU KNOW?

Mewayz replaces 8+ business tools in one platform

CRM · Invoicing · HR · Projects · Booking · eCommerce · POS · Analytics. Free forever plan available.

Start Free →

એ નોંધવું યોગ્ય છે કે પુનઃવિતરણ માટે તૃતીય-પક્ષ .કાર ફાઇલોમાંથી અસ્કયામતો કાઢવાથી બૌદ્ધિક સંપદાની ચિંતાઓ ઊભી થાય છે — આ ટૂલ્સનો ઉપયોગ તમારા પોતાના બિલ્ડ્સ પર ડિબગિંગ, એસેટના કદનું ઑડિટ કરવા અથવા યોગ્ય રીતે થિનિંગ થયું હોવાની પુષ્ટિ કરવા માટે થાય છે.

એપલના પ્લેટફોર્મ જનરેશનમાં .કારનું ફોર્મેટ કેવી રીતે વિકસિત થયું છે?

દરેક મુખ્ય SDK રિલીઝ સાથે ફોર્મેટ સતત વધુ સક્ષમ બન્યું છે. પ્રારંભિક સંસ્કરણો મૂળ iPhone ડિસ્પ્લે ઘનતા માટે રાસ્ટર ઇમેજ મેનેજમેન્ટ પર સંપૂર્ણ ધ્યાન કેન્દ્રિત કરે છે. રેટિના સપોર્ટ મલ્ટિ-સ્કેલ પ્રસ્તુતિ રજૂ કરે છે. આઈપેડની રજૂઆતથી રૂઢિપ્રયોગનું પરિમાણ આવ્યું. tvOS, watchOS અને macOS Catalyst દરેકે નવા રૂઢિપ્રયોગ અને કદ-વર્ગના સંયોજનો ઉમેર્યા છે.

iOS 13 અને macOS Mojave માં ડાર્ક મોડમાં શિફ્ટ કરવા માટે દેખાવ-જાગૃત એસેટ રિઝોલ્યુશનની જરૂર છે — સમાન નામવાળી સંપત્તિ હવે સક્રિય દેખાવના આધારે બહુવિધ પ્રસ્તુતિઓ પર નકશા કરે છે. મેકઓએસ પર Apple સિલિકોન તરફ જવાથી આર્કિટેક્ચરનું બીજું પરિમાણ આવ્યું. તાજેતરમાં, વેરિયેબલ-પહોળાઈના SF સિમ્બોલ્સ અને હાયરાર્કિકલ સિમ્બોલ રેન્ડરિંગ લેયર્સે સાદી રાસ્ટર ઈમેજીસની બહાર સંપૂર્ણપણે નવા રેન્ડિશન પ્રકાર ઉમેર્યા છે.

એપલની પછાત સુસંગતતા માટે પ્રતિબદ્ધતાનો અર્થ એ છે કે જૂની કમ્પાઇલ કરેલી .કાર ફાઇલો નવા OS રીલીઝ પર લોડ થવાનું ચાલુ રાખે છે, પરંતુ P3 વાઇડ કલર અથવા વેરિયેબલ સિમ્બોલ જેવી નવી SDK સુવિધાઓ જૂના ડિપ્લોયમેન્ટ લક્ષ્યો સામે સંકલિત કેટલોગમાં દેખાશે નહીં.

વ્યાપાર એપ્લિકેશન વિકાસકર્તાઓએ એસેટ ઑપ્ટિમાઇઝેશન પર શા માટે ધ્યાન આપવું જોઈએ?

વિકાસકર્તાઓ માટે સુવિધાથી ભરપૂર બિઝનેસ ટૂલ્સ — ડઝનેક મોડ્યુલ્સ, ડેશબોર્ડ્સ અને UI સપાટીઓ સાથેનું પ્લેટફોર્મ — .car સ્તર પર એસેટ મેનેજમેન્ટ શૈક્ષણિક નથી. બ્લોટેડ એસેટ કેટલોગ મોટા એપ બંડલ, ધીમા ફર્સ્ટ લોંચ અને રનટાઈમ પર ઉચ્ચ મેમરી પ્રેશર પર સીધો અનુવાદ કરે છે. ટીમો જે સમજે છે કે કેવી રીતે actool તેમના કેટલોગનું સંકલન કરે છે તે કયા ઇમેજ ફોર્મેટ્સનો સ્રોત બનાવવો, વેક્ટર પીડીએફ વિરુદ્ધ રાસ્ટર PNGsનો ઉપયોગ ક્યારે કરવો અને એપ થિનિંગ વેરિઅન્ટ્સનો મહત્તમ લાભ લેવા માટે સંપત્તિઓને કેવી રીતે નામ આપવું તે વિશે જાણકાર નિર્ણય લઈ શકે છે.

વારંવાર પૂછાતા પ્રશ્નો

શું હું Xcode ઇન્સ્ટોલ કર્યા વિના .car ફાઇલ ખોલી શકું?

હા. Asset Catalog Tinkerer જેવા સાધનો Xcode થી સ્વતંત્ર રીતે ચાલે છે અને macOS પર કોઈપણ .car ફાઇલ ખોલી શકે છે. જો કે, એપલની કમાન્ડ-લાઇન યુટિલિટીઝ જેવી કે assetutil અને actool Xcode ટૂલચેનનો ભાગ છે અને ઓછામાં ઓછા Xcode કમાન્ડ લાઇન ટૂલ્સ ઇન્સ્ટોલ કરવા જરૂરી છે.

શું દરેક macOS અને iOS એપ્લિકેશનમાં .car ફાઇલ હોય છે?

કોઈપણ એપ કે જે Xcode એસેટ કેટલોગ (.xcassets) નો ઉપયોગ કરે છે તે તેના બંડલમાં Assets.car ફાઈલ બનાવશે. એપ્સ કે જેઓ તેમના તમામ સંસાધનોને સંપત્તિ સૂચિ વિના મેન્યુઅલી સંચાલિત કરે છે તેમની પાસે એક નથી, જો કે આધુનિક વિકાસ પ્રથામાં આ વધુને વધુ દુર્લભ છે.

શું .car ફોર્મેટ iOS, macOS, tvOS અને watchOS પર સમાન છે?

અંડરલાઇંગ BOM-આધારિત દ્વિસંગી કન્ટેનર અને પ્રસ્તુતિ માળખું સમગ્ર પ્લેટફોર્મ પર સુસંગત છે, પરંતુ દરેક પ્લેટફોર્મ પ્લેટફોર્મ-વિશિષ્ટ રૂઢિપ્રયોગ મૂલ્યો અને પ્રસ્તુતિ પ્રકારો રજૂ કરે છે. watchOS માટે કમ્પાઈલ કરેલ .car માં iPhone માટે કમ્પાઈલ કરેલ એક કરતાં અલગ રૂઢિપ્રયોગ કી હશે, જો કે તે કીને વાંચવાનું ફોર્મેટ મશીનરી સમાન છે.


તમે જે પ્લેટફોર્મ પર બિલ્ડ કરો છો તેના નિમ્ન-સ્તરના ઇન્ફ્રાસ્ટ્રક્ચરને સમજવું સારા વિકાસકર્તાઓને મહાન લોકોથી અલગ પાડે છે. પછી ભલે તમે ગ્રાહક એપ્લિકેશન અથવા અત્યાધુનિક મલ્ટિ-મોડ્યુલ બિઝનેસ પ્લેટફોર્મ શિપિંગ કરી રહ્યાં હોવ, તમારી સંકલિત સંપત્તિ સૂચિની અંદરની વિગતો કામગીરી, બંડલ કદ અને વપરાશકર્તા અનુભવ માટે વાસ્તવિક પરિણામો ધરાવે છે.

જો તમે કોઈ વ્યવસાયનું નિર્માણ અથવા સ્કેલિંગ કરી રહ્યાં હોવ અને તમારા પ્લેટમાંથી ઈન્ફ્રાસ્ટ્રક્ચર જટિલતાને દૂર કરે એવું પ્લેટફોર્મ ઈચ્છો છો — જેમાં CRM અને ઈ-કોમર્સથી લઈને ટીમ સહયોગ અને એનાલિટિક્સ સુધીની દરેક વસ્તુને આવરી લે છે — અન્વેષણ કરો Mewayz.> 207 થી વધુ સંકલિત વ્યવસાય મોડ્યુલો, 138,000 સક્રિય વપરાશકર્તાઓ અને માત્ર $19/મહિનાથી શરૂ થતી યોજનાઓ સાથે, Mewayz તમારી ટીમને સંપૂર્ણ ઓપરેટિંગ સિસ્ટમ આપે છે જેથી તમે સાધનોનું સંચાલન કરવાને બદલે શ્રેષ્ઠ ઉત્પાદનો બનાવવા પર ધ્યાન કેન્દ્રિત કરી શકો. આજે જ app.mewayz.com પર તમારી મફત અજમાયશ શરૂ કરો.

Try Mewayz Free

All-in-one platform for CRM, invoicing, projects, HR & more. No credit card required.

Start managing your business smarter today

Join 30,000+ businesses. Free forever plan · No credit card required.

Ready to put this into practice?

Join 30,000+ businesses using Mewayz. Free forever plan — no credit card required.

Start Free Trial →

Ready to take action?

Start your free Mewayz trial today

All-in-one business platform. No credit card required.

Start Free →

14-day free trial · No credit card · Cancel anytime