NativeScript: Difference between revisions

Content deleted Content added
8.8.1 latest
rm more inline linking, copyedit
 
(12 intermediate revisions by 7 users not shown)
Line 1:
{{Advert|date=October 2024}}
{{Short description|Open-source framework to develop native mobile apps}}
{{Infobox software
Line 7 ⟶ 8:
| developer = Community
| released = {{Start date|2014}}
| latest release version = 8.8.1{{wikidata|property|edit|reference|P348}}
| latest release date = {{start date and age|{{wikidata|qualifier|P348|P577}}}}
| latest release date = {{Start date and age|2024|07|11}}<ref>{{Cite web|url=https://github.com/NativeScript/NativeScript/releases|title=Releases · NativeScript/NativeScript|website=GitHub|access-date=2024-07-11|archive-date=2021-08-31|archive-url=https://web.archive.org/web/20210831051432/https://github.com/NativeScript/NativeScript/releases|url-status=live}}</ref>
| programming language = [[JavaScript]], [[TypeScript]]
| platform = [[Cross-platform]]
Line 15 ⟶ 16:
}}
 
'''NativeScript''' is a [[JavaScript]]-based cross-platform [[open-source software|open-source]] development framework to develop [[mobile app|apps]] for [[iOS]], [[visionOS]] and [[Android (operating system)|Android]] platforms. It connects platform APIs directly to the JavaScript runtime (with strong types). combining familiar Web approaches like CSS and view templating with common platform languages ([[Swift (programming language)|Swift]], [[Kotlin (programming language)|Kotlin]], [[Objective-C]], [[Java (programming language)|Java]]).
'''NativeScript''' is an [[open-source software|open-source]] framework to develop [[mobile app]]s on the [[iOS]] and [[Android (operating system)|Android]] platforms. It was originally conceived and developed by Bulgarian company [[Telerik]], later acquired by [[Progress Software]].<ref>{{Cite web|url=https://www.infoq.com/news/2015/03/nativescript/|title=Creating Mobile Native Apps in JavaScript with NativeScript|website=InfoQ|access-date=2022-07-12|archive-date=2022-06-19|archive-url=https://web.archive.org/web/20220619183512/https://www.infoq.com/news/2015/03/nativescript/|url-status=live}}</ref> At the end of 2019<ref>{{cite web |last1=Saripella |first1=Surya |title=The Next Chapter for NativeScript: nStudio |url=https://nativescript.org/blog/the-next-chapter-for-nativescript-nstudio/ |publisher=NativeScript |access-date=2022-07-12 |archive-date=2021-01-16 |archive-url=https://web.archive.org/web/20210116145010/https://nativescript.org/blog/the-next-chapter-for-nativescript-nstudio/ |url-status=live }}</ref> responsibility for the NativeScript project was taken over by long-time Progress partner, nStudio. In December 2020 nStudio also oversaw the induction of NativeScript into OpenJS Foundation as an Incubating Project.<ref>{{cite web |last1=Romoff |first1=Rachel |title=NativeScript joins OpenJS Foundation as Incubating Project |url=https://openjsf.org/blog/2020/12/07/nativescript-joins-openjs-foundation-as-incubating-project/ |website=The Linux Foundation Projects |date=7 December 2020 |publisher=OpenJS Foundation |access-date=4 March 2021 |archive-date=25 January 2021 |archive-url=https://web.archive.org/web/20210125120950/https://openjsf.org/blog/2020/12/07/nativescript-joins-openjs-foundation-as-incubating-project/ |url-status=live }}</ref> NativeScript apps are built using [[JavaScript]], or by using any [[programming language]] that [[transpile]]s to JavaScript, such as [[TypeScript]]. NativeScript supports the [[Angular (application platform)|Angular]]<ref name=infoworld2893706>{{Cite web|url=https://www.infoworld.com/article/2893706/javascript-native-ios-android-and-windows-phone-apps.html|title=JavaScript goes native for iOS, Android, and Windows Phone apps|first=Paul|last=Krill|date=March 10, 2015|website=InfoWorld|access-date=July 12, 2022|archive-date=January 3, 2022|archive-url=https://web.archive.org/web/20220103083812/https://www.infoworld.com/article/2893706/javascript-native-ios-android-and-windows-phone-apps.html|url-status=live}}</ref> and [[Vue.js|Vue]] JavaScript frameworks.<ref name=":0">{{Cite web|url=https://nativescript-vue.org/#/|title=NativeScript-Vue|website=nativescript-vue.org|access-date=2017-10-31}}</ref> Mobile applications built with NativeScript result in fully native apps, which use the same APIs as if they were developed in [[Xcode]] or [[Android Studio]].<ref>{{Cite web|title=NativeScript framework eases cross-platform app development woes|url=https://searchcloudcomputing.techtarget.com/podcast/NativeScript-framework-eases-cross-platform-app-development-woes|access-date=2021-08-06|website=searchcloudcomputing.techtarget.com|archive-date=2021-08-06|archive-url=https://web.archive.org/web/20210806104010/https://searchcloudcomputing.techtarget.com/podcast/NativeScript-framework-eases-cross-platform-app-development-woes|url-status=live}}</ref> Additionally, software developers can re-purpose third-party libraries from [[CocoaPods]], [[Apache Maven|Maven]], and [[npm (software)|npm.js]] in their mobile applications without the need for wrappers.<ref>{{Cite web|url=https://www.infoworld.com/article/3066900/nativescript-warms-up-to-angularjs-for-mobile-dev.html|title=NativeScript warms up to AngularJS for mobile dev|first=Paul|last=Krill|date=May 6, 2016|website=InfoWorld|access-date=July 12, 2022|archive-date=June 12, 2022|archive-url=https://web.archive.org/web/20220612180823/https://www.infoworld.com/article/3066900/nativescript-warms-up-to-angularjs-for-mobile-dev.html|url-status=live}}</ref><ref>{{Cite web|url=https://sdtimes.com/alphago/sd-times-github-project-of-the-week-nativescript/|title=SD Times GitHub Project of the Week: NativeScript|date=March 18, 2016|access-date=July 12, 2022|archive-date=March 27, 2022|archive-url=https://web.archive.org/web/20220327145317/https://sdtimes.com/alphago/sd-times-github-project-of-the-week-nativescript/|url-status=live}}</ref><ref name=visualstudiomagazine20150309>{{Cite web|url=https://visualstudiomagazine.com/articles/2015/03/09/telerik-nativescript-beta-mobile.aspx|title=Telerik's NativeScript Aims To Centralize Cross-Platform Mobile Development -|website=Visual Studio Magazine|access-date=2016-11-21|archive-date=2017-11-07|archive-url=https://web.archive.org/web/20171107003801/https://visualstudiomagazine.com/articles/2015/03/09/telerik-nativescript-beta-mobile.aspx|url-status=live}}</ref>
 
'''NativeScript''' is an [[open-source software|open-source]] framework to develop [[mobile app]]s on the [[iOS]] and [[Android (operating system)|Android]] platforms. It was originally conceived and developed by Bulgarian company [[Telerik]], later acquired by [[Progress Software]].<ref>{{Cite web|url=https://www.infoq.com/news/2015/03/nativescript/|title=Creating Mobile Native Apps in JavaScript with NativeScript|website=InfoQ|access-date=2022-07-12|archive-date=2022-06-19|archive-url=https://web.archive.org/web/20220619183512/https://www.infoq.com/news/2015/03/nativescript/|url-status=live}}</ref> At the end of 2019<ref>{{cite web |last1=Saripella |first1=Surya |title=The Next Chapter for NativeScript: nStudio |url=https://nativescript.org/blog/the-next-chapter-for-nativescript-nstudio/ |publisher=NativeScript |access-date=2022-07-12 |archive-date=2021-01-16 |archive-url=https://web.archive.org/web/20210116145010/https://nativescript.org/blog/the-next-chapter-for-nativescript-nstudio/ |url-status=live }}</ref> responsibility for the NativeScript project was taken over by long-time Progress partner, nStudio. In December 2020, nStudio also oversaw the induction of NativeScript into the [[OpenJS Foundation]] as an Incubating Project.<ref>{{cite web |last1=Romoff |first1=Rachel |title=NativeScript joins OpenJS Foundation as Incubating Project |url=https://openjsf.org/blog/2020/12/07/nativescript-joins-openjs-foundation-as-incubating-project/ |website=The Linux Foundation Projects |date=7 December 2020 |publisher=OpenJS Foundation |access-date=4 March 2021 |archive-date=25 January 2021 |archive-url=https://web.archive.org/web/20210125120950/https://openjsf.org/blog/2020/12/07/nativescript-joins-openjs-foundation-as-incubating-project/ |url-status=live }}</ref> NativeScript apps are built using [[JavaScript]], or by using any [[programming language]] that [[transpile]]s to JavaScript, such as [[TypeScript]]. NativeScript supports the [[Angular (application platform)|Angular]]<ref name="infoworld2893706">{{Cite web|url=https://www.infoworld.com/article/2893706/javascript-native-ios-android-and-windows-phone-apps.html|title=JavaScript goes native for iOS, Android, and Windows Phone apps|first=Paul|last=Krill|date=March 10, 2015|website=InfoWorld|access-date=July 12, 2022|archive-date=January 3, 2022|archive-url=https://web.archive.org/web/20220103083812/https://www.infoworld.com/article/2893706/javascript-native-ios-android-and-windows-phone-apps.html|url-status=live}}</ref> and [[Vue.js|Vue]] JavaScript frameworks.<ref name=":0">{{Cite web|url=https://nativescript-vue.org/#/|title=NativeScript-Vue|website=nativescript-vue.org|access-date=2017-10-31}}</ref> Mobile applications built with NativeScript result in fully native apps, which use the same APIs as if they were developed in [[Xcode]] or [[Android Studio]].<ref>{{Cite web|title=NativeScript framework eases cross-platform app development woes|url=https://searchcloudcomputing.techtarget.com/podcast/NativeScript-framework-eases-cross-platform-app-development-woes|access-date=2021-08-06|website=searchcloudcomputing.techtarget.com|archive-date=2021-08-06|archive-url=https://web.archive.org/web/20210806104010/https://searchcloudcomputing.techtarget.com/podcast/NativeScript-framework-eases-cross-platform-app-development-woes|url-status=live}}</ref> Additionally, software developers can re-purpose third-party libraries from [[CocoaPods]], [[Apache Maven|Maven]], and [[npm (software)|npm.js]] in their mobile applications without the need for wrappers.<ref>{{Cite web|url=https://www.infoworld.com/article/3066900/nativescript-warms-up-to-angularjs-for-mobile-dev.html|title=NativeScript warms up to AngularJS for mobile dev|first=Paul|last=Krill|date=May 6, 2016|website=InfoWorld|access-date=July 12, 2022|archive-date=June 12, 2022|archive-url=https://web.archive.org/web/20220612180823/https://www.infoworld.com/article/3066900/nativescript-warms-up-to-angularjs-for-mobile-dev.html|url-status=live}}</ref><ref>{{Cite web|url=https://sdtimes.com/alphago/sd-times-github-project-of-the-week-nativescript/|title=SD Times GitHub Project of the Week: NativeScript|date=March 18, 2016|access-date=July 12, 2022|archive-date=March 27, 2022|archive-url=https://web.archive.org/web/20220327145317/https://sdtimes.com/alphago/sd-times-github-project-of-the-week-nativescript/|url-status=live}}</ref><ref name="visualstudiomagazine20150309">{{Cite web|url=https://visualstudiomagazine.com/articles/2015/03/09/telerik-nativescript-beta-mobile.aspx|title=Telerik's NativeScript Aims To Centralize Cross-Platform Mobile Development -|website=Visual Studio Magazine|access-date=2016-11-21|archive-date=2017-11-07|archive-url=https://web.archive.org/web/20171107003801/https://visualstudiomagazine.com/articles/2015/03/09/telerik-nativescript-beta-mobile.aspx|url-status=live}}</ref>
 
==Development==
Line 22 ⟶ 25:
==Structure==
NativeScript and all the required plugins are installed using the package manager [[Npm (software)|npm]]. Projects are created, configured, and compiled via the command line or a GUI tool called NativeScript Sidekick.<ref>{{Cite web|url=https://www.nativescript.org/nativescript-sidekick|title=NativeScript Sidekick - your faithful companion for app development|website=NativeScript.org|language=en|access-date=2017-10-31|archive-date=2017-11-07|archive-url=https://web.archive.org/web/20171107004639/https://www.nativescript.org/nativescript-sidekick|url-status=live}}</ref>
 
Platform-independent user interfaces are defined using [[XML]] files. NativeScript then uses the abstractions described in the XML files to call native UI elements of each platform. Application logic developed in Angular and TypeScript can be developed independent of the target platform as well. A NativeScript mobile application is built using the node.js runtime and tooling.<ref name="heisede3282619">{{Cite web|url=https://www.heise.de/developer/artikel/Mit-JavaScript-wie-hausgemacht-NativeScript-3282619.html|title=Mit JavaScript wie hausgemacht: NativeScript|first=Tam|last=Hanna|website=Developer|date=9 August 2016 |access-date=2022-07-12|archive-date=2021-07-25|archive-url=https://web.archive.org/web/20210725085644/https://www.heise.de/developer/artikel/Mit-JavaScript-wie-hausgemacht-NativeScript-3282619.html|url-status=live}}</ref> Progress aims for a ratio of 90% common code between the iOS and Android platforms.<ref name="nativescript.org">{{Cite web|url=https://www.nativescript.org/|title=Frequently asked questions about NativeScript|website=NativeScript.org|access-date=2016-03-20|archive-date=2016-03-18|archive-url=https://web.archive.org/web/20160318132229/https://www.nativescript.org/|url-status=live}}</ref>
 
==Direct access to native platform APIs and controls==
Line 40 ⟶ 44:
 
=== Vue.js integration ===
The [[Vue.js]] framework is supported in NativeScript via the nativescript-vue plugin.<ref name=":0" />
 
== Supporting tools and services ==