Here are the essential technologies you should be familiar with to develop a mobile app -
Programming languages - For Android and iOS development you should have strong command in Java, Swift, Objective C and some knowledge of HTML, CSS, C, C++ may be required. For database management, knowledge of SQL or any database language is needed.
Development Tools - Some of the majorly used tools for developing mobile apps are Phonegap, Appcelerator, Telerik. If you want to develop a small app with a few features, you can also use DIY mobile app development tools.
App Design Tools - To design app, you can use the tools like Marvel, Invision, Sketch Paper etc which provide drag and drop facility to ease the designing process. You can also use the pre-made PSD's or sketches to design the UI elements.