அலகுகள்
1. மொபைல் மேம்பாட்டில் AI அறிமுகம்: பாத்திரங்கள், எல்லைகள், அங்கீகாரம் மற்றும் பாதுகாப்பு 2. செயற்கை நுண்ணறிவுடன் மொபைல் குறியீடு உருவாக்கம்: கோட்லின், ஸ்விஃப்ட் மற்றும் கிராஸ்-பிளாட்ஃபார்ம் மேம்பாடு 3. செயற்கை நுண்ணறிவுடன் இடைமுக வடிவமைப்பு மற்றும் UI குறியீடு உருவாக்கம் 4. சாதனத்தில் AI: கோர் ML, TensorFlow Lite மற்றும் ML கிட் 5. Cloud AI மற்றும் LLM API ஒருங்கிணைப்பு: அரட்டை, ஓட்டம் மற்றும் பாதுகாப்பு 6. செயற்கை நுண்ணறிவுடன் சோதனை உருவாக்கம்: அலகு, இடைமுகம் மற்றும் ஆட்டோமேஷன் சோதனைகள் 7. செயற்கை நுண்ணறிவுடன் பிழைத்திருத்தம் மற்றும் செயலிழப்பு பகுப்பாய்வு 8. செயல்திறன் மற்றும் பேட்டரி மேம்படுத்தல்: செயற்கை நுண்ணறிவுடன் கூடிய வேகமான மற்றும் திறமையான பயன்பாடுகள் 9. தனியுரிமை, அனுமதிகள் மற்றும் பாதுகாப்பான பயன்பாடு 10. ஸ்டோர் வெளியீடு: App Store, Google Play மற்றும் AI இணக்கத்தன்மை 11. முடிவில் இருந்து இறுதி திட்டம், தொழிலில் செயற்கை நுண்ணறிவு மற்றும் சாலை வரைபடம் ஆகியவற்றின் பொறுப்பான பயன்பாடு
அலகு 2 / 11

செயற்கை நுண்ணறிவுடன் மொபைல் குறியீடு உருவாக்கம்: கோட்லின், ஸ்விஃப்ட் மற்றும் கிராஸ்-பிளாட்ஃபார்ம் மேம்பாடு

ஆதாயங்கள்:

  • MVVM போன்ற கட்டமைப்பை சுமத்துவதன் மூலம் எளிதாக பராமரிக்கக்கூடிய மற்றும் சோதிக்கக்கூடிய குறியீட்டைப் பெறுதல் மற்றும் செயற்கை நுண்ணறிவு குறியீட்டை உருவாக்குவதற்கு முன் சிறிய துண்டுகளாக அடுக்காகக் கோருதல்.
  • கோட்லினில் பூஜ்ய பாதுகாப்பு மற்றும் கரோட்டின் போன்ற மொழி சார்ந்த பொறிகளை அடையாளம் காணும் திறன், ஸ்விஃப்டில் விருப்ப மற்றும் நினைவக லூப்கள் மற்றும் அவற்றிற்கு எதிராக உருவாக்கப்பட்ட குறியீட்டைச் சரிபார்க்கவும்.
  • கிராஸ்-பிளாட்ஃபார்ம் (Flutter, React Native) திட்டங்களில் ஒவ்வொரு தளத்திற்கும் தனித்தனியாக அனுமதிகள் மற்றும் உள்ளமைவைச் சரிபார்க்கும் திறன்

