शाब्दिक रूप से NativePHP का अर्थ नेटिव PHP है, अर्थात ऐसे PHP एप्लिकेशन जो स्थानीय रूप से चलते हैं। परंपरागत रूप से PHP लंबे समय से वेब विकास से जुड़ा रहा है और इसका पूरा कोड रिमोट सर्वर पर निष्पादित होता है। NativePHP इस व्यवस्था को पूरी तरह बदल देता है। अब डेवलपर इसका उपयोग करके नेटिव डेस्कटॉप सॉफ्टवेयर तथा Android और iOS दोनों के लिए मोबाइल ऐप बना सकते हैं।
आप इसकी आधिकारिक वेबसाइट यहां देख सकते हैं:Baking Delicious Native Apps – NativePHP
तो NativePHP कैसे काम करता है?
यह उतना जटिल नहीं है और इसका मूल विचार कई ऐप्स में समान है। सामान्य PHP रिमोट सर्वर पर होस्ट किए गए इंटरप्रेटर पर निर्भर करता है। NativePHP PHP रनटाइम को सीधे अंतिम EXE फ़ाइल या ऐप इंस्टॉलेशन फ़ाइल के अंदर पैक करता है। प्रोजेक्ट टीम ने बेहतर प्रदर्शन के लिए शामिल रनटाइम को भी अनुकूलित किया है।
नीचे आधिकारिक आरेख है:

NativePHP पूर्ण PHP रनटाइम को आपके ऐप के साथ एकत्रित करता है। मोबाइल ऐप के लिए इसे Swift या Kotlin से रैप किया जाता है, जबकि डेस्कटॉप सॉफ्टवेयर के लिए Electron का उपयोग होता है। यह प्लेटफॉर्म हार्डवेयर सुविधाओं तक पहुंचने के लिए समर्पित ब्रिज कनेक्शन का उपयोग करता है और बिल्ट-इन नेटिव WebView के माध्यम से ऐप इंटरफ़ेस प्रदर्शित करता है। आप सामान्य PHP में कोडिंग जारी रख सकते हैं, बस डिवाइस की नेटिव फ़ंक्शन से जुड़ने के लिए कुछ एक्सटेंशन जोड़ें। मूल विचार बहुत सरल है: आपका सारा PHP कोड उपयोगकर्ता के डिवाइस पर स्थानीय रूप से चलता है।
बाईं ओर के आरेख को देखें, प्रत्येक NativePHP ऐप Swift या Kotlin शेल कोड से घिरा होता है, जिसके अंदर पूर्ण PHP रनटाइम और कस्टम PHP एक्सटेंशन मौजूद होते हैं।
चार्ट में चिह्नित कस्टम PHP एक्सटेंशन वह मुख्य घटक है जो PHP को सिस्टम की नेटिव सुविधाओं तक पहुंच प्रदान करता है। यह मूल रूप से केवल NativePHP के लिए बनाया गया कस्टम PHP प्लगइन है। यह PHP से प्राप्त अनुरोधों को निचले स्तर के Swift या Kotlin ब्रिज कोड तक भेजता है, जो वास्तविक सिस्टम कमांड चलाता है। सिस्टम द्वारा वापस भेजा गया डेटा भी इसी एक्सटेंशन के माध्यम से PHP तक पहुंचता है।
यह कस्टम एक्सटेंशन अत्यंत आवश्यक है। इसके बिना NativePHP अस्तित्व में नहीं रह सकता और हम PHP का उपयोग करके स्थानीय एप्लिकेशन बिल्कुल नहीं बना पाएंगे।
उपयोगकर्ता सभी सामग्री Native WebView के माध्यम से देखते हैं। यह ऐप में एम्बेडेड एक हल्का ब्राउज़र इंजन है जो PHP और HTML पेज लोड करता है। यह पूर्ण Chrome नहीं, बल्कि तैयार ऐप में पैक किया गया एक ब्राउज़र घटक है।
अब आपको NativePHP की बुनियादी समझ आ गई है। हम पहले मोबाइल ऐप बनाना सीखेंगे, उसके बाद डेस्कटॉप विकास की ओर बढ़ेंगे।