Learn to Create and Use SAP® CAPM Apps with SAP® BAS!
Hey there, SAP® Tech Masterminds! We’re thrilled to bring you a fun and easy two-part blog series. We’ll guide you through creating and using SAP® CAPM Services in SAP® BAS for your SAP® Fiori® Element Apps.
Whether you’re new to coding or a seasoned expert, these blogs are for you. Let’s get started!
Now that you’ve built your SAP® CAPM app, it’s time to put it to work. In the second part of our series, we’ll show you how to:
Connect your CAPM services to SAP® Fiori® Elements apps.
Turn your services into awesome, user-friendly apps using SAP® Fiori® Elements.
Follow simple, clear instructions to make everything work smoothly.
So grab your favorite snack, get comfy, and join us on this coding adventure. Stay tuned for the first part – it’s going to be amazing!
Also, to Learn Fiori® Elements using SAP® CAPM and SAP® RAP you can enroll in the course Learn SAP® Fiori® Elements where we will learn in a Step-by-Step Fashion the development of Apps Using Fiori® Elements.
For the best offers on the course check the Offer Page.
AngularJS is one of the most popular and open-source web application framework maintained by Google and a community of individual developers and corporations to address many of the challenges encountered in developing single-page applications.
If you are already familiar to AngularJS and want to turn on some real magic but don’t know the enough resources to spruce up the coding, don’t worry, some developers have adapted a few front-end frameworks to work and support AngularJS. These Frameworks come with some of useful tools and components that help developers to build innovative web applications quickly and easily.
Below we have gathered 5 Best AngularJS Frameworks you can use for developing your web-applications without much hassle.
1. AngularUI Bootstrap
Angular UI Bootstrap is built on top of the front-end framework called Bootstrap. The framework contains a set of native AngularJS directives based on Bootstrap HTML and CSS components. Angular UI Bootstrap offers several directives, such as carousel, alert, date picker, dropdown, time picker, buttons and more.
2. Ionic
Ionic is a powerful front-end framework optimized for AngularJS for developing mobile applications. The framework uses AngularJS directives to support mobile components, tools and gestures made up of HTML5 and CSS3, thus offering rich user interfaces (UIs). Built with SAAS, Ionic offers a free and open-source software development kit (SDK) as well as a library of UI components for designing interactive, hybrid applications for touch devices.
3. Mobile Angular UI
Mobile Angular UI is a user interface (UI) framework for designing HTML5 mobile applications. It is optimized for AngularJS and Bootstrap and supports powerful libraries like fastclick.js and overthrow.js. The framework offers essential mobile components, such as sidebars, overlays, switches, scrollable areas and more. With Mobile Angular UI, you can design a responsive, mobile user-interface as well as convert desktop web applications to mobile applications.
4. LumX
LumX is a fully-responsive front-end framework based on Google material design guidelines and optimized for AngularJS. LumX is built with SAAS, Neat and Bourbon providing customizable application design for smooth functionality and cool features.
5. Supersonic
Supersonic is a robust user interface framework (UI) for developing hybrid mobile applications. The framework integrates with any REST API (Application Programming Interface) and allows data interaction/modification in the backend. With Supersonic, one can design API-connected mobile applications for iOS and Android.
Without any doubt Python is one of the most talked about programming language in this Universe. It’s everywhere, and because of how simple it is to learn it – many beginners start their career with Python. The syntax of Python is very similar to that of English language, with the exception of a few extra characters here and there. In this post you will know about 10 important python modules you should know.
1. NumPy
NumPy provides some advance math functionalities to python. This package is mainly designed to efficiently manipulate large multi-dimensional arrays of arbitrary records without sacrificing too much speed for small multi-dimensional arrays. There are also basic facilities for discrete fourier transform, basic linear algebra and random number generation.
2. SciPy
SciPy is a library of algorithms and mathematical tools for python and has caused many scientists to switch from ruby to python. It is mainly used for scientific computing and technical computing. SciPy contains modules for optimization, linear algebra, integration, interpolation, special functions, signal and image processing, ODE solvers and other tasks common in science and engineering.
3. Pandas
Pandas is a Python package designed to do work with “labeled” and “relational” data simple and intuitive. Pandas is a perfect tool for data wrangling. It designed for quick and easy data manipulation, aggregation, and visualization.
4. matplotlib
matplotlib is a plotting library for the Python programming language and its numerical mathematics extension NumPy. It is a library mainly used for making 2D plots of arrays in Python. It is very useful for any data scientist or any data analyzer.
5. IPython
IPython is a command shell for interactive computing in Python and other programming languages, originally developed for the Python programming language, that offers introspection, rich media, shell syntax, tab completion, and history.
6. PyGame
This is a interesting python module for developers who like to play games and develop them.This library will help you achieve your goal of 2d game development.
7. Twisted
Twisted is an event-driven networking engine written in Python and licensed under the open source MIT license.It is the most important tool for any network application developer. It has a very beautiful api and is used by a lot of famous python developers.
8. PrettyTable
As the name already suggests, prettytable is a table printing library which displays the contents of the table as a pretty formatted table on the console.
9. nose
nose is a testing framework for Python. Their tagline is: “nose extends unit test to make testing easier.” It is used by millions of python developers. It is a must have if you do test driven development.
10. Scrapy
Scrapy is a free and open source web crawling framework, written in Python. Originally designed for web scraping, it can also be used to extract data using APIs or as a general purpose web crawler.
Node.js is one of the more groundbreaking additions to the web development landscape, offering an environment that enables full-stack JavaScript applications for the first time ever. Prior to Node.js, JavaScript was limited to client-side scripting, but Node transformed the script into a cross-over language, capable of writing software that’s portable between the front and back ends.
JavaScript brought its speed and cross-platform compatibility to back-end development, along with its devoted community of JavaScript programmers. In its 2015 developer survey, Stack Overflow found that JavaScript was the most popular programming language—even among back-end developers. This soaring popularity, along with Node’s expansion into an entire development ecosystem, has fueled the creation of numerous Node.js frameworks that both extend and add to Node.js’s existing features.
Let us look at the Node.js framework list representing most powerful and feature rich frameworks available today that help you build real time and scalable web applications with ease.
Express.js
Express.js a lightweight, efficient middleware and routing framework. Express.js is best known as another quarter of the MEAN (MongoDB, Express, AngularJS and Node) stack, and is the most popular Node.js framework. Because Node.js itself wasn’t intended to build websites, the Express framework is able to create an HTTP server in Node, layering in the middleware structure and response/request functions needed to actually run a site. It’s a pretty minimalist framework that’s great for giving developers extra, built-in web application features and the Express API without overriding the already robust, feature-packed Node.js platform. Note that it does require a bit more manual tasks, which can be tedious and time consuming, and has a bit larger footprint than other frameworks.
Socket.io
Socket.io is all about real-time communication and chat apps—the kind of software that hinges on robust event-driven, bidirectional communication between browsers and servers. It’s a websocket-compatible server that’s great at providing collaborative features and real-time analytics, whether they’re in the form of a counter or more in-depth metrics. Socket.io is compatible with every device, operating system, and browser. It’s been used by top tech companies like Trello, Zendesk, Microsoft, and Yammer, as well as Flightcar, a startup that lets people rent out their cars from the airport while they’re traveling.
Hapi.js
Need more enterprise-level functionality? Working with distributed engineering teams? Hapi.js may be the best route for you. Hapi.js was created by developers at Walmart in preparation for Black Friday traffic as an answer to limitations they’d run into with Express—mainly extensibility and maintainability issues. They found that, as the application grew, Express code was more difficult to split into chunks and delegate to different teams. Hapi’s plug-in system enables it to be worked on in sections without breaking the rest of the code base.
Right out of the box, Hapi does a lot more than Express. While there are similarities and differences between the two frameworks, Hapi—which is primarily used for rapidly building and testing application programming interfaces (APIs)—generally enables developers to focus more on writing reusable application logic instead of spending time building infrastructure. It supports API development with an array of plug-ins from authorization and authentication to metrics and logging. It’s been used by heavy-hitters like OpenTable, Macy’s, Condé Nast, and Disney.
Mean.io
Mean.js and Mean.io are frameworks written by the same author with subtle differences. Mean.io was developed first, so it has a bit more documentation and a larger community behind it. It’s based on Node modules, with client- and server-side files in separate modules. Mean.js uses an MVC-style Express/Node back end and an AngularJS-based front end. It also leverages the Grunt tool to enable automated testing.
Mojito
Mojito is an MVC framework based on Yahoo! Cocktails, a JavaScript-based mobile development platform built by developers in house at Yahoo!. Mojito acts like a module that layers very well with other core Node modules, while implementing Cocktails’ on-line/off-line, multi-device, hosted application platform.
Developing a Web-driven application (either mobile or browser-based) typically requires the provisioning of some server-side infrastructure as well as the development of some code to run on it. Such code will often consume APIs. But occasionally, it provide them as well. For many years, the go-to infrastructure in such situations was affectionately referred to as the LAMP stack and it primarily involved Linux, Apache, MySQL and PHP, Perl or Python. But, thanks in part to Javascript’s applicability to both client and server-side scripting, there’s an another stack that’s now widely considered as an alternative to LAMP; the MEAN stack.
What’s LAMP?
Linux, Apache, MySQL and PHP. The holy grail of web development for at least as long as I can remember. This stack represents the foundation of the web.
While its age may be showing, its maturity is strong. The LAMP stack can be altered to replace MySQL with MongoDB, and PHP with Python. The acronym defines a low level configuration for web applications.
What’s MEAN?
MongoDB, ExpressJS, AngularJS and Node.js makes up the MEAN stack. A powerful JavaScript driven stack with diverse capabilities.
Comparatively to LAMP, the database layer is replaced completely with JSON storage using MongoDB. JSON is the native data language of JavaScript. While relatively young, the framework has a growing number of supporters.
This stack is basically a JavaScript lover’s dream.
Now we will look at points , why MEAN is better.
Node.js is superfast
Apache was great, but these days, Node.js is often flat-out faster. A number of benchmarks show that Node.js offers better performance, while doing much more. Perhaps it’s the age of the code. Perhaps the Node.js event-driven architecture is quicker. It doesn’t matter. These days, especially among impatient mobile device users, shaving even milliseconds off your app’s performance is important and Node.js can do that, while offering a Turing-complete mechanism for reprogramming it.
MongoDB is built for the cloud
If your Web app plans include making good on the pennies-per-CPU promise of the cloud, the MEAN stack offers a compelling database layer in MongoDB. This modern database comes equipped with automatic sharding and full cluster support, right out of the box. Plug in MongoDB and it spreads across your cluster of servers to offer failover support and automatic replication. Given the ease with which apps can be developed, tested, and hosted in the cloud, there’s little reason not to consider MongoDB for your next project.
MySQL’s structure is confining (and overrated)
Anyone who has developed or maintained a LAMP-based app for any amount of time knows that MySQL’s strength as a relational database can feel a bit imprisoning at times. Like all relational databases, MySQL forces you to push your data into tables. This isn’t a problem if every single entry fits into exactly the same format, but how often is the world that generous? What if two people share the same address but not the same account? What if you want to have three lines to the address instead of two? Who hasn’t tried to fix a relational database by shoehorning too much data into a single column? Or else you end up adding yet another column, and the table grows unbounded.
MongoDB, on the other hand, offers a document structure that is far more flexible. Want to add a new bit of personal information to your user profiles? Simply add the field to your form, roll it up with the rest of the data in a JSON document, and shove it into your MongoDB collection. This is great for projects in flux and for dealing with data that may ultimately prove tricky to constrain in table form.
Angular is a Plus
It’s not exactly fair to compare the “A” in “MEAN” with anything in the LAMP stack because LAMP doesn’t include an analog. If you want to do anything on the client side, you’re on your own. Sure, there are plenty of good PHP-based frameworks that work with MySQL, but each is a bit different and moving in its own direction. AngularJS has been developed as well as maintained by dedicated Google engineers. This means that there is a huge community out there for you to learn from. Apart from that, there are engineers that can help you tackle any challenges you face on the way. It also means that clients get what they want. Most frameworks require programmers to splitting the app into multiple MVC components. After that, the programmer has to write a code to put them together again. AngularJS, however, strings it together automatically. That saves you time, and reduces the app’s time-to-market.
AngularJS is more intuitive as it makes use of HTML as a declarative language. Moreover, it is less brittle for reorganizing. AngularJS is a comprehensive solution for rapid front-end development. It does not need any other plugins or frameworks. Moreover, there are a range of other features that include Restful actions, data building, dependency injection, enterprise-level testing, etc. AngularJS is unit testing ready, and that is one of its most compelling advantages.
Node.js simplifies the server layer
Navigating the various layers of the LAMP stack can be a difficult dance of many hats, one that has you shuffling through various config files with differing syntax. MEAN simplifies this through use of Node.js.
Want to change how your app routes requests? Sprinkle in some JavaScript and let Node.js do the rest. Want to change the logic used to answer queries? Use JavaScript there as well. If you want to rewrite URLs or construct an odd mapping, it’s also in JavaScript. The MEAN stack’s reliance on Node.js put this kind of pipework all in one place, all in one language, all in one pile of logic. You don’t need to reread the man pages for PHP, Apache, and whatever else you add to the stack. While the LAMP generation has different config files for everything, Node.js avoids that issue altogether. Having everything in one layer means less confusion and less chance of strange bugs created by weird interactions between multiple layers.
JSON everywhere
AngularJS and MongoDB both speak JSON, as do Node.js and Express.js. The data flows neatly among all the layers without rewriting or reformatting. MySQL’s native format for answering queries is, well, all its own. Yes, PHP already has the code to import MySQL data and make it easy to process in PHP, but that doesn’t help the client layer. This may be a bit minor to seasoned LAMP veterans because there are so many well-tested libraries that convert the data easily, but it all seems a bit inefficient and confusing. MEAN uses the same JSON format for data everywhere, which makes it simpler and saves time reformatting as it passes through each layer. Plus, JSON’s ubiquity through the MEAN stack makes working with external APIs that much easier: GET, manipulate, present, POST, and store all with one format.
Its your choice
Of course, if you’re really picky, there’s no reason why you can’t mix it up a bit. Plenty of developers use MongoDB with Apache and PHP, and others prefer to use MySQL with Node.js. AngularJS works quite well with any server, even one running PHP to deliver data from MySQL. You don’t have to be a slave to the acronyms.