{"id":12195,"date":"2017-06-23T09:24:00","date_gmt":"2017-06-23T09:24:00","guid":{"rendered":"https:\/\/viewmyprojects.com\/winwirewp\/?p=12195"},"modified":"2023-11-30T06:18:55","modified_gmt":"2023-11-30T06:18:55","slug":"sharepoint-framework-tools","status":"publish","type":"post","link":"https:\/\/viewmyprojects.com\/winwirewp\/blog\/sharepoint-framework-tools\/","title":{"rendered":"Understanding SharePoint Framework (SPFx) Tools"},"content":{"rendered":"\n<p>As technologies have evolved, the usage of JavaScript has increased drastically. We can go back to distributed computing and build rich, fast, interactive user experiences for the client.<\/p>\n\n\n\n<p>If we see, last year has delivered significant updates to the SharePoint user experiences, such as modern team sites, document libraries, and pages. These modern experiences feature simple and powerful web parts that are responsive, easy to use as well as mobile-ready. By customizing web parts on a page, team members can seamlessly build tailored sites that feature the most relevant content and tools for their team.<\/p>\n\n\n\n<p>In addition to the rich set of web parts available within SharePoint, developers can also create completely new web parts.<\/p>\n\n\n\n<p>To make life easier, Microsoft has modernized its developer surface while keeping pace with rapidly changing techniques and technologies used in the broader industry.<\/p>\n\n\n\n<p>Let me put this in simple words, SharePoint Framework allows developers take advantage of up-to-date practices, tools, and libraries to help them build more engaging, mobile-ready web parts at a rapid pace.<\/p>\n\n\n\n<p><strong>SharePoint Framework \u2013 An open and connected platform<br><\/strong><br>SharePoint Framework (SPFx) is an open and connected platform. SPFx is a page and part model that enables client- side development with support to open source tooling.<\/p>\n\n\n\n<p>Earlier SharePoint\u2019s page and web part model were largely implemented in.NET for content and collaboration systems. SPFx helps us to build a better experience with support to mobile views of SP Online sites.<\/p>\n\n\n\n<p>SPFx has been built leveraging the latest frameworks of JavaScript like Angular and React. SPFx provides an approach to development with less dependency on.NET. One of the core components of SPFx is the modern SharePoint page experience, where pages can be technology independent and can be built using client-side JavaScript and templating framework.<\/p>\n\n\n\n<p>This page structure will allow developers to leverage the capabilities of SharePoint in a more efficient manner, providing better reliability, being mobile ready and responsive from day one.<\/p>\n\n\n\n<p>Tooling up for SharePoint Framework (SPFx)<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"633\" height=\"205\" src=\"https:\/\/viewmyprojects.com\/winwirewp\/wp-content\/uploads\/2023\/11\/app_spf.webp\" alt=\"\" class=\"wp-image-18660\" srcset=\"https:\/\/viewmyprojects.com\/winwirewp\/wp-content\/uploads\/2023\/11\/app_spf.webp 633w, https:\/\/viewmyprojects.com\/winwirewp\/wp-content\/uploads\/2023\/11\/app_spf-300x97.webp 300w\" sizes=\"auto, (max-width: 633px) 100vw, 633px\" \/><\/figure><\/div>\n\n\n<p>SPFx is a new model for developing SharePoint customizations using tools like Node.js, npm, Yeoman and Gulp. Most of the SharePoint pages today are built using the client-side code with the content editor or script editor web parts.<\/p>\n\n\n\n<p><strong>Tools required<br><\/strong><br>1. Node.js:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"440\" height=\"310\" src=\"https:\/\/viewmyprojects.com\/winwirewp\/wp-content\/uploads\/2023\/11\/node.webp\" alt=\"\" class=\"wp-image-18646\" srcset=\"https:\/\/viewmyprojects.com\/winwirewp\/wp-content\/uploads\/2023\/11\/node.webp 440w, https:\/\/viewmyprojects.com\/winwirewp\/wp-content\/uploads\/2023\/11\/node-300x211.webp 300w\" sizes=\"auto, (max-width: 440px) 100vw, 440px\" \/><\/figure><\/div>\n\n\n<p class=\"blog-detail-list\">\u2022 Node.js is an open source JavaScript runtime.<br>\u2022 It uses an event-driven and non-blocking I\/O model that makes it lightweight and efficient.<br>\u2022 SPFx supports latest LTS version<\/p>\n\n\n\n<p>2. npm:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"338\" height=\"149\" src=\"https:\/\/viewmyprojects.com\/winwirewp\/wp-content\/uploads\/2023\/11\/npm.webp\" alt=\"\" class=\"wp-image-18643\" srcset=\"https:\/\/viewmyprojects.com\/winwirewp\/wp-content\/uploads\/2023\/11\/npm.webp 338w, https:\/\/viewmyprojects.com\/winwirewp\/wp-content\/uploads\/2023\/11\/npm-300x132.webp 300w\" sizes=\"auto, (max-width: 338px) 100vw, 338px\" \/><\/figure><\/div>\n\n\n<p class=\"blog-detail-list\">\u2022 \u2018npm\u2019 stands for node package manager.<br>\u2022 Required as a centralized package registry for SPFx.<br>\u2022 Installs modules and dependencies.<br>\u2022 Packages can be installed globally or locally. Locally installed packages go in the node_modules subfolder.<br>\u2022 Note: Node.js and npm are the foundation for the local SharePoint Framework development. Other tools in the SPFx framework toolchain run on Node.js<br>\u2022 Example commands:<br>npm install windows-build-tools<br>npm install jquery<\/p>\n\n\n\n<p><strong>3. Yeoman:<\/strong><\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"593\" height=\"251\" src=\"https:\/\/viewmyprojects.com\/winwirewp\/wp-content\/uploads\/2023\/11\/yeoman.webp\" alt=\"\" class=\"wp-image-18639\" srcset=\"https:\/\/viewmyprojects.com\/winwirewp\/wp-content\/uploads\/2023\/11\/yeoman.webp 593w, https:\/\/viewmyprojects.com\/winwirewp\/wp-content\/uploads\/2023\/11\/yeoman-300x127.webp 300w\" sizes=\"auto, (max-width: 593px) 100vw, 593px\" \/><\/figure><\/div>\n\n\n<p class=\"blog-detail-list\"><strong><br><\/strong><br>\u2022 Yeoman is used as SharePoint web part generator.<br>\u2022 Yeoman builds out the project structure required.<br>\u2022 Yeoman relies on npm and Gulp.<br>\u2022 \u2018yo\u2019 is the Yeoman command line utility allowing creation of projects<br>\u2022 Example commands:<br>npm install -g @microsoft\/generator-SharePoint<br>yo @microsoft\/SharePoint<\/p>\n\n\n\n<p><strong>4. Visual Studio code:<\/strong><\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"527\" src=\"https:\/\/viewmyprojects.com\/winwirewp\/wp-content\/uploads\/2023\/11\/visual-studio-code-1024x527-1.webp\" alt=\"\" class=\"wp-image-18641\" srcset=\"https:\/\/viewmyprojects.com\/winwirewp\/wp-content\/uploads\/2023\/11\/visual-studio-code-1024x527-1.webp 1024w, https:\/\/viewmyprojects.com\/winwirewp\/wp-content\/uploads\/2023\/11\/visual-studio-code-1024x527-1-300x154.webp 300w, https:\/\/viewmyprojects.com\/winwirewp\/wp-content\/uploads\/2023\/11\/visual-studio-code-1024x527-1-768x395.webp 768w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/div>\n\n\n<p class=\"blog-detail-list\"><strong><br><\/strong><br>\u2022 Visual Studio code can be used for working with client-side web part projects.<br>\u2022 This is an extremely fast and lightweight tool, which shows the file and folder structure of the project<br>\u2022 Visual Studio code is not same as Visual Studio IDE<br>\u2022 It is available on Linux and Mac OS<\/p>\n\n\n\n<p><strong>5. TypeScript:<\/strong><\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"325\" height=\"106\" src=\"https:\/\/viewmyprojects.com\/winwirewp\/wp-content\/uploads\/2023\/11\/typescript.webp\" alt=\"\" class=\"wp-image-18642\" srcset=\"https:\/\/viewmyprojects.com\/winwirewp\/wp-content\/uploads\/2023\/11\/typescript.webp 325w, https:\/\/viewmyprojects.com\/winwirewp\/wp-content\/uploads\/2023\/11\/typescript-300x98.webp 300w\" sizes=\"auto, (max-width: 325px) 100vw, 325px\" \/><\/figure><\/div>\n\n\n<p class=\"blog-detail-list\"><strong><br><\/strong><br>\u2022 TypeScript is a strongly typed language, which can catch and resolve syntax errors before run time. (TypeScript adds compile-time syntax and type checking to Javascript)<br>\u2022 It also supports writing classes and interfaces as required.<\/p>\n\n\n\n<p><strong>6. Gulp<\/strong><\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"282\" height=\"83\" src=\"https:\/\/viewmyprojects.com\/winwirewp\/wp-content\/uploads\/2023\/11\/gulp1.webp\" alt=\"\" class=\"wp-image-18649\"\/><\/figure><\/div>\n\n\n<p class=\"blog-detail-list\"><strong><br><\/strong><br>\u2022 Gulp is used to automate SPFx development and deployment tasks. Gulp can be used to automate repetitive build processes<br>\u2022 It is used as the task runner to handle build process tasks.<br>\u2022 Ability to compile, bundle and copy files to deployment directories.<br>\u2022 Example commands:<br>gulp trust-dev-cert<br>gulp serve<\/p>\n\n\n\n<p><strong>SharePoint workbench<\/strong><\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"449\" src=\"https:\/\/viewmyprojects.com\/winwirewp\/wp-content\/uploads\/2023\/11\/sharepoint_workbench-1024x449-1.webp\" alt=\"\" class=\"wp-image-18644\" srcset=\"https:\/\/viewmyprojects.com\/winwirewp\/wp-content\/uploads\/2023\/11\/sharepoint_workbench-1024x449-1.webp 1024w, https:\/\/viewmyprojects.com\/winwirewp\/wp-content\/uploads\/2023\/11\/sharepoint_workbench-1024x449-1-300x132.webp 300w, https:\/\/viewmyprojects.com\/winwirewp\/wp-content\/uploads\/2023\/11\/sharepoint_workbench-1024x449-1-768x337.webp 768w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/div>\n\n\n<p class=\"blog-detail-list\"><strong><br><\/strong><br>\u2022 SharePoint workbench is a developer design interface (kind of HTML page with new modern experience), and enables us the preview and test the client side web parts without deploying them to SharePoint.<br>\u2022 Workbench works with the current page context.<br>\u2022 It can be served locally in the browser or from the SP Online site.<br>\u2022 Local Workbench reloads when the changes in code occur, which helps us to view and update the web part in real time<br>\u2022 Workbench provides the capability to test SharePoint customizations locally<\/p>\n\n\n\n<p><strong>In Conclusion<br><\/strong><br>Microsoft has presented <a href=\"https:\/\/viewmyprojects.com\/winwirewp\/blog\/sharepoint-calendar\/\">SharePoint<\/a> Developer Framework as the \u2018Future of SharePoint\u2019. The new SharePoint framework can be expected with many more innovative features in the coming days. This opens opportunities for a better developer as well as end-user experience, both with on-premises and SP online environment as it provides more options for the developer with increased efficiency and stable applications for both web and mobile.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>As technologies have evolved, the usage of JavaScript has increased drastically. We can go back to distributed computing and build rich, fast, interactive user experiences for the client. If we see, last year has delivered significant updates to the SharePoint user experiences, such as modern team sites, document libraries, and pages. These modern experiences feature&hellip; <a class=\"more-link\" href=\"https:\/\/viewmyprojects.com\/winwirewp\/blog\/sharepoint-framework-tools\/\">Continue reading <span class=\"screen-reader-text\">Understanding SharePoint Framework (SPFx) Tools<\/span><\/a><\/p>\n","protected":false},"author":41,"featured_media":16654,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_eb_attr":"","_uag_custom_page_level_css":"","footnotes":""},"categories":[1,67,59],"tags":[],"class_list":["post-12195","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized","category-digital-collaboration-blogs","category-blogs","entry"],"acf":[],"featured_image_src":"https:\/\/viewmyprojects.com\/winwirewp\/wp-content\/uploads\/2023\/11\/Understanding-SharePoint-Framework-SPFx-Tools.webp","author_info":{"display_name":"Sanjeev","author_link":"https:\/\/viewmyprojects.com\/winwirewp\/author\/sanjeev\/"},"views":3867,"uagb_featured_image_src":{"full":["https:\/\/viewmyprojects.com\/winwirewp\/wp-content\/uploads\/2023\/11\/Understanding-SharePoint-Framework-SPFx-Tools.webp",800,440,false],"thumbnail":["https:\/\/viewmyprojects.com\/winwirewp\/wp-content\/uploads\/2023\/11\/Understanding-SharePoint-Framework-SPFx-Tools-150x150.webp",150,150,true],"medium":["https:\/\/viewmyprojects.com\/winwirewp\/wp-content\/uploads\/2023\/11\/Understanding-SharePoint-Framework-SPFx-Tools-300x165.webp",300,165,true],"medium_large":["https:\/\/viewmyprojects.com\/winwirewp\/wp-content\/uploads\/2023\/11\/Understanding-SharePoint-Framework-SPFx-Tools-768x422.webp",750,412,true],"large":["https:\/\/viewmyprojects.com\/winwirewp\/wp-content\/uploads\/2023\/11\/Understanding-SharePoint-Framework-SPFx-Tools.webp",750,413,false],"1536x1536":["https:\/\/viewmyprojects.com\/winwirewp\/wp-content\/uploads\/2023\/11\/Understanding-SharePoint-Framework-SPFx-Tools.webp",800,440,false],"2048x2048":["https:\/\/viewmyprojects.com\/winwirewp\/wp-content\/uploads\/2023\/11\/Understanding-SharePoint-Framework-SPFx-Tools.webp",800,440,false],"post-thumbnail":["https:\/\/viewmyprojects.com\/winwirewp\/wp-content\/uploads\/2023\/11\/Understanding-SharePoint-Framework-SPFx-Tools.webp",800,440,false]},"uagb_author_info":{"display_name":"Sanjeev","author_link":"https:\/\/viewmyprojects.com\/winwirewp\/author\/sanjeev\/"},"uagb_comment_info":0,"uagb_excerpt":"As technologies have evolved, the usage of JavaScript has increased drastically. We can go back to distributed computing and build rich, fast, interactive user experiences for the client. If we see, last year has delivered significant updates to the SharePoint user experiences, such as modern team sites, document libraries, and pages. These modern experiences feature&hellip;&hellip;","_links":{"self":[{"href":"https:\/\/viewmyprojects.com\/winwirewp\/wp-json\/wp\/v2\/posts\/12195","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/viewmyprojects.com\/winwirewp\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/viewmyprojects.com\/winwirewp\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/viewmyprojects.com\/winwirewp\/wp-json\/wp\/v2\/users\/41"}],"replies":[{"embeddable":true,"href":"https:\/\/viewmyprojects.com\/winwirewp\/wp-json\/wp\/v2\/comments?post=12195"}],"version-history":[{"count":2,"href":"https:\/\/viewmyprojects.com\/winwirewp\/wp-json\/wp\/v2\/posts\/12195\/revisions"}],"predecessor-version":[{"id":18677,"href":"https:\/\/viewmyprojects.com\/winwirewp\/wp-json\/wp\/v2\/posts\/12195\/revisions\/18677"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/viewmyprojects.com\/winwirewp\/wp-json\/wp\/v2\/media\/16654"}],"wp:attachment":[{"href":"https:\/\/viewmyprojects.com\/winwirewp\/wp-json\/wp\/v2\/media?parent=12195"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/viewmyprojects.com\/winwirewp\/wp-json\/wp\/v2\/categories?post=12195"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/viewmyprojects.com\/winwirewp\/wp-json\/wp\/v2\/tags?post=12195"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}