மொபைல் மேம்பாட்டின் இதயம் குறியீடாகும், அங்குதான் AI இலிருந்து மிகவும் உறுதியான ஆதாயங்கள் தோன்றும். ஆனால் "AI எனக்குக் குறியீட்டை எழுதட்டும்" என்ற வாக்கியம் அதன் சொந்த உத்தி அல்ல. நல்ல குறியீடு உருவாக்கம்; இதற்கு சரியான மொழி, சரியான கட்டிடக்கலை, சரியான எல்லைகள் மற்றும் சரியான சரிபார்ப்பு ஆகியவற்றை இணைக்க வேண்டும். இந்த யூனிட்டில், ஸ்விஃப்ட், iOS இன் மொழி, கோட்லின், ஆண்ட்ராய்டின் மொழி மற்றும் இரண்டு இயங்குதளங்களில் ஒரே குறியீட்டு அடிப்படையுடன் இயங்கும் க்ராஸ்-பிளாட்ஃபார்ம் கருவிகளுக்கு AIஐ எவ்வாறு திறமையாகவும் பாதுகாப்பாகவும் பயன்படுத்துவது என்பதைக் கற்றுக்கொள்வோம். AI ஐ ஒரு "கோட் ஆட்டோமேட்டனாக" அல்ல, ஆனால் அதன் கட்டமைப்பை நீங்கள் தீர்மானிக்கும் முடுக்கியாக வைப்பதே குறிக்கோள்.

முதலில் கட்டிடக்கலை, இரண்டாவது குறியீடு

கட்டடக்கலைத் திட்டம் இல்லாமல் நேரடியாக AI யிடம் குறியீட்டைக் கேட்பது மிகவும் பொதுவான தவறு. இது அஸ்திவாரம் போடாமல் சுவர் கட்டுவது போன்றது. மொபைலில் மிகவும் பொதுவான கட்டமைப்பு MVVM (மாடல்-வியூ-வியூமாடல் — தரவு, காட்சி மற்றும் காட்சியின் தர்க்கம் ஆகியவற்றைப் பிரிக்கும் வடிவமைப்பு முறை). இதன் பொருள் பார்வை என்பது ஒரு பார்வை மட்டுமே, தர்க்கமும் நிலையும் ViewModel இல் வாழ்கின்றன, மேலும் தரவு மாதிரி அடுக்கில் உள்ளது. தொடக்கத்திலிருந்தே AI இல் இந்தப் பிரிவினை நீங்கள் திணிக்கவில்லை எனில், திரைக் குறியீட்டில் அனைத்து தர்க்கங்களையும் திணிக்கும் சோதிக்க முடியாத மற்றும் பராமரிக்க கடினமான கட்டமைப்பை இது உருவாக்குகிறது.

படிப்படியாக ஆரோக்கியமான குறியீடு உருவாக்கம் ஓட்டம்:

  1. சூழலைக் கொடுங்கள். இயங்குதளம், மொழி, பதிப்பு, கட்டிடக்கலை, பயன்படுத்தப்படும் நூலகங்கள்.
  2. அடுக்குகளைக் கேளுங்கள். முதலில் தரவு மாதிரி, பின்னர் பிணையம்/தரவு அடுக்கு, பின்னர் ViewModel, திரையில் கடைசியாக இருக்கும்.
  3. சிறிய துண்டுகளைக் கேளுங்கள். ஒரு திரை அல்லது ஒரு செயல்பாடு; இது ஒரு பெரிய 500 வரி கோப்பு அல்ல.
  4. ஒவ்வொரு பகுதியையும் சரிபார்க்கவும். கட்டமை, சோதனை, ஒருங்கிணை; பின்னர் அடுத்த பாதைக்கு செல்லவும்.
  5. மறுசீரமைப்பைக் கோரவும் (குறியீட்டை மேம்படுத்தவும்). வேலை செய்யும் குறியீட்டிற்குப் பிறகு "இதை மேலும் படிக்கக்கூடியதாகவும் சோதிக்கக்கூடியதாகவும் ஆக்குங்கள்".
குறிப்பு: "MVVM படி குறியீட்டைப் பிரிக்கவும்: எந்தப் பகுதி View ஆக இருக்க வேண்டும், எது ViewModel ஆக இருக்க வேண்டும், எந்த மாதிரியாக இருக்க வேண்டும், அவற்றைத் தனித்தனியாகக் கொடுங்கள்" என்று AIயிடம் சொல்லுங்கள். இந்த ஒற்றை வாக்கியம் உருவாக்கப்பட்ட குறியீட்டின் கட்டடக்கலை தரத்தை வியத்தகு முறையில் மேம்படுத்துகிறது.

கோட்லின் மற்றும் ஸ்விஃப்ட்: மொழி சார்ந்த பரிசீலனைகள்

கோட்லின் (ஆண்ட்ராய்டு) மற்றும் ஸ்விஃப்ட் (ஐஓஎஸ்) நவீன, பாதுகாப்பான மொழிகள், ஆனால் அவை வெவ்வேறு ஆபத்துக்களைக் கொண்டுள்ளன. கோட்லினில், பூஜ்ய பாதுகாப்பு (வகை அமைப்பு மூலம் ஒரு மாறி "பூஜ்யமாக" இருக்க முடியுமா என்பதைச் சரிபார்த்தல்) சில நேரங்களில் AI ஆல் தளர்வாக தட்டச்சு செய்யப்படுகிறது; தேவையற்ற !! ஆபரேட்டர் (பூஜ்யமாக இருந்தால் செயலிழக்கச் செய்யும் அறிகுறி) பயன்பாட்டை செயலிழக்கச் செய்யலாம். ஸ்விஃப்ட்டில், விருப்ப மேலாண்மை மற்றும் தக்கவைப்பு சுழற்சிகள் முக்கியமானவை; மூடல்களில் [பலவீனமான சுயத்தை] சேர்க்க AI மறந்துவிடக்கூடும், மேலும் இது நினைவக கசிவை உருவாக்கும்.

எனவே, நீங்கள் ஒரு மொழியைத் தேர்ந்தெடுக்கும்போது, ​​அதற்கேற்ப ப்ராம்ப்ட்டை மேம்படுத்தவும்: "கோட்லினில் பூஜ்ய பாதுகாப்பைப் பாதுகாக்கவும், பயன்படுத்த வேண்டாம் !!" அல்லது "ஸ்விஃப்ட் மூடல்களில் வலுவான குறிப்பு வளையத்தைத் தடுக்கவும்".

எச்சரிக்கை: AI தயாரித்த ஒத்திசைவற்ற குறியீடு சிறப்பு கவனம் தேவை. Kotlin coroutines இல் தவறான நோக்கத்தைத் தேர்ந்தெடுப்பது அல்லது Swift இல் async/await இல் முதன்மைத் தொடரைத் தடுப்பது பயன்பாடு முடக்கப்படும். AI இந்த தவறுகளை அடிக்கடி செய்கிறது; அதை சோதிக்காமல் நம்ப வேண்டாம்.

கிராஸ்-பிளாட்ஃபார்ம் மேம்பாடு: படபடப்பு மற்றும் ரியாக்ட் நேட்டிவ்

ஒரே குறியீடு அடிப்படையுடன் iOS மற்றும் Android இரண்டிற்கும் செல்ல விரும்புபவர்களுக்கு, Flutter (Google இன் டார்ட் மொழி அடிப்படையிலான கருவித்தொகுப்பு) மற்றும் React Native (Meta's JavaScript- அடிப்படையிலான தீர்வு) ஆகியவை தனித்து நிற்கின்றன. இந்த சூழல்களிலும் AI சக்தி வாய்ந்தது, ஆனால் சில நேரங்களில் இயங்குதள வேறுபாடுகளை (அனுமதிகள், ஸ்டோர் விதிகள், சாதனம் சார்ந்த நடத்தை) கடந்து செல்கிறது. எடுத்துக்காட்டாக, Flutter இல், iOS மற்றும் Android இல் உள்ள வெவ்வேறு கோப்புகளில் கேமரா அனுமதி வரையறுக்கப்படுகிறது; AI ஒன்று மட்டுமே எழுத முடியும். குறுக்கு-தளக் குறியீட்டில், "இரண்டு தளங்களுக்கும் தனித்தனியாகத் தேவையான அனுமதிகள் மற்றும் உள்ளமைவுகளை வழங்கு" என்று கூறுவது அவசியம்.

தேர்தல் சுருக்கம்:

அணுகுமுறை

எப்போது

AI உடன் கவனம்

பூர்வீகம் (கோட்லின்/ஸ்விஃப்ட்)

அதிக செயல்திறன், சாதன ஆழமான ஒருங்கிணைப்பு

ஒவ்வொரு தளத்திற்கும் தனித்தனி குறியீடு உள்ளது; இருமுறை சரிபார்க்கவும்

படபடப்பு

ஒரு குழு, வேகமான, நிலையான UI

இயங்குதளம் சார்ந்த அனுமதி/அமைப்புகளை கைமுறையாகச் சரிபார்க்கவும்

ரியாக்ட் நேட்டிவ்

இணையம்/JS குழு உள்ளது

பாலம் (சொந்த பாலம்) பிரிவுகளை கவனமாக சோதிக்கவும்

மூன்று சிறிய வழக்குகள்

வழக்கு 1 - கொரூட்டின் பொறி. AI இலிருந்து தயாரிப்பு பட்டியலை இழுக்கும் செயல்பாட்டை Android குழு பெற்றுள்ளது. குறியீடு முக்கிய தொடரிழையில் பிணைய கோரிக்கையை செய்கிறது; சோதனை சாதனத்தில் சிக்கல் தோன்றவில்லை, ஆனால் பலவீனமான நெட்வொர்க்கில், பயன்பாடு 4 வினாடிகளுக்கு உறைந்து, ANR (பயன்பாடு பதிலளிக்கவில்லை) எச்சரிக்கையை வழங்கியது. "ஐஓ டிஸ்பாட்சரில் நெட்வொர்க் வேலைகளைச் செய்யுங்கள்" என்று AI யிடம் கூறப்பட்டபோது அது சரி செய்யப்பட்டது. பாடம்: ஒத்திசைவு எப்போதும் கட்டுப்படுத்தப்படுகிறது.

வழக்கு 2 - நினைவக கசிவு. AI-உருவாக்கிய திரையை 20 முறை திறந்து மூடிய பிறகு, பயன்பாட்டின் நினைவகம் 40 MB இலிருந்து 180 MB ஆக அதிகரித்ததை iOS டெவலப்பர் கண்டறிந்தார். காரணம், மூடியதில் [பலவீனமான சுயம்] காணாமல் போனதால், வியூகண்ட்ரோலரை நினைவகத்தில் இருந்து அழிக்க முடியவில்லை. Xcode இன் நினைவக வரைபடம் பொறியை வெளிப்படுத்தியது. பாடம்: சொந்த வளர்ச்சியில் நினைவக சுயவிவரம் கட்டாயமாகும்.

வழக்கு 3 - மேடை வேறுபாடு. ஒரு Flutter குழு AI இலிருந்து கேலரி அணுகல் குறியீட்டைப் பெற்றது, அது Android இல் வேலை செய்தது, ஆனால் iOS இல் செயலிழந்தது. காரணம், புகைப்பட நூலக அனுமதி விளக்கம் (NSPhotoLibraryUsageDescription) Info.plist கோப்பில் சேர்க்கப்படவில்லை; AI ஆனது ஆண்ட்ராய்டு பக்கத்தை மட்டுமே எழுதியது. 15 நிமிஷத்துல ஃபிக்ஸ் ஆனாலும் பிடிபடாம இருந்திருந்தா ஸ்டோர் ரிஜெக்ட் ஆகியிருக்கும்.

பலவீனமான வரியில் / வலுவான வரியில்

பலவீனமான வரியில்: "API இலிருந்து தயாரிப்புகளை இழுக்கும் கோட்லின் குறியீட்டை எழுதவும்."

சக்திவாய்ந்த அறிவுறுத்தல்: "REST API இலிருந்து தயாரிப்புப் பட்டியலை இழுக்கும் Android/Kotlinக்கான குறியீட்டை உருவாக்கவும்.- நெட்வொர்க் லேயர் ரெட்ரோஃபிட், இடைநிறுத்தம்- Dispatchers.IO இல் நெட்வொர்க் வேலை; பிரதான தொடரிழை- MVVM: களஞ்சியம் -> ViewModel -> UI நிலை ஸ்டேட் ஃப்ளோவுடன்- பிழை-4x நிலை, தனித்தனி நிலை, 4x சீல்டு வகுப்பு நிலை, 5x சீல்டு நிலை பூஜ்ய பாதுகாப்பு !!

வலுவான தூண்டுதல், உருவாக்கப்பட்ட குறியீடு முந்தைய நிகழ்வுகளின் பொறிகளில் விழுவதைத் தடுக்கிறது.

நகலெடுக்கக்கூடிய வார்ப்புருக்கள்

அடுக்கு தயாரிப்பு டெம்ப்ளேட்: "[இயங்குதளம்/மொழி]க்கான [அம்சத்தை] உருவாக்கவும். வரிசைப்படி தயாரிக்கவும்:1) தரவு மாதிரி (தரவு வகுப்பு/கட்டமைப்பு)2) நெட்வொர்க் அல்லது தரவு மூல அடுக்கு3) களஞ்சியம்4) வியூமாடல் (நிலை மேலாண்மை)5) திரை (UI)ஒவ்வொரு அடுக்குக்கும் இடையே தனித்தனியாக ஏற்றுமதி செய்யுங்கள், அவற்றுக்கிடையே ஒரு ஒருங்கிணைப்பைச் சேர்க்க வேண்டாம்."

மொழி சார்ந்த பாதுகாப்பு டெம்ப்ளேட் (Kotlin):"இந்த கோட்லின் குறியீட்டை மதிப்பாய்வு செய்யவும்:- !! மற்றும் இயங்குதள வகையின் தெளிவான பயன்பாடு- Coroutine ஸ்கோப் மற்றும் டிஸ்பாச்சர் தேர்வைச் சரிபார்க்கவும்- முக்கிய தொடரிழையைத் தடுக்கும் அழைப்புகள் உள்ளதா?[குறியீடு]"

மொழி சார்ந்த பாதுகாப்பு டெம்ப்ளேட் (ஸ்விஃப்ட்): "இந்த ஸ்விஃப்ட் குறியீட்டை மதிப்பாய்வு செய்யவும்:- மூடல்களில் சுழற்சியைத் தக்கவைத்துக்கொள்ளும் ஆபத்து (பலவீனமான/சொந்தமற்ற சுயம்)- விருப்பமான விசையைப் பயன்படுத்துதல்-அவிழ்க்க (!)- பிரதான நூலிலிருந்து [குறியீடு] வெளியே நகர்த்தப்பட வேண்டிய கனமான வேலை"

கிராஸ்-பிளாட்ஃபார்ம் கட்டுப்பாட்டு டெம்ப்ளேட்: "iOS மற்றும் Android இரண்டிலும் இந்த [Flutter/React Native] அம்சத்திற்குத் தேவையான அனைத்து அனுமதிகள், உள்ளமைவுகள் மற்றும் இயங்குதளம் சார்ந்த குறியீட்டை பட்டியலிடுங்கள். தனித்தனி Info.plist மற்றும் AndroidManifest.xml உள்ளீடுகளை வழங்கவும்."

பொதுவான தவறுகள்

  • கட்டிடக்கலையை திணிக்காமல் குறியீடு கேட்கிறது. முடிவு: அனைத்தையும் திரையில் குவிக்கும் சோதிக்க முடியாத அமைப்பு.
  • ஒரே நேரத்தில் குறியீட்டைச் சோதிக்காமல் நம்புதல். முக்கிய நூல் தொகுதிகள் மற்றும் தவறான நோக்கம் ஆகியவை செயலிழப்புகளுக்கு மிகவும் பொதுவான காரணங்கள்.
  • நினைவக மேலாண்மையை கவனிக்கவில்லை. குறிப்பாக iOS மூடல்களில் கசிவுகள்; சுயவிவரத்தை எடுக்காமல் இது கவனிக்கப்படாது.
  • பிளாட்பார்ம் வேறுபாடுகளைக் கடந்து செல்கிறது. குறுக்கு-தளம் கருவிகளில், அனுமதிகள் மற்றும் கட்டமைப்பு இரண்டு தளங்களில் தனித்தனியாக எழுதப்படும்.
  • நூலகப் பதிப்பைச் சரிபார்க்கவில்லை. AI வழக்கற்றுப் போன Retrofit/Alamofire API ஐ பரிந்துரைக்கலாம்; அதிகாரப்பூர்வ ஆவணத்துடன் சரிபார்க்கவும்.
  • ஒரு பெரிய கோப்பை உருவாக்குகிறது. பராமரிக்க மற்றும் சரிபார்க்க இயலாது; அடுக்குகளைக் கேளுங்கள்.

சுருக்கமாக

நீங்கள் கட்டமைப்பைக் குறிப்பிடும்போது AI உடன் குறியீடு உருவாக்கம் சக்தி வாய்ந்தது. முதலில் MVVM போன்ற ஒரு கட்டமைப்பைத் திணிக்கவும், பின்னர் அடுக்கு மற்றும் சிறிய துண்டுகளாகக் கோரவும், ஒவ்வொரு பகுதியையும் தொகுத்து சோதிக்கவும். கோட்லினில் பூஜ்ய பாதுகாப்பு மற்றும் கரோட்டின், ஸ்விஃப்டில் விருப்ப மற்றும் நினைவக சுழற்சிகள் சிறப்பு கவனம் தேவை. கிராஸ்-பிளாட்ஃபார்ம் கருவிகளில், ஒவ்வொரு இயங்குதளத்திற்கும் தனித்தனியாக அனுமதிகள் மற்றும் கட்டமைப்பு எழுதப்படும். வலுவான ப்ராம்ட் மொழி, பதிப்பு, கட்டிடக்கலை மற்றும் மொழி சார்ந்த பாதுகாப்பு விதிகளை முன்னரே கூறுகிறது; இது உற்பத்தியில் மிகவும் பொதுவான செயலிழப்பு மற்றும் கசிவு பிழைகளைத் தடுக்கிறது.

விண்ணப்ப பணி

பட்டியல் திரைக்கு (எ.கா. “தொடர்புப் பட்டியல்”), உங்கள் விருப்பத் தளத்தில் (Kotlin அல்லது Swift) உள்ள “Additive manufacturing Template” ஐப் பயன்படுத்தி AI இலிருந்து குறியீட்டைக் கோரவும். ஒரு திட்டத்தில் உருவாக்கப்பட்ட குறியீட்டைச் சேர்த்து, அதைத் தொகுத்து, இந்த இரண்டு சரிபார்ப்புகளைச் செய்யவும்: (1) பிரதான தொடரிழையில் இயங்கும் நெட்வொர்க்/நீண்ட செயல்முறை, (2) பூஜ்ய/விருப்பப் பாதுகாப்பு சரியானதா? மொழி சார்ந்த பாதுகாப்பு டெம்ப்ளேட்டில் நீங்கள் காணும் சிக்கலை AI சரி செய்யச் சொல்லுங்கள்.

சரிபார்ப்பு பட்டியல்

  • [ ] குறியீட்டைக் கோருவதற்கு முன் கட்டிடக்கலையை (MVVM போன்றவை) குறிப்பிட்டேன்
  • [ ] சிறிய துண்டுகளாக, அடுக்காக அதை நான் விரும்பினேன்
  • [ ] ஒரே நேரத்தில் குறியீடு முக்கிய தொடரிழையைத் தடுக்கவில்லை என்பதை நான் சோதித்தேன்
  • [ ] நான் பூஜ்ய/விருப்பப் பாதுகாப்பு மற்றும் நினைவக நிர்வாகத்தைச் சரிபார்த்தேன்
  • [ ] குறுக்கு-தளம் திட்டத்தில் இரண்டு தளங்களின் அனுமதிகள்/அமைப்புகளை தனித்தனியாகச் சரிபார்த்தேன்
  • [ ] அதிகாரப்பூர்வ ஆவணங்களில் இருந்து நூலக பதிப்புகள் மற்றும் API கையொப்பங்களை நான் சரிபார்த்தேன்