• SAPUI5 for dummies part 5: A complete step-by-step exercise

    • Tutorial


    Introduction & Recap


    In the previous blog post, we learned how to create a second level of drill-down (detail of detail) and how to interact with OData and ODataModel (v2) in order to delete a database record.


    What will be covered on this exercise


    With Part 5 of this series of blog posts, we will learn how to create a SimpleForm within a Dialog that will allow us to update the information of a Sales Order Item.


    Before updating the database order we have to check that everything typed by the user validates our constraints.


    • ODataModel: we have already used it to display server-side information about our Business Partner, Sales Order, and Sales Order Items. We’ve also used it to delete a database record. We’re now going to use it to update a record thanks to the submitChanges method or remove what we’ve done with the resetChanges method.
    • Expression Binding: an enhancement of the SAPUI5 binding syntax, which allows for providing expressions instead of custom formatter functions
    • SimpleForm: a layout that allows users to create a pixel-perfect form
    Read more →
  • Vue, Storybook, TypeScript—starting a new project with the best practices in mind

    • Tutorial


    (originally published on Medium)


    I like writing React code. This might be an odd introduction to a story about Vue, but you need to understand my background to understand why I’m here discussing Vue.


    I like writing React code and I hate reading it. JSX is a neat idea for assembling the pieces together fast, Material-UI is amazing solution for bootstrapping your next startup’s UI, computing CSS from JS constants allows you to be very flexible. Yet reading your old JSXs feels awful – even with scrupulous code review practices you might scratch your head not once as you try to figure the intricate nesting of the components.


    I’ve heard many things about Vue—the not so new kid on the block—and I finally decided to get my feet wet; bringing in all my mental luggage of React and Polymer (and Angular, but let’s not talk about that).

    Read more →
    • +16
    • 11.4k
    • 2
  • AdBlock has stolen the banner, but banners are not teeth — they will be back

    More
    Ads
  • The ever-lasting strife of static vs dynamic typing – TypeScript won’t help

    • Translation


    When my friend and I were of school age and aspiring to become software developers, we daydreamed of designing some cool stuff together – like a game or a mega-useful app.

    I chose to learn C++ and C#, he picked JavaScript. We finished school, graduated from our universities, served in the army and started our jobs. We had a pretty busy time in industrial software engineering, with lots of different jobs and positions, and after it all started to wear on us, we recalled where it all had begun.

    Having finally got together as mature developers, we decided to work on our own project – a 2D video game. Since my friend’s domain was front-end and I was a full-stack developer, our immediate choice of development platform was an Internet browser. As I was only used to working with TypeScript when designing front-end, we thought, ok, no problem, after all, TS is just JavaScript at scale. Let’s use it and things will go smoothly. If I only knew how wrong I was! When we started discussing the project, we ran into an extensive chasm of misunderstanding between us.
    Read more →
  • SAPUI5 for dummies part 4: A complete step-by-step exercise

    • Tutorial


    Introduction & Recap


    In the previous blog post, we learned how to move our current application into a Master-Detail app displaying Business Partner as a list (master) and its detail information with Sale Orders inside the detail page (detail).


    What will be covered on this exercise


    With Part 4 of this series of blog posts, we will learn how to create a second drill-down page with information about the Sale Order detail and display a table of Sale Order items.


    The most important part of this exercise is to understand how to Delete (part of the CRUD operations) a Sale Order Item of a Sale Order.


    • ODataModel: we have already used it to display server-side information about our Business Partner, Order Sale. Now we’re going to use it to display Sale Order Item and delete them from the set. For this purpose, we’re going to use the remove method

    This is our main task in this exercise but it’s not the only thing we’ve done in the code. Here’s a list of the things you have to do to get to the final result:


    • Add a new route and target in the manifest.json to navigate to the BusinessPartnerSeleOrderItem page
    • Listen on the Sale Order click event and navigate to the SaleOrder detail (where we will display sale order detail and sale order items)
    • Add a FilterBar to filter the Sale Order Item’s table
    • Add a ViewSettingsDialog to sort/group Sale Order Items
    • Expand the ToProduct navigation property of a SaleOrderItem entity to display Product information into table’s rows
    Read more →
  • Translating Dust templates to JSX



      Hello Habr! I'm Miloš from Badoo, and this is my first Habr post, originally published in our tech blog. Hope you like it, and please share and comment if you have any questions

      So… React, amirite???

      It appeared in the middle of the decade (plagued by the endless JavaScript framework wars), embraced the DOM, shocked everyone by mixing HTML with JavaScript and transformed the web development landscape beyond recognition.

      All those accomplishments, without even being a framework.

      Love it or hate it, React does one job really well, and that is HTML templating. Together with a great community and a healthy ecosystem, it’s not hard to see why it became one of the most popular and influential JavaScript libraries, if not the most popular one of all.
      Read more →
    • SAPUI5 for dummies part 3: A complete step-by-step exercise

      • Tutorial


      Introduction & Recap


      In the previous blog post, we learned how to filter, sort and group our table. This is a fundamental aspect of every CRUD application because most of the time users have to deal with hundreds of hundreds of records.


      What will be covered on this exercise


      With Part 3 of this series of blog posts, we will learn how to create a Master-Detail application leveraging the SplitApp UI control and how correctly configure the app’s manifest to handle routes and targets.


      • SplitApp: UI control that allows you to create a Master-Detail application (used as a replacement of the App control)
      • Routing: we will configure the manifest.json to correctly handle the routing of the application
      • ObjectHeader: control that enables the user to easily identify a specific object. The object header title is the key identifier of the object and additional text and icons can be used to further distinguish it from other objects
      • Navigation to a detail view and bind the element context: you will learn how to navigate and open a detail page and bind the current View (of the detail) to a new context
      • List: in the master page we will use a list to display BusinessPartner because we will have less space
      Читать дальше →
    • SAPUI5 for dummies part 2: A complete step-by-step exercise

      • Tutorial


      Introduction & Recap


      In the previous blog post, we started designing our application rendering a table with some Business Partner. We learned what OData protocol is, how to read an OData XML manifest, how to bind data to a Table and how to customize columns layout based on different screen resolution.


      What will be covered on this exercise


      With Part 2 of this series of blog posts, we will learn how to interact with data in our Tables and List. We will learn how to filter and sort data in a smart way.


      • Create JSONModel to handle local data
      • Set a default sizeLimit to our JSONModel
      • FilterBar: UI control that displays filters in a user-friendly manner to populate values for a query
      • Use XML Fragments to create a View Settings Dialog to handle sort and group data
      • Filter and Sort data
      • Add an Info Toolbar to our table to display useful information
      Read more →
    • [SAP] SAPUI5 for dummies part 1: A complete step-by-step exercise

      • Tutorial


      Introduction & Recap


      In the previous blog post, we have created a new SAPUI5 application on our SAP SCP WebIDE Full stack and we have configured it to use the destination to the SAP Netweaver Gateway Demo ES5.


      What will be covered on this exercise


      • What is an XML Metadata Manifest and what’s inside it?
      • How to use our OData Model and bind it into our application
      • Use a sap.m.Table with items and property binding
      • Use sap.ui.model.type.DateTime to format JavaScript Date
      • How to style columns to act differently on mobile/tablet/desktop devices
      Read more →
    • (in)Finite War

        infitite war


        We have a problem. The problem with testing. The problem with testing React components, and it is quite fundamental. It’s about the difference between unit testing and integration testing. It’s about the difference between what we call unit testing and what we call integration testing, the size and the scope.


        It's not about testing itself, but about Component Architecture. About the difference between testing components, standalone libraries, and final applications.


        Everyone knows how to test simple components(they are simple), probably know how to test Applications(E2E). How to test Finite and Infinite things…

        But... no, nobody knows actually.
      • [SAP] SAPUI5 for dummies: A complete step-by-step exercise

        • Tutorial

        Yesterday I’ve blogged about the content I’m creating for new developers that have arrived at our Techedge office in Lucca.


        Teaching is something I started to love, is the natural consequence of the fact that I love to learn and love to share my knowledge. And I think that it’s important that new students or young developers have some curated content to start with, maybe with also some tip&tricks that senior has learned during their journey.


        The idea behind this exercise is to cover every topic a SAPUI5 developer should know and understand.


        The exercise will be available on my GitHub project openui5-exercise.

        Read more →
      • SAP: What do you need to start learning SAPUI5?

        • Tutorial

        image


        Introduction


        At the start of September 2018, some cool guys also joined our team, they are fresh from University and they are really hungry to learn how to design and develop amazing web apps with SAPUI5.


        That’s why I’ve started to collects internally on the web some links in order to create “The perfect journey to become a SAPUI5 Ninja Developer”.


        I’ve also started to write down some exercise (from easy to hard) in order to test what they’ve learned but I will share those in a second blog post as soon I’ve finished them.


        Presentation


        Hi everyone,
        I'm Emanuele Ricci, a full-stack developer based in Lucca (a beautiful little city in Tuscany, Italy).


        Since the last three years, I work full-time for Techedge Group, a big worldwide consultant company that is a partner with SAP. I usually work in projects related with SAPUI5, SCP, HANA and in my free time, I love to create content around the technology I use at work and in my personal projects outside SAP. Lately, I'm a little bit experimenting with Android after the release of SAP Fiori SDK for Android/iOS.

        Read more →
      • Configure the development environment for learning HTML, CSS, PHP in Windows

        • Tutorial

        Configure the development environment for learning HTML, CSS, PHP in Windows.


        (article is published on linkedin.com (Alexander Panov) )


        web - developer PHPStorm and Vagrant


        Beginning programmers always ask the question, where to start learning about creating websites? Search on the Internet gives a lot of various information, but unfortunately only more confuses novice developers. Having more than 5 years of teaching experience, I have seen many times how students, making breaks in computer games and deciding to become web developers, tried to customize development environments. They began to sort out the programs for layout. They grabbed Sublime Text, Notepad ++, Visual Studio Code, NetBeans or PHPStorm. We tried to install on our local computer WAMP (stands for Windows, Apache, MySQL and PHP) platforms, such as Denver, Xampp, Open Server and many others. But since there is no systematic knowledge in the head of a novice developer, there is no experience of customization, it was rare for some of them to set up a convenient development environment, and whoever got it, understood that it became more difficult to play, since many additional programs, smoothness in the game.


        This article was born because of explaining for many years to each student how to do everything correctly and conveniently.


        Once again I want to say that we will set up a working environment in the Windows system to study the creation of sites in HTML, CSS and their links to PHP. We will call this computer working, so that beginning web developers get used to the idea that their computer is their source of income.


        Begin

        Читать дальше →
      • How to setup front-end project with automated formatting, linting, testing and auto-generated documentation

        • Tutorial


        Original post in Russian


        Keeping your code consistent and well formatted not an easy task even when you work alone. But when you work with a team or with open source project all start getting even harder. Everyone has own code style, someone doesn’t run tests, and no one writes documentation. This article will help you to set up all these things and even more — automate this routine to never do it manually.


        After reading you will get your own npm-ready project with next features:

        Read more